




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、黑馬面試題1:定義map集合,并自定義對(duì)象,對(duì)map集合遍歷,打出key和value值2:定義一個(gè)類(lèi)A,類(lèi)中定義一個(gè)show方法,打印一句話,在定義一個(gè)TestA類(lèi),利用反射在TestA中創(chuàng)建A的對(duì)象,并調(diào)用show方法3:使用高效字符緩沖流復(fù)制文件4:把盤(pán)中的一個(gè)多層文件夾拷貝到D盤(pán)中。用高效的方法(要求寫(xiě)思路,注釋?zhuān)a)5:Integer泛型Map中存儲(chǔ)字符串6:開(kāi)啟兩個(gè)線程每隔一段時(shí)間分別向一個(gè)共享數(shù)組中添加元素,每個(gè)線程添加3個(gè)即可。7:如何用反射去創(chuàng)建一個(gè)對(duì)象,有2種方式,盡量用代碼去體現(xiàn)8:編寫(xiě)一個(gè)程序,把這個(gè)目錄里邊的所有的帶.java文件都拷貝到另一個(gè)目錄里邊,拷貝成功以后,
2、把后綴名是.java改成.txt9:創(chuàng)建多線程的方式有幾種?盡量用代碼去體現(xiàn)10:編寫(xiě)程序,生成5個(gè)1至10之間的隨機(jī)整數(shù),存入一個(gè)List集合,編寫(xiě)方法對(duì)List集合進(jìn)行排序(自定義排序算法,禁用Collections.sort方法和TreeSet),然后遍歷集合輸出11:23 9 -4 18 100 7" 要求對(duì)這串?dāng)?shù)字按照從小到大排序,生成一個(gè)數(shù)值有序的字符串。12: 編寫(xiě)一個(gè)類(lèi),增加一個(gè)實(shí)例方法用于打印一條字符串。并使用反射手段創(chuàng)建該類(lèi)的對(duì)象, 并調(diào)用該對(duì)象中的方法。13:編寫(xiě)一個(gè)類(lèi)A,增加一個(gè)實(shí)力方法showString,用于打印一條字符串,在編寫(xiě)一個(gè)類(lèi)TestA ,作為客
3、戶端,用鍵盤(pán)輸入一個(gè)字符串,改字符串就是類(lèi)A的全名,使用反射機(jī)制創(chuàng)建該類(lèi)的對(duì)象,并調(diào)用該對(duì)象中的方法showString14:寫(xiě)一個(gè)線程類(lèi)MyThread,該線程實(shí)現(xiàn)了Runnable接口,寫(xiě)一個(gè)main方法,用for循環(huán)創(chuàng)建5個(gè)線程對(duì)象。需求如下: 利用線程類(lèi)的構(gòu)造函數(shù)輸出:"創(chuàng)建線程4"。(備注:當(dāng)創(chuàng)建一個(gè)線程的時(shí)候,標(biāo)記為1,再次創(chuàng)建一個(gè)線程的時(shí)候,標(biāo)記為2,所以輸出的"創(chuàng)建線程4"就是創(chuàng)建的第四個(gè)線程) 在run方法中輸出:“線程X :計(jì)數(shù)Y”,當(dāng)執(zhí)行次數(shù)達(dá)到6次的時(shí)候,退出。(備注:其中“線程X”為第X個(gè)線程,“計(jì)數(shù)Y”為該線程的run方法執(zhí)行
4、了多少次) 15: 求1000!的結(jié)果中包含多少個(gè)0?注:1000! = 1×2×3×4×5×.×999×100016:判斷101-200之間有多少個(gè)素?cái)?shù),并輸出所有素?cái)?shù)。 程序分析:判斷素?cái)?shù)的方法:用一個(gè)數(shù)分別去除2到sqrt(這個(gè)數(shù)),如果能被整除, 則表明此數(shù)不是素?cái)?shù),反之是素?cái)?shù)。17:遞歸刪除多級(jí)文件18:一道ArrayList集合創(chuàng)建添加元素并刪除abc24:取出一個(gè)字符串中字母出現(xiàn)的次數(shù)。如:字符串:"abcdekka27qoq" ,輸出格式為:a(2)b(1)k(2).19:有類(lèi)似這樣的字符
5、串:“1.2,3.4,5.6,7.8,5.56,44.55”, 請(qǐng)按照要求,依次完成以下試題 以逗號(hào)作為分隔符,把已知的字符串分成一個(gè)String類(lèi)型的數(shù)組, 數(shù)組中的每一個(gè)元素類(lèi)似于“1.2","3.4"這樣的字符串; 把數(shù)組中的每一個(gè)元素以.作為分割,把.號(hào)左邊的元素作為key, 把.號(hào)右邊的元素作為value,封裝到Map中,map中的key和value都是Object類(lèi)型; 把map中的key封裝到Set中,并且把set中的元素輸出; 把map中的value封裝到Collection中,把collection中的元素輸出。-考察知識(shí)篇-2:集合框架的概述、
6、arraylist的特點(diǎn)、map集合的特點(diǎn)、Collection集合下班有哪些類(lèi), 哪些類(lèi)又有哪些特點(diǎn)、HashMap是Hashtable的區(qū)別?Collection: |-List:有序(元素存入集合的順序和取出的順序一致),元素都有索引。元素可以重復(fù)。 |-ArrayList:底層的數(shù)據(jù)結(jié)構(gòu)是數(shù)組,線程不同步,ArrayList替代了Vector,查詢(xún)?cè)氐乃俣确浅?臁?|-LinkedList:底層的數(shù)據(jù)結(jié)構(gòu)是鏈表,線程不同步,增刪元素的速度非???。 |-Vector:底層的數(shù)據(jù)結(jié)構(gòu)就是數(shù)組,線程同步的,Vector無(wú)論查詢(xún)和增刪都巨慢。 |-Set:無(wú)序(存入和取出順序有可能不一致),
7、不可以存儲(chǔ)重復(fù)元素。必須保證元素唯一性。 |-HashSet:底層數(shù)據(jù)結(jié)構(gòu)是哈希表,線程是不同步的。無(wú)序,高效; |-LinkedHashSet:有序,hashset的子類(lèi)。 |-TreeSet:對(duì)Set集合中的元素的進(jìn)行指定順序的排序。不同步。TreeSet底層的數(shù)據(jù)結(jié)構(gòu)就是二叉樹(shù)。HashSet集合保證元素唯一性:通過(guò)元素的hashCode方法,和equals方法完成的。 當(dāng)元素的hashCode值相同時(shí),才繼續(xù)判斷元素的equals是否為true。 如果為true,那么視為相同元素,不存。如果為false,那么存儲(chǔ)。 先hashCode,再equals,從而提高對(duì)象比較的速度。對(duì)于Arr
8、ayList集合,判斷元素是否存在,或者刪元素底層依據(jù)都是equals方法。 對(duì)于HashSet集合,判斷元素是否存在,或者刪除元素,底層依據(jù)的是hashCode方法和equals方法。TreeSet集合排序有兩種方式,Comparable和Comparator區(qū)別: 1:讓元素自身具備比較性,需要元素對(duì)象實(shí)現(xiàn)Comparable接口,覆蓋compareTo方法。 2:讓集合自身具備比較性,需要定義一個(gè)實(shí)現(xiàn)了Comparator接口的比較器,并覆蓋compare方法,并將該類(lèi)對(duì)象作為實(shí)際參數(shù)傳遞給TreeSet集合的構(gòu)造函數(shù)。 第二種方式較為靈活。Map: |-Hashtable:底層是哈希表
9、數(shù)據(jù)結(jié)構(gòu),是線程同步的。不可以存儲(chǔ)null鍵,null值。 |-HashMap:底層是哈希表數(shù)據(jù)結(jié)構(gòu),是線程不同步的??梢源鎯?chǔ)null鍵,null值。替代了Hashtable. |-TreeMap:底層是二叉樹(shù)結(jié)構(gòu),可以對(duì)map集合中的鍵進(jìn)行指定順序的排序。想要獲取map中的所有元素: 原理:map中是沒(méi)有迭代器的,collection具備迭代器,只要將map集合轉(zhuǎn)成Set集合,可以使用迭代器了。之所以轉(zhuǎn)成set,是因?yàn)閙ap集合具備著鍵的唯一性,其實(shí)set集合就來(lái)自于map,set集合底層其實(shí)用的就是map的方法。 把map集合轉(zhuǎn)成set的方法: Set keySet(); Set entr
10、ySet();/取的是鍵和值的映射關(guān)系。 Entry就是Map接口中的內(nèi)部接口; 為什么要定義在map內(nèi)部呢?entry是訪問(wèn)鍵值關(guān)系的入口,是map的入口,訪問(wèn)的是map中的鍵值對(duì)。-3:懶漢模式和餓漢模式的區(qū)別1、線程安全:餓漢式是線程安全的,可直接用于多線程,懶漢式是線程不安全的,用于多線程可能會(huì)被實(shí)例化多次,失去單例的作用。如果要把懶漢式用于多線程,一種是在getInstance方法上加同步,另一種是在使用該單例方法前后加雙鎖。2、資源加載:餓漢式在類(lèi)創(chuàng)建的同時(shí)就實(shí)例化一個(gè)靜態(tài)對(duì)象出來(lái),不管之后會(huì)不會(huì)使用這個(gè)單例,會(huì)占據(jù)一定的內(nèi)存,相應(yīng)的在調(diào)用時(shí)速度也會(huì)更快,而懶漢式顧名思義,會(huì)延遲加
11、載,在第一次使用該單例的時(shí)候才會(huì)實(shí)例化對(duì)象出來(lái),第一次掉用時(shí)要初始化,如果要做的工作比較多,性能上會(huì)有些延遲。-4:進(jìn)程和線程的關(guān)系,線程休眠的方法、Sleep和 wait方法有什么區(qū)別。同步與異步的區(qū)別、為什么wait(),notify(),notifyAll()等方法都定義在Object類(lèi)中、因?yàn)檫@些方法的調(diào)用是依賴(lài)于鎖對(duì)象的,而同步代碼塊的鎖對(duì)象是任意鎖而Object代碼任意的對(duì)象,所以,定義在這里線程的生命周期:新建:創(chuàng)建線程對(duì)象就緒:有執(zhí)行資格,沒(méi)有執(zhí)行權(quán)。運(yùn)行:有執(zhí)行資格,有執(zhí)行權(quán)阻塞:由于一些操作讓線程處于該狀態(tài),沒(méi)有執(zhí)行資格,沒(méi)有執(zhí)行權(quán)而另一些操作卻可以把他激活,激活后處于就緒
12、狀態(tài)死亡:線程對(duì)象變成垃圾,等待回收進(jìn)程:是正在運(yùn)行的程序,是系統(tǒng)進(jìn)行資源分配和調(diào)用的獨(dú)立單位每一個(gè)進(jìn)程都有它自己的內(nèi)存空間和系統(tǒng)資源線程:一個(gè)時(shí)間段執(zhí)行多個(gè)任務(wù)是進(jìn)程中的單個(gè)順序控制流,是一條執(zhí)行路徑一個(gè)進(jìn)程如果執(zhí)行一條執(zhí)行路徑,則稱(chēng)為單線程程序如果執(zhí)行多條執(zhí)行路徑,則稱(chēng)為多線程程序。線程依賴(lài)進(jìn)程存在多線程不是提高程序執(zhí)行速度,而是提高應(yīng)用程序使用率程序的執(zhí)行其實(shí)就是在搶CPU資源,CPU的執(zhí)行權(quán)同步的原理:就是將部分操作功能數(shù)據(jù)的代碼進(jìn)行加鎖。wait和sleep區(qū)別: 分析這兩個(gè)方法:從執(zhí)行權(quán)和鎖上來(lái)分析: wait:可以指定時(shí)間也可以不指定時(shí)間。不指定時(shí)間,只能由對(duì)應(yīng)的notify或n
13、otifyAll來(lái)喚醒。 sleep:必須指定時(shí)間,時(shí)間到自動(dòng)從凍結(jié)狀態(tài)轉(zhuǎn)成運(yùn)行狀態(tài)(臨時(shí)阻塞狀態(tài))。 wait:線程會(huì)釋放執(zhí)行權(quán),而且線程會(huì)釋放鎖。 Sleep:線程會(huì)釋放執(zhí)行權(quán),但不是不釋放鎖。 說(shuō)說(shuō)對(duì)線程池的理解、run和start什么區(qū)別?程序啟動(dòng)一個(gè)新線程成本比較高,因?yàn)樯婕暗揭c操作系統(tǒng)進(jìn)行交互,而使用線程池就可以很好的提高性能,尤其是當(dāng)程序要?jiǎng)?chuàng)建大量生存期很短的線程是,更應(yīng)使用線程池里的每一個(gè)線程代碼結(jié)束后,并不會(huì)死亡,而是再次回到線程池中成為空閑狀態(tài),等待下一個(gè)對(duì)象來(lái)使用-5:匿名內(nèi)部類(lèi)理解匿名內(nèi)部類(lèi)其實(shí)就是一個(gè)匿名子類(lèi)對(duì)象。想要定義匿名內(nèi)部類(lèi):需要前提,內(nèi)部類(lèi)必須繼承一個(gè)類(lèi)或
14、者實(shí)現(xiàn)接口。 匿名內(nèi)部類(lèi)的使用場(chǎng)景: 當(dāng)函數(shù)的參數(shù)是接口類(lèi)型引用時(shí),如果接口中的方法不超過(guò)3個(gè)??梢酝ㄟ^(guò)匿名內(nèi)部類(lèi)來(lái)完成參數(shù)的傳遞。 其實(shí)就是在創(chuàng)建匿名內(nèi)部類(lèi)時(shí),該類(lèi)中的封裝的方法不要過(guò)多,最好兩個(gè)或者兩個(gè)以?xún)?nèi)。-6:抽象類(lèi)的理解1:抽象方法只能定義在抽象類(lèi)中,抽象類(lèi)和抽象方法必須由abstract關(guān)鍵字修飾(可以描述類(lèi)和方法,不可以描述變量)。 2:抽象方法只定義方法聲明,并不定義方法實(shí)現(xiàn)。 3:抽象類(lèi)不可以被創(chuàng)建對(duì)象(實(shí)例化)。 4:只有通過(guò)子類(lèi)繼承抽象類(lèi)并覆蓋了抽象類(lèi)中的所有抽象方法后, 該子類(lèi)才可以實(shí)例化。否則,該子類(lèi)還是一個(gè)抽象類(lèi)。 5: 抽象類(lèi)只能單繼承。 -7:面向?qū)ο蠛兔嫦蜻^(guò)程
15、的區(qū)別,面向?qū)ο蟮娜齻€(gè)特征: 封裝,繼承,多態(tài)封裝:是指隱藏對(duì)象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅對(duì)外提供公共訪問(wèn)方式。將變化隔離;便于使用;提高重用性;安全性。封裝原則:將不需要對(duì)外提供的內(nèi)容都隱藏起來(lái),把屬性都隱藏,提供公共方法對(duì)其訪問(wèn)。 繼承:提高了代碼的復(fù)用性,讓類(lèi)與類(lèi)之間產(chǎn)生了關(guān)系,提供了另一個(gè)特征多態(tài)的前提。多 態(tài):函數(shù)本身就具備多態(tài)性,某一種事物有不同的具體的體現(xiàn)。 父類(lèi)引用或者接口的引用指向了自己的子類(lèi)對(duì)象。/Animal a = new Cat(); 多態(tài)的好處:提高了程序的擴(kuò)展性。 多態(tài)的弊端:當(dāng)父類(lèi)引用指向子類(lèi)對(duì)象時(shí),雖然提高了擴(kuò)展性,但是只能訪問(wèn)父類(lèi)中具備的方法,不可以訪問(wèn)子類(lèi)中特有
16、的方法。(前期不能使用后期產(chǎn)生的功能,即訪問(wèn)的局限性) 多態(tài)的前提: 1:必須要有關(guān)系,比如繼承、或者實(shí)現(xiàn)。 2:通常會(huì)有覆蓋操作。 -8:try.catch.finallytry后面+可能出現(xiàn)問(wèn)題的代碼(里面代碼越少越好)可以一個(gè)try多個(gè)catch一旦try中出現(xiàn)問(wèn)題,會(huì)拋出問(wèn)題catch+捕獲異常名+異常處理(簡(jiǎn)單提示),然后結(jié)束try繼續(xù)執(zhí)行后面的語(yǔ)句在J7新特性中可以單個(gè)catch代碼塊捕獲多個(gè)異常(1,處理方式單一,符合開(kāi)發(fā)要求2,多個(gè)異常必須平級(jí)關(guān)系)平級(jí)按先后順序,父類(lèi)的異常要放到下面finally+設(shè)置代碼一定會(huì)運(yùn)行的代碼RuntimeException及其子類(lèi),是運(yùn)行時(shí)異常
17、。-9:對(duì)反射暴力反射的理解、反射的理解和應(yīng)用、獲取字節(jié)碼的三種方式,以及主要用在什么什么地方、用反射創(chuàng)建對(duì)象的兩種方法?反射技術(shù):其實(shí)就是動(dòng)態(tài)加載一個(gè)指定的類(lèi),并獲取該類(lèi)中的所有的內(nèi)容。而且將字節(jié)碼文件封裝成對(duì)象,并將字節(jié)碼文件中的內(nèi)容都封裝成對(duì)象,這樣便于操作這些成員。簡(jiǎn)單說(shuō):反射技術(shù)可以對(duì)一個(gè)類(lèi)進(jìn)行解剖。 反射的好處:大大的增強(qiáng)了程序的擴(kuò)展性。獲取這個(gè)Class對(duì)象,有三種方式: 1:通過(guò)每個(gè)對(duì)象都具備的方法getClass來(lái)獲取。弊端:必須要?jiǎng)?chuàng)建該類(lèi)對(duì)象,才可以調(diào)用getClass方法。 2:每一個(gè)數(shù)據(jù)類(lèi)型(基本數(shù)據(jù)類(lèi)型和引用數(shù)據(jù)類(lèi)型)都有一個(gè)靜態(tài)的屬性class。弊端:必須要先明確該
18、類(lèi)。 前兩種方式不利于程序的擴(kuò)展,因?yàn)槎夹枰诔绦蚴褂镁唧w的類(lèi)來(lái)完成。 3:使用的Class類(lèi)中的方法,靜態(tài)的forName方法。 指定什么類(lèi)名,就獲取什么類(lèi)字節(jié)碼文件對(duì)象,這種方式的擴(kuò)展性最強(qiáng),只要將類(lèi)名的字符串傳入即可。 創(chuàng)建對(duì)象的兩種方式(其實(shí)就是對(duì)象在進(jìn)行實(shí)例化時(shí)的初始化方式): 1,調(diào)用空參數(shù)的構(gòu)造函數(shù):使用了Class類(lèi)中的newInstance()方法。 2,調(diào)用帶參數(shù)的構(gòu)造函數(shù):先要獲取指定參數(shù)列表的構(gòu)造函數(shù)對(duì)象,然后通過(guò)該構(gòu)造函數(shù)的對(duì)象的newInstance(實(shí)際參數(shù)) 進(jìn)行對(duì)象的初始化。 / 私有方法不能直接訪問(wèn),因?yàn)闄?quán)限不夠。非要訪問(wèn),可以通過(guò)暴力的方式。 method
19、.setAccessible(true);/一般很少用,因?yàn)樗接芯褪请[藏起來(lái),所以盡量不要訪問(wèn)。 -10:什么是數(shù)組、數(shù)組和集合的區(qū)別、Collection 和 collections的區(qū)別、List和Set有什么區(qū)別、TreeSet怎樣保證元素的唯一性、迭代器的特點(diǎn)。Collection 和 Collections的區(qū)別: Collections是個(gè)java.util下的類(lèi),是針對(duì)集合類(lèi)的一個(gè)工具類(lèi),提供一系列靜態(tài)方法,實(shí)現(xiàn)對(duì)集合的查找、排序、替換、線程安全化(將非同步的集合轉(zhuǎn)換成同步的)等操作。 Collection是個(gè)java.util下的接口,它是各種集合結(jié)構(gòu)的父接口,繼承于它的接口主
20、要有Set和List,提供了關(guān)于集合的一些操作,如插入、刪除、判斷一個(gè)元素是否其成員、遍歷等。 -11:面向?qū)ο缶幊趟枷?12:訪問(wèn)控制符公開(kāi):public 同類(lèi) 同包 子類(lèi) 不同包 所以人都可訪問(wèn)默認(rèn):defualt 只向同包同類(lèi)放開(kāi) 同一個(gè)包中都能訪問(wèn)私有:private 只有當(dāng)前類(lèi)可以訪問(wèn)保護(hù):protected 同包都能訪問(wèn),不同包的子類(lèi)可以訪問(wèn)-13:接口能繼承類(lèi)嗎?接口和抽象類(lèi)、說(shuō)說(shuō)接口和抽象類(lèi)的特征和區(qū)別成員區(qū)別:抽象類(lèi) 可以有變量,常量,有抽象方法和非抽象方法接口:只能是常量,和抽象方法關(guān)系的區(qū)別:類(lèi)與類(lèi):?jiǎn)卫^承,可以多層繼承類(lèi)與接口:?jiǎn)螌?shí)現(xiàn)或者多實(shí)現(xiàn)接口與接口:繼承關(guān)系,可以
21、多繼承設(shè)計(jì)理念的區(qū)別:抽象類(lèi)被繼承體現(xiàn)的是"is a "的關(guān)系,是共性關(guān)系接口被實(shí)現(xiàn)體現(xiàn)的是“l(fā)ike a”的關(guān)系,擴(kuò)展功能-14:介紹一下io、IO流的體系和理解、如何使用字節(jié)流的?什么時(shí)候會(huì)用到轉(zhuǎn)換流呢?IO流的flush和close方法的作用和區(qū)別、請(qǐng)說(shuō)明字符流和字節(jié)流的區(qū)別在哪兒?readLine實(shí)現(xiàn)的機(jī)制是什么? bufw.flush();/僅對(duì)緩沖區(qū)進(jìn)行刷新,可以讓數(shù)據(jù)到目的地中。刷新之后流對(duì)象還可以繼續(xù)使用。bufw.close();/關(guān)閉流對(duì)象,但是先刷新一次緩沖區(qū),關(guān)閉之后流對(duì)象不能再使用1.讓流變成垃圾這樣就可以被系統(tǒng)回收2.通知系統(tǒng)去釋放該文件相關(guān)的資
22、源flush()是刷新流,把流中數(shù)據(jù)存進(jìn)目標(biāo),close()是關(guān)閉流資源 /readLine底層原理還是read方法,先讀取字符將字符存入一個(gè)字符數(shù)組,讀取到換行標(biāo)志:換行“n”,回車(chē)“r”或者回車(chē)后直接換行,就將字符數(shù)組轉(zhuǎn)成字符串返回包含改行內(nèi)容的字符串,不包含任何終止符,如果已達(dá)到末尾,返回null字符流=字節(jié)流+編碼表-17:線程通信的理解、線程的狀態(tài)、為什么會(huì)有多線程的安全問(wèn)題、多線程安全問(wèn)題的解決辦法、創(chuàng)建線程有幾種方式,那種方式比較好,為什么、同步的前提、說(shuō)說(shuō)你對(duì)死鎖的理解同步的前提:必須是多線程。操作一個(gè)共享數(shù)據(jù),該數(shù)據(jù)被多條語(yǔ)句操作同步:效率低,如果出現(xiàn)嵌套同步,就容易產(chǎn)生死鎖
23、死鎖:指?jìng)z個(gè)或者以上的線程在執(zhí)行過(guò)程中,因?yàn)闋?zhēng)奪資源產(chǎn)生的一種互相等待現(xiàn)象run:僅僅是封裝了被線程執(zhí)行的代碼,直接調(diào)用的普通方法,start:首先啟動(dòng)了線程,然后由jvm去調(diào)用該線程的run()方法線程狀態(tài): 新建:start() 運(yùn)行:具備執(zhí)行資格,同時(shí)具備執(zhí)行權(quán); 凍結(jié):sleep(time),wait()notify()喚醒;線程釋放了執(zhí)行權(quán),同時(shí)釋放執(zhí)行資格; 臨時(shí)阻塞狀態(tài):線程具備cpu的執(zhí)行資格,沒(méi)有cpu的執(zhí)行權(quán); 消亡:stop() 創(chuàng)建線程的第一種方式:繼承Thread ,由子類(lèi)復(fù)寫(xiě)run方法。第二種方式:實(shí)現(xiàn)一個(gè)接口Runnable 步驟: 1,定義類(lèi)實(shí)現(xiàn)Runnable
24、接口。 2,覆蓋接口中的run方法(用于封裝線程要運(yùn)行的代碼)。 3,通過(guò)Thread類(lèi)創(chuàng)建線程對(duì)象; 4,將實(shí)現(xiàn)了Runnable接口的子類(lèi)對(duì)象作為實(shí)際參數(shù)傳遞給Thread類(lèi)中的構(gòu)造函數(shù)。 為什么要傳遞呢?因?yàn)橐尵€程對(duì)象明確要運(yùn)行的run方法所屬的對(duì)象。 5,調(diào)用Thread對(duì)象的start方法。開(kāi)啟線程,并運(yùn)行Runnable接口子類(lèi)中的run方法。 Ticket t = new Ticket(); 實(shí)現(xiàn)接口的好處:避免了java單繼承帶來(lái)的局限性,適合多個(gè)相同的代碼去處理同一個(gè)資源,把線程和程序代碼,數(shù)據(jù)有效分離,較好的體現(xiàn)了面向?qū)ο蟮脑O(shè)計(jì)思想。安全問(wèn)題產(chǎn)生原因:多個(gè)線程操作一個(gè)擁有
25、多條語(yǔ)句的共享數(shù)據(jù),產(chǎn)生數(shù)據(jù)混亂解決:加上同步 -18:StringBuffer和StringBuilder的區(qū)別StringBuilder和String對(duì)象都可以很方便的處理字符串,他們具備各自的特點(diǎn),如下:String具有以下五個(gè)特點(diǎn):1.String是引用類(lèi)型,在堆上分配內(nèi)存。2.String對(duì)象一旦生成,就不可改變(Immutable)。3.String提供了大量便捷的字符串操作函數(shù)。4.String運(yùn)算時(shí)會(huì)產(chǎn)生一個(gè)新的實(shí)例。5.在程序中定義相等運(yùn)算符(=)和(!=),可以方便比較String對(duì)象的值(而不是引用)。StringBuilder具有以下兩個(gè)特點(diǎn):StringBuilder
26、對(duì)象是動(dòng)態(tài)對(duì)象,允許擴(kuò)充它所封裝的字符串中的字符數(shù)量。StringBuilder可以用于修改StringBuilder中的內(nèi)容。由于String對(duì)象一旦聲稱(chēng),就不可改變,所以每次使用System.String類(lèi)中的方法時(shí),都需要在內(nèi)存中創(chuàng)建一個(gè)新的字符串對(duì)象,這會(huì)分配新的空間給新的對(duì)象。如果對(duì)字符串執(zhí)行重復(fù)修改,創(chuàng)建一個(gè)新的String對(duì)象導(dǎo)致 的系統(tǒng)開(kāi)銷(xiāo)可能會(huì)非常昂貴。如果不創(chuàng)建新的對(duì)象,只是修改字符竄,則可以使用StringBuilder類(lèi)。StringBuilder類(lèi)型可以很好的解決字符串操作的性能問(wèn)題,在它聲稱(chēng)String對(duì)象之前,將不會(huì)產(chǎn)生任何String對(duì)象。StringBuffe
27、r是同步的,線程安全的StringBuilder是不同步的,線程非安全的,執(zhí)行速度快-20:If 和 switch有什么區(qū)別,以及在什么時(shí)候使用Switch if:能判斷具體的值,區(qū)間和boolean類(lèi)型表達(dá)式,switch:只能對(duì)具體的值進(jìn)行判斷,值的個(gè)數(shù)是確定的,byte,short,int,char。if判斷是遍歷性的,代碼執(zhí)行效率是不高的。而switch.case會(huì)生成一個(gè)跳轉(zhuǎn)表來(lái)指示實(shí)際的case分支的地址,而這個(gè)跳轉(zhuǎn)表的索引號(hào)與switch變量的值是相等的。在確切知道條件結(jié)果,并且結(jié)果有限下的條件下可以使用switch,如枚舉在不能確切表示結(jié)果的情況下,或者處理復(fù)雜的邏輯關(guān)系最好用
28、if.else,在使用switch時(shí)候一定要注意break的使用。switch語(yǔ)句特點(diǎn): 1、switch語(yǔ)句選擇的類(lèi)型只有四種:byte,short,int,char。 2、case與default沒(méi)有順序。先執(zhí)行第一個(gè)case,沒(méi)有匹配的case執(zhí)行default。 3、結(jié)束switch語(yǔ)句的兩種情況:遇到break,執(zhí)行到switch語(yǔ)句結(jié)束。 4、如果匹配的case或者default沒(méi)有對(duì)應(yīng)的break,那么程序會(huì)繼續(xù)向下執(zhí)行,運(yùn)行可以執(zhí)行的語(yǔ)句,直到遇到break或者switch結(jié)尾結(jié)束。 5、進(jìn)入switch語(yǔ)句后,執(zhí)行順序是先執(zhí)行case,然后從上到下,最后再執(zhí)行default。
29、即使default放在case上面,執(zhí)行順序也不變。-21:內(nèi)省的作用InstroSpector->JavaBean->特殊的Java類(lèi)內(nèi)省(Introspector)是Java 語(yǔ)言對(duì)Bean類(lèi)屬性、事件的一種缺省處理方法。例如類(lèi) A 中有屬性 name, 那我們可以通過(guò) getName,setName 來(lái)得到其值或者設(shè)置新的值。通過(guò) getName/setName 來(lái)訪問(wèn) name 屬性,這就是默認(rèn)的規(guī)則。-22:講一講異常體系以及異常的處理原則。異常和錯(cuò)誤的不同?final、finally、finanlize()的區(qū)別、編程中遇到過(guò)異常嗎,都遇到了哪些異常,請(qǐng)你簡(jiǎn)述一下你遇到
30、的異常以及解決方案。throw和throws的區(qū)別throwable類(lèi)中主要有Exception和error兩大子類(lèi),erro是不可處理的嚴(yán)重異常Exception中RuntimeException是運(yùn)行異常,如角標(biāo)越界,空指針異常是代碼出問(wèn)題必須進(jìn)行處理,否則運(yùn)行出錯(cuò)另一類(lèi)是編譯異常,編譯時(shí)eclipse會(huì)提醒捕獲或者拋出final是修飾符,被final聲明的變量是常量,不能修改只能讀取,修飾方法不能被繼承finally異常處理時(shí)提供 finally 塊來(lái)執(zhí)行任何清除操作,如果拋出一個(gè)異常,那么相匹配的 catch 子句就會(huì)執(zhí)行,然后控制就會(huì)進(jìn)入 finally 塊(一定會(huì)執(zhí)行的語(yǔ)句)。 f
31、inalize是方法名,finalize() 方法在垃圾收集器將對(duì)象從內(nèi)存中清除出去之前做必要的清理工作在Object中定義,子類(lèi)覆蓋他可以整理系統(tǒng)資源和其他清理工作。finalize() 方法是在垃圾收集器刪除對(duì)象之前對(duì)這個(gè)對(duì)象調(diào)用的。throw和throws的區(qū)別:throws針對(duì)那些沒(méi)有權(quán)限處理的異常進(jìn)行拋出,在方法和類(lèi)上拋出的是異常類(lèi)名,可拋多個(gè)throw 是在方法內(nèi)拋出的異常對(duì)象-23:readLine 是字節(jié)流的方法嗎?readLine方法是字符流BufferedReader類(lèi)中的方法read方法是字節(jié)流InputStream的方法。-24:說(shuō)一下拷貝一個(gè)MP3從C盤(pán)到D盤(pán)的思路-
32、25:什么情況下要用flush();flush刷新就是把緩沖區(qū)字符全部寫(xiě)入到目的地中去,write和bufferedwritewrite只是將數(shù)據(jù)輸出到緩沖區(qū),還沒(méi)有輸出到目的地。對(duì)于循環(huán)多次字符輸出流需要刷新。因?yàn)閏lose()就是關(guān)閉流之前刷新流。只有write和bufferedwrite需要, 因?yàn)椴僮鞯奈募笥?k,需要循環(huán)幾次才能寫(xiě)入完畢,所以需要每次循環(huán)最后刷新一下。當(dāng)循環(huán)一次就足夠時(shí),只在最后需要close(),關(guān)閉留并且刷新。-26:成員變量局部變量以及靜態(tài)變量的區(qū)別?成員變量是作用于整個(gè)類(lèi)的,成員變量有默認(rèn)初始化值,只能被對(duì)象調(diào)用對(duì)象的建立而建立,存在于對(duì)象所在的堆內(nèi)存中,隨
33、著對(duì)象的消失而消失局部變量只定義在局部范圍內(nèi),如:函數(shù)內(nèi),語(yǔ)句內(nèi)等,只在所屬的區(qū)域有效,存在與棧內(nèi)存中,作用的范圍結(jié)束,變量空間會(huì)自動(dòng)釋放局部變量沒(méi)有默認(rèn)初始化值,先定義,賦值后才能被使用在使用變量時(shí)需要遵循的原則為:就近原則 首先在局部范圍找,有就使用;接著在成員位置找靜態(tài)變量 靜態(tài)變量隨著類(lèi)的加載而存在,隨著類(lèi)的消失而消失,存儲(chǔ)在方法區(qū)(共享數(shù)據(jù)區(qū))的靜態(tài)區(qū),所以也叫對(duì)象的共享數(shù)據(jù)??梢员粚?duì)象調(diào)用,還可以被類(lèi)名調(diào)用。成員變量也稱(chēng)為實(shí)例變量。 靜態(tài)變量也稱(chēng)為類(lèi)變量。-27:裝飾設(shè)計(jì)模式和繼承有什么區(qū)別?什么是裝飾設(shè)計(jì)模式:當(dāng)想要對(duì)已有的對(duì)象進(jìn)行功能增強(qiáng)時(shí),可以定義類(lèi),將已有對(duì)象傳入,基于已有
34、的功能,并提供加強(qiáng)功能。那么自定義的該類(lèi)稱(chēng)為裝飾類(lèi)。裝飾類(lèi)通常會(huì)通過(guò)構(gòu)造方法接收被裝飾的對(duì)象。并基于被裝飾的對(duì)象的功能,提供更強(qiáng)的功能。/窮的時(shí)候吃飯簡(jiǎn)簡(jiǎn)單單的吃飯 class Personpublic void chiFan()System.out.println("吃飯");/富裕后吃飯 吃飯前來(lái)杯酒吃飯后來(lái)根煙 但是這中間的過(guò)程還是有吃飯class SuperPersonprivate Person p;public SuperPerson(Person p)this.p=p;public void superChiFan()/吃飯前來(lái)杯開(kāi)胃酒增加食量System.o
35、ut.println("開(kāi)胃酒");p.chiFan();/吃完飯后來(lái)根煙System.out.println("來(lái)根煙");public class PersonDemopublic static void main(String args)Person p=new Person();SuperPerson sp= new SuperPerson(p);sp.superChiFan();裝飾是構(gòu)造函數(shù)參數(shù)傳遞進(jìn)行增強(qiáng)如果為了某個(gè)功能而產(chǎn)生子類(lèi)(繼承)那么那個(gè)體系是非常臃腫的裝飾模式比繼承要靈活。避免了繼承體系臃腫。而且降低了類(lèi)于類(lèi)之間的關(guān)系。裝飾類(lèi)因?yàn)?/p>
36、增強(qiáng)已有對(duì)象,具備的功能和已有的是相同的,只不過(guò)提供了更強(qiáng)功能。所以裝飾類(lèi)和被裝飾類(lèi)通常是都屬于一個(gè)體系中的。-28:代理是什么?動(dòng)態(tài)代理的介紹。如何創(chuàng)建動(dòng)態(tài)代理?你對(duì)動(dòng)態(tài)代理和靜態(tài)代理的理解? 動(dòng)態(tài)代理:本來(lái)應(yīng)該自己做的事情,卻請(qǐng)了別人來(lái)做,被請(qǐng)的人就是代理對(duì)象。動(dòng)態(tài)代理:在程序運(yùn)行的過(guò)程中產(chǎn)生這個(gè)對(duì)象。*:而程序運(yùn)行過(guò)程中產(chǎn)生對(duì)象其實(shí)就是反射,所以動(dòng)態(tài)代理其實(shí)就是通過(guò)反射生成一個(gè)代理Proxy類(lèi)中有一個(gè)方法可以創(chuàng)建動(dòng)態(tài)代理對(duì)象,newProxyInstance(ClassLoader loader, Class<?> interfaces, InvocationHandler
37、h) 返回一個(gè)指定接口的代理類(lèi)實(shí)例,該接口可以將方法調(diào)用指派到指定的調(diào)用處理程序。定義一個(gè)MyInvocationHandler實(shí)現(xiàn)InvocationHandler接口 靜態(tài)代理通常只代理一個(gè)類(lèi),動(dòng)態(tài)代理是代理一個(gè)接口下的多個(gè)實(shí)現(xiàn)類(lèi)。 靜態(tài)代理事先知道要代理的是什么,而動(dòng)態(tài)代理不知道要代理什么東西,只有在運(yùn)行時(shí)才知道。 動(dòng)態(tài)代理是實(shí)現(xiàn)JDK里的InvocationHandler接口的invoke方法,但注意的是代理的是接口,也就是你的業(yè)務(wù)類(lèi)必須要實(shí)現(xiàn)接口,通過(guò)Proxy里的newProxyInstance得到代理對(duì)象。 還有一種動(dòng)態(tài)代理CGLIB,代理的是類(lèi),不需要業(yè)務(wù)類(lèi)繼承接口,通過(guò)派生的
38、子類(lèi)來(lái)實(shí)現(xiàn)代理。通過(guò)在運(yùn)行時(shí),動(dòng)態(tài)修改字節(jié)碼達(dá)到修改類(lèi)的目的。-30:類(lèi)加載器的使用、三大類(lèi)加載器、委托機(jī)制的理解、動(dòng)態(tài)代理反射有什么關(guān)系、加載器和反射什么關(guān)系類(lèi)加載器:負(fù)責(zé)將.class文件加載到內(nèi)存中,并為之生成對(duì)應(yīng)的Class對(duì)象類(lèi)加載器的組成:Bootstrap ClassLoader 根類(lèi)加載器也稱(chēng)為引導(dǎo)類(lèi)加載器,負(fù)責(zé)Java核心類(lèi)的加載,比如System,String等,在JDK中JRE的lib目錄下rt.jar文件Extension ClassLoader 擴(kuò)展類(lèi)加載器負(fù)責(zé)JRE的擴(kuò)展目錄下中jar包的加載在JDK中JRE的lib目錄下ext目錄System ClassLoade
39、r 系統(tǒng)類(lèi)加載器負(fù)責(zé)在JVM啟動(dòng)時(shí)加載來(lái)自java命令的class文件,以及classpath環(huán)境變量所指定的jar包和類(lèi)路徑。反射:Java反射機(jī)制是在運(yùn)行狀態(tài)中,對(duì)于任意一個(gè)類(lèi),都能知道這個(gè)類(lèi)的所以屬性和方法:對(duì)于一個(gè)對(duì)象都能調(diào)用他的任意屬性和方法,這種動(dòng)態(tài)獲取信息以及動(dòng)態(tài)調(diào)用對(duì)象的方法的功能成為java語(yǔ)言的反射機(jī)智。-32:銀行系統(tǒng)哪里用到了單例,問(wèn)銀行卡上有賬號(hào)是不是單例-33:在枚舉種,可以使用抽象方法么?枚舉能繼承類(lèi)嗎?說(shuō)說(shuō)枚舉和單利設(shè)計(jì)模式的區(qū)別、枚舉是否可以繼承類(lèi)單例模式中是一個(gè)類(lèi)只有一個(gè)實(shí)例,枚舉是一個(gè)類(lèi)有多個(gè)實(shí)例,但不是無(wú)限個(gè),而是有限個(gè)實(shí)例可以使用抽象方法,要定義為抽象
40、類(lèi),在創(chuàng)建實(shí)例時(shí)加入匿名內(nèi)部類(lèi),不能,通過(guò)JDK5提供的枚舉來(lái)做枚舉lei,所有枚舉類(lèi)都是Enum的子類(lèi)可以實(shí)現(xiàn)接口,但不能繼承類(lèi),因?yàn)樗忻杜e類(lèi)都繼承自java.lang.Enum(由編譯器添加),同時(shí)java不支持多繼承。枚舉類(lèi)的第一行上必須是枚舉項(xiàng),最后一行枚舉項(xiàng)后面的分號(hào) 可以省略的,但是如果枚舉類(lèi)有其他東西,這個(gè)分號(hào)就不能勝率。建議不要省略。枚舉類(lèi)可以有構(gòu)造器,但必須是private的,它默認(rèn)的也是private的。枚舉類(lèi)也可以有構(gòu)造方法,但是枚舉項(xiàng)必須重寫(xiě)該方法.-34:你還知道其他的設(shè)計(jì)模式么?分別介紹一下 -35:java的特點(diǎn)是什么? Java語(yǔ)言特點(diǎn):1.可以跨平臺(tái)上運(yùn)行,
41、只要這個(gè)平臺(tái)有JAVA虛擬機(jī)。2.面向?qū)ο缶幊堂嫦驅(qū)ο缶幊痰暮锰幘褪悄軌蛟谡Z(yǔ)言級(jí)別模擬現(xiàn)實(shí)世界的場(chǎng)景,簡(jiǎn)化開(kāi)發(fā)。3.簡(jiǎn)單易用、安全可靠、使用率排第一4.java語(yǔ)言在一定程度上能夠稱(chēng)為動(dòng)態(tài)語(yǔ)言,由于反射機(jī)制,讓java能夠在運(yùn)行時(shí)再獲取相應(yīng)類(lèi)型信息,大大減少開(kāi)發(fā)的代碼量的同時(shí)。-37:staitc代碼塊、構(gòu)造代碼塊、構(gòu)造函數(shù)的作用與執(zhí)行順序(還問(wèn)了static代碼塊的使用與作用)、構(gòu)造函數(shù)與一般函數(shù)的區(qū)別,靜態(tài)代碼塊特點(diǎn)-38:為什么內(nèi)部類(lèi)在局部位置上只能訪問(wèn)局部中被final修飾的局部變量局部變量必需被final修飾,即聲明為最終類(lèi)型。因?yàn)閮?nèi)部類(lèi)的生命周期要比局部變量的時(shí)間長(zhǎng),局部變量時(shí)在棧
42、里面,隨著方法調(diào)用完畢而消失,內(nèi)部類(lèi)存儲(chǔ)在堆內(nèi)存中,只有當(dāng)對(duì)該類(lèi)的引用消失時(shí),內(nèi)部類(lèi)才會(huì)被系統(tǒng)垃圾處理器回收,也就是說(shuō)內(nèi)部類(lèi)可能會(huì)調(diào)用到已經(jīng)消失的屬性,因此內(nèi)部類(lèi)不能訪問(wèn)方法中的局部變量。為了讓數(shù)據(jù)能繼續(xù)使用,就用final修飾,此時(shí)局部變量常駐在內(nèi)存中直到 JVM退出,便能被內(nèi)部類(lèi)訪問(wèn)。-39:重載與重寫(xiě)區(qū)別方法重寫(xiě):在子類(lèi)中,出現(xiàn)和父類(lèi)一模一樣的方法聲明的現(xiàn)象方法重載:同一個(gè)類(lèi)中,出現(xiàn)方法名相同,參數(shù)列表不同的現(xiàn)象方法重載能改變返回值類(lèi)型,因?yàn)樗头祷刂殿?lèi)型無(wú)關(guān)Override:方法重載Overrload:方法重寫(xiě)-40:|、&與|、&&的區(qū)別-41:接口能繼承類(lèi)嗎
43、?能-43:int和Integer的不同;一個(gè)是基本數(shù)據(jù)類(lèi)型一個(gè)是引用數(shù)據(jù)類(lèi)型Integer i5 = 127;/java在編譯的時(shí)候,被翻譯成-> Integer i5 = Integer.valueOf(127);兩個(gè)都是非new出來(lái)的Integer,如果數(shù)在-128到127之間,則是true,否則為falsejava在編譯Integer i2 = 128的時(shí)候,被翻譯成-> Integer i2 = Integer.valueOf(128);而valueOf()函數(shù)會(huì)對(duì)-128到127之間的數(shù)進(jìn)行緩存int 是基本數(shù)據(jù)類(lèi)型Integer是其包裝類(lèi)-44:同步代碼塊和同步修飾符
44、有什么不同同步代碼快是要被同步的代碼同步修飾符是放在函數(shù)名或者方法上的synchronized 修飾的方法表示同一時(shí)間只能有一個(gè)線程進(jìn)入到這個(gè)方法的方法塊里面其他的線程需要等待直到占用的那個(gè)線程離開(kāi)這個(gè)方法-45:函數(shù)特點(diǎn)類(lèi)名首字母大寫(xiě),具有封裝性,復(fù)用性,提高安全性,可以簡(jiǎn)化代碼-46:數(shù)組排序有幾種-48:存儲(chǔ)了一個(gè)相同的鍵,大家都知道常用的map是不能存儲(chǔ)相同的鍵,我是想繼承hashMap改寫(xiě)put的方法,無(wú)奈功底不夠,最后是找到了map中的子類(lèi) IdentityHashMap<K,V>可以存儲(chǔ)相同鍵。-49:名詞提煉法恰是就是提取對(duì)象的共性?xún)?nèi)容,描述就是對(duì)具體對(duì)象的抽象-52:什么時(shí)候定義靜態(tài)變量呢需要共享數(shù)據(jù)的時(shí)候-54:JDK1.5的新特性有哪些增強(qiáng)for循環(huán): 高級(jí)for循環(huán)和傳統(tǒng)for循環(huán)的區(qū)別: 高級(jí)for循環(huán)在使用時(shí),必須要明確被遍歷的目標(biāo)。這個(gè)目標(biāo),可以是Collection集合或者數(shù)組,如果遍歷Collection集合,在遍歷過(guò)程中還需要對(duì)元素進(jìn)行
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小水電站試題及答案
- 2024年檔案管理員考試輔導(dǎo)資料試題及答案
- 系統(tǒng)分析師考試先進(jìn)技術(shù)應(yīng)用試題及答案
- Unit 7 Will people have robots Section B 1a-1e-教學(xué)設(shè)計(jì) (1) 2024-2025學(xué)年人教版八年級(jí)英語(yǔ)上冊(cè)
- 八年級(jí)歷史上冊(cè) 第四單元 新時(shí)代的曙光 第12課 新文化運(yùn)動(dòng)教學(xué)設(shè)計(jì) 新人教版
- 2024年小自考視覺(jué)傳播設(shè)計(jì)職場(chǎng)技能試題及答案
- 商業(yè)分析倫理問(wèn)題試題及答案
- 2024年珠寶鑒定師考試的明確目標(biāo)試題及答案
- 2025年太陽(yáng)開(kāi)水器合作協(xié)議書(shū)
- 調(diào)酒師在多元文化下的適應(yīng):試題及答案
- 關(guān)鍵考察點(diǎn):專(zhuān)升本思政試題及答案
- (轉(zhuǎn)文字)福建省部分地市校2025屆高中畢業(yè)班3月質(zhì)量檢測(cè)卷
- 行政事業(yè)差旅費(fèi)報(bào)銷(xiāo)培訓(xùn)
- 光榮院建設(shè)可行性研究報(bào)告
- 2025年河南航空港發(fā)展投資集團(tuán)有限公司社會(huì)招聘45人筆試參考題庫(kù)附帶答案詳解
- 2025屆江蘇省蘇州市九校高三下學(xué)期2月聯(lián)考地理試題及答案
- 2025年河南經(jīng)貿(mào)職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)完整版
- 2025年河南經(jīng)貿(mào)職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)往年題考
- 企業(yè)電動(dòng)叉車(chē)充電安全管理辦法
- 電線電纜安全生產(chǎn)培訓(xùn)
- 2025年北京科技職業(yè)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論