年9月題集新版j面試題目_第1頁
年9月題集新版j面試題目_第2頁
年9月題集新版j面試題目_第3頁
年9月題集新版j面試題目_第4頁
年9月題集新版j面試題目_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、詳解筆試面試題集(1) 下列各題 ABCD 四個選頊中,只有一個選項(xiàng)是正確的,請將正確選項(xiàng)填寫在答題紙上(1) 下列關(guān)于棧的描述中錯誤的是( B)A. B CD棧是先進(jìn)后出的線性表?xiàng)V荒茼樞驐>哂杏洃涀饔脤5墓瓌h除操作中,不需要改變棧底指針: B正確分析: 棧是鏈?zhǔn)降?2) 對于長度為n 的線性表, 在最壞情況下, 下列各排序法所對應(yīng)的比較次數(shù)中正確的是()A B CDn/2 n nn(n-l)/2冒泡排序?yàn)槊芭菖判驗(yàn)榭焖倥判驗(yàn)榭焖倥判驗(yàn)椋?D正確分析:想想快速排序, 每次都會選取線性表的軸值,隨后以此軸值劃分為兩個子線性表再分別進(jìn)行快排, 在最壞情況下, 也就是說每次選出的線性表軸值完全不

2、能將這個線性表劃分為兩個子線性表。那么此時快速排序?yàn)槊芭菖判蛄?。那么第一趟排序時,軸值(線性表的中間位置)被選出,這個值絕對是這個線性表中最大的(不然也不能是最壞情況),其他值都比他小,那么線性表現(xiàn)在分為完全不對等的兩段(一段是0,另一段是 n - 1 ),一段是這個值,一段是其他值。同樣第二趟排序在剛才剩下的值中選中間值(剩余值中最大的那個),又分為不對等兩段,依次遞推。也就是說每次都比較了N - 1 個元素(軸值選出后都與它比較大?。敲纯隙ㄊ潜容^了n - 1n - 1 比較) ,n 代表當(dāng)前子線性表中元素個數(shù)次(如第一次先挑了個軸值,然后剩下由此最的數(shù)列問題出現(xiàn)了,如下1 + 2 +

3、3 + . + n - 2 + n - 1 = n(n - 1) / 2還有一種投機(jī)取巧的方法,在最情況下既然快排變?yōu)槊芭?,都是線性時間復(fù)雜,顯然錯誤那由時間復(fù)雜度知其必為 o(n 2) 的復(fù)雜度,中ABC(3) 下列對于線性鏈表的描述中正確的是()A空間間不一定是連續(xù),且各元素的順序是任意的B CD空間不一定是連續(xù),且前件元素一定在后件元素的前面定間必須連續(xù),且前件元素一定在后件元素的前面空間必須連續(xù),且各元素的順序是任意的是 A,分析(4) 為了使模塊爆可能,并不要求,要求(空間連續(xù)位置也不用有序)A B CD模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)模塊的內(nèi)聚程度要盡量高,且各

4、模塊間的耦合程度要盡量弱模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)f: B分析:高內(nèi)聚,低耦合。5)下列敘述中,正確的是()A B CDJava 語言的標(biāo)識符是區(qū)分大小寫的public 類名可以不相同源文件名與源文件擴(kuò)展名為 .jar源文件中 public 類的數(shù)目不限: A6)下列屬于合法的Java 標(biāo)識符是 ()A B CD_cat 5books+static-3.14159: A7) 在 Java 中,表示換行符的轉(zhuǎn)義字符是()A B CDnf ndd: A( 8) 扯 Java 中,所有類的根類是A. java.lang.O

5、bject B java.lang.ClassC java.applet.AppletD java.awt.Frame: A()(9) 在 Java+中,用 Package 語句說明一個(),該包的層次結(jié)構(gòu)必須是AB與文件的結(jié)構(gòu)相同與文件目錄的層次相同C 與文件類型相同D 與文件大小相同: A(10) 在讀字符 文件 Employee.dat 時,使用該文件作為參數(shù)的類是()。A B CDBufferReader DatalnputStream DataOutoutStream FileInputStream: D(11)在 Java 中,能實(shí)現(xiàn)多重繼承效果的方式是()。A B CD內(nèi)部類適配

6、器接口 同步: C(12) char 類型的取值范圍是()。2-7 27-1A16B0 2-1-215 215 1C8D0 2 -1: A(13) 下列方法中可以用來創(chuàng)建一個新線程的是()。A B CDjava.lang.Runnablejava.iang.Runnablestart0 方法run0 方法實(shí)現(xiàn)實(shí)現(xiàn)繼承繼承: C接口并重寫接口并重寫java.lang.Threadjava.lang.Thread類并重寫 run0 方法類并重寫 start0 方法(14) 下列關(guān)于線程優(yōu)先級的說法中,正確的是A. 線程的優(yōu)先級是不能改變的B 線程的優(yōu)先級是在創(chuàng)建線程時設(shè)置的C 在創(chuàng)建線程后的任何時

7、候都可以設(shè)置D. B 和 C: C(15) 下列代碼中,將引起一個編譯錯誤的行是1) public class Test()。()。2)3)int m, n;public Test()4)5)6)7)8)9)10)11)12)A 第B第C第D第:public Test(int a) m=a;)public static void main(String args0) Test t1, t2;int j, k; j=0; k=0;t1 = new Test();t2 = new Test(j ,k);3 行5 行6 行10 行D(16) 閱讀下列代碼后public classint arr=ne

8、w int10;public static void main(String args ) System.out.println(arr l );)正確的說法是 ()。A B CD編譯時將產(chǎn)生錯誤編譯時正確,運(yùn)行時將產(chǎn)生錯誤輸出零輸出空: A(17) AIDL支持以下哪種數(shù)據(jù)類型?A 1,2 和 3 B 4C.以上所有D都不支持: C分析:l)string 2)list3)map4)All native java datatype() ,AIDL如果用 AIDL:服務(wù)只支持有限的數(shù)據(jù)類型,服務(wù)傳遞一些復(fù)雜的數(shù)據(jù)就需要做更一步處理 ,AIDL服務(wù)支持的數(shù)據(jù)類型如下1. Java 的原生類型2.

9、String和 CharSequence3. List和 Map ,List 和 Map 對象的元素必須是以上三種類型都不需要導(dǎo)入(import)AIDL支持的數(shù)據(jù)類型;4. AIDL自動生成的接口需要導(dǎo)入 (import)5. 實(shí)現(xiàn) android.os.Parcelable 接口的類 .需要導(dǎo)入 (import) 。二、多項(xiàng)選擇題下列各題 A 、B.、C.、D四個選項(xiàng)中,有一個或多個選項(xiàng)是正確的,(l) 下列說法正確的有()。A.環(huán)境變量可在編譯source code 時指定B 在編譯程序時,所能指定的環(huán)境變盛不包括class pathC javac -次可同時編譯數(shù)個Java 源文件D.

10、javac.exe 能指定編譯結(jié)果要置于哪個目錄(: BCDdirectory )(2) 不能用來修飾interface 的有 (B.publi)rotectedA.privateD.static: ACD(3) 下列說法錯誤的有A. 在類方法中可用()this 來調(diào)用本類的類方法B 。在類方法中調(diào)用本類的類方法時可直接調(diào)用C在類方法中只能調(diào)用本類中的類方法D. 在類方法中絕對不能調(diào)用實(shí)例方法: ACD請將正確選項(xiàng)填寫在答題紙上(4) 下列說法錯誤的有()A.B CD.Java 面向?qū)ο笳Z言容許單獨(dú)的過程與函數(shù)存在Java 面向?qū)ο笳Z言容許單獨(dú)的方法存在Java 語畝中的方法屬于類中的成員(m

11、ember)Java 語言中的方法必定隸屬 類(對象),調(diào)用方法與過程或函數(shù)相同: ABC(5) 下列說法錯誤的有A. 能被 java.exe()。java class 文件必須有main() 方法運(yùn)行的B J2SDK 就是Java APIC. Appletviewer.exe 可利用jar 選項(xiàng)運(yùn)行 Jar 文件D. 能被 Appletviewer: BCD運(yùn)行的java class 文件必須有main() 方法三、題請將每空的正確寫在答題紙上,答在試卷上不得分。(1)(2)(3)JavaUnicode的起始類名稱必須與存放該類的文件名相同。是用 16 位來表示一個字的。 (對)(對)原生類

12、中的數(shù)據(jù)類型均可任意轉(zhuǎn)換。(對)三、填空題請將每空的正確l】至【 25】序號的橫線上,答在試卷上不得分。寫在答題紙上【(l) 某二叉2 的結(jié)點(diǎn)有 18 個,則該二叉有【1】19度為個葉子結(jié)點(diǎn)。1。二叉樹的終端結(jié)點(diǎn)(葉子結(jié)點(diǎn))數(shù)等于雙分支結(jié)點(diǎn)數(shù)加(2) 在面向?qū)ο蠓椒ㄖ?,類的?shí)例稱為【2】對象(3) 診斷和改正3】 Debug錯誤的工作通常稱為【(4) 在關(guān)系數(shù)據(jù)庫中,把數(shù)據(jù)表示成二維表,每一個二維表稱為【4】關(guān)系(5)Java 源文件中最多只能有一個【5】public類, 其他類的個數(shù)不限。(6) 線程在生命周期中要經(jīng)歷5 中狀態(tài),分別是新建狀態(tài)(準(zhǔn)備)、可運(yùn)行狀態(tài)(就緒)、運(yùn)行狀態(tài)(運(yùn)行)

13、?!?6】 暫停(阻塞)狀態(tài)和終止?fàn)顟B(tài)() 。(7)FileInputStream對象序列化流是字節(jié)流; BufferedWriter是字符流,ObjectOutputStream 是 【7】(8) 當(dāng)使用falseThread t = new Thread(r) 創(chuàng)建一個線程時,表達(dá)式。 r instanceOf Runnabler instance of Thread的值為【 8】1.抽象類和接口的區(qū)別抽象類:?1) 抽象方法,只有行為的概念,沒有具體的行為實(shí)現(xiàn)。使用關(guān)鍵字修飾,沒有方法體。子類必須重寫這些抽象方法。2) 包含抽象方法的類,一定是抽象類。3) 抽象類只能被繼承,一個類只能繼

14、承一個抽象類。abstract接口:1)全部的方法都是抽象方法,屬型都是常量2)不能實(shí)例化,可以定義變量。3)接口變量可以具體實(shí)現(xiàn)類的實(shí)例4) 接口只能被實(shí)現(xiàn),一個具體類實(shí)現(xiàn)接口,必須實(shí)現(xiàn)全部的抽象方法5) 接口之間可以多實(shí)現(xiàn)6) 一個具體類可以實(shí)現(xiàn)多個接口,實(shí)現(xiàn)多繼承現(xiàn)象2列舉你所知道的線程同步的方法:1) wait():2) notify()讓線程等待。將線程到一個線程。:喚醒被等待的線程。通常都喚醒線程的第一個。讓被喚醒的線程處于臨時阻塞狀態(tài)。3)notifyAll():喚醒所有的等待線程。 將線程的所有線程都喚醒。3 equals()方法和 “= ”操作符的區(qū)別是什么?重寫 equal

15、s()方法的時候,我們還需要重寫哪些方法?為什么?“=”比較的是一個對象在內(nèi)存中的地址值,棧中的內(nèi)容是否相同equals()相同重寫 equals()是的, 比較的是類型的內(nèi)容一樣不一樣,堆中的內(nèi)容是否hashcode 方法,這樣比較的時候,比較的是hash 值不同。方法的時候,需重寫兩個對象的 hash 值,不同對象的7.寫一個函數(shù)計(jì)算但參數(shù)為的值 1-2+3-4+5-6+7 ,程序執(zhí)行效率)n( n 很大)時+n。(提示:考慮privatestaticvoid jisuan(intn) intsum=0;if (n%2=0)sum=-(n/2);System. out .println(

16、else sum=-(n-1)/2+n; System. out .println("" +sum);"" +sum);簡述 String 和 StringBuffer 、ArrayList(11)和 LinkedList 、HashMap和 HashTable 的特點(diǎn)及區(qū)別。答:StringString對象的長度一旦定義就固定就不可以改變,對于已經(jīng)存在的,String對象的修改都是創(chuàng)建一個新的對象,然后把新的值存進(jìn)去類不能被繼承。StringBufferString是一個可變對象,當(dāng)對它進(jìn)行修改的時候像那樣StringBuffer重新建立對象。它只能通

17、過構(gòu)造函數(shù)來建立對象。另外線程安全的類。還是一個ArrayListLinkedList是實(shí)現(xiàn)了基于動態(tài)數(shù)組的數(shù)據(jù)結(jié)構(gòu)用于,基于的數(shù)據(jù)get 和 set , ArrayList結(jié)構(gòu),二者都可以對象的。對于隨機(jī)優(yōu)于LinkedListLinkedListadd 和 remove,因?yàn)橐苿又窤rrayList于新增和刪除操作要移動數(shù)據(jù)。LinkedList比較占優(yōu)勢,因?yàn)镠ashMap是Hashtable 的輕量級實(shí)現(xiàn)(非線程安全的實(shí)現(xiàn)) ,他們都完成了 Map接口,主要區(qū)別在于 HashMa空( null )鍵值( key), 由于非線程安全,在Hashtable 。只有一個線程的情況下,效率要

18、高于HashMa將 null作為一個 entry的 key 或者 value ,而 Hashtable 不。HashMap把Hashtable 的 contains方法去掉了,改成 containsvalue和containsKey。因?yàn)?contains方法容易讓人引起誤解。類,而 HashMap是 Java1.2Hashtable 繼承自 Dictionary引進(jìn)的 Mapinterface的一個實(shí)現(xiàn)。最大的不同是, Hashtable的方法是 SynchronizeHashMap不是,在多個的,而Hashtable 時,不需要HashMap就必須線程為它的方法實(shí)現(xiàn)同步,而為之提供外同步。

19、Hashtable 和 HashMap采用的 hash/rehash 算法都大概一樣, 所以性能有很大的差異。就 HashMap與 HashTable 主要從面來說。一. 歷史:HashtableDictionary類的, HashMap是 Java 1.2是基于陳舊的引進(jìn)的 Map接口的一個實(shí)現(xiàn)二. 同步性:Hashtable是線程安全的,也就是說是同步的,而不安全的,不是同步的三. 值:只有 HashMap可以讓你將空值作為一個表的條目的HashMap是線程序key 或 value求質(zhì)數(shù)的多種優(yōu)化方式N的質(zhì)數(shù)而答:一般我們求質(zhì)數(shù)時都會去計(jì)算小一個數(shù)不加限定, 現(xiàn)在我們以求小于 N 的質(zhì)數(shù)來

20、說一說優(yōu)化方式。 在我們求質(zhì)數(shù)的過程中一般會用到兩種方法試除法和篩選法兩種,現(xiàn)在下來說一下試除法:.小于 N的數(shù) X 是否是質(zhì)數(shù),就是從2 一直嘗試到 X-1,這種做法效率最差,并不可取>如果 X是質(zhì)數(shù),那么它如果不能被小于X/2 的數(shù)整除即可,這樣算法效率提高一些>除了 2 以外,所有的質(zhì)數(shù)都只能是奇數(shù),所以我們可以將數(shù) X 先試除 2,然后嘗試從 3 一直到 X/2的所有奇數(shù)>其實(shí)1 之外小于一個數(shù)是否是質(zhì)數(shù), 只需一個數(shù)能不能被除了x的數(shù)整除即可,->X能不能最后,我們可以利用前面求出來的質(zhì)數(shù)來,我們只需被小于x的質(zhì)數(shù)整除即可,這樣效率是不是更高。再說篩選法:對于

21、使用篩選法的優(yōu)化主要是從空間上考慮定義一個容器, 將數(shù)據(jù)放入容器中, 然后遍歷其中的數(shù)據(jù), 將是合數(shù)的數(shù)據(jù)刪除,最后剩余的就是質(zhì)數(shù)了>我們可以定義一個類型的數(shù)組容器,將其中的值都賦值為 true ,在篩選的過程中將不是質(zhì)數(shù)的數(shù)作為數(shù)組的下標(biāo)將falsetrue的元素的下標(biāo)即可>對應(yīng)元素的值改為,最后取出值為構(gòu)造定長的 byte 數(shù)組,數(shù)組的每個 byte8 個值, 這樣性能是不是又有了提高呢。(14)簡述幾種排序方式(至少四種,可以從以下各個方面來比較這幾種算法,間復(fù)雜度和空間復(fù)雜度)例如從時排序法時間分平均時間復(fù)雜度穩(wěn)定度空間復(fù)雜度析22O(n )O(n )O(1)冒泡排序穩(wěn)定2

22、O(n )O(n*log2n)O(log 2n)O(n)快速排序不穩(wěn)定22O(n )O(n )O(1)選擇排序穩(wěn)定2O(n )O(n*log2n)O(n)二叉樹排序不一定22O(n )O(n )O(1)排序穩(wěn)定O(n*log2 n)O(n*log2n)O(1)堆排序不穩(wěn)定1.25O(n)O(1)排序不穩(wěn)定冒泡排序:(Bubble Sort )冒泡排序方法是最簡單的排序方法。這種方法的基本思想是,將待排序的元素看作是豎著排列的“氣泡”,較小的元素比較輕,從而要往上浮。 在冒泡排序算法中我們要對這個“氣泡”序列處理若干遍。所謂一遍處理, 就是自底向上檢查一遍這個序列,并時刻注意兩個相鄰的元素的順序

23、是否正確。 如果發(fā)現(xiàn)兩個相鄰元素的順序不對,即“輕”的元素在下面,就交換它們的位置。顯然,處理一遍之后,“最輕”的元素就浮到了最置;處理二遍之后,“次輕”的元素就浮到了次置。在作第二遍處理時, 由于最置i 遍處理時,不必檢查上的元素已是“最輕”元素,所以不必檢查。一般地,第第 ii-1置以上的元素,因?yàn)榻?jīng)過前面遍的處理,它們已正確地排好序。排序( Insertion Sort排序的基本思想是,經(jīng)過 i-1)遍處理后,L1.i-1己排好序。第 i遍處理僅將 LL1.i-1的適當(dāng)位置,使得L1.i又是排好序的序列。要達(dá)到這個目的,我們可以用順序比較的方法。首先比較 L 和 Li-1,如果 Li-1

24、 L ,則 L1.i已排好序,第 i 遍處理就結(jié)束了;否則交換 L 與 Li-1的位置,繼續(xù)比較 Li-1和 Li-2,直到找到某一個位置 j(1 j i -1) ,使得 LjLj+1時為止。選擇排序( SelectionSort )選擇排序的基本思想是對待排序的序列進(jìn)行 n-1經(jīng)過 ii遍處理是將 i.n中最小者與位置 i遍的處理,第交換位置。這樣,i遍處理之后,前個的位置已經(jīng)是正確的了。快速排序( Quick Sort )快速排序是對冒泡排序的一種本質(zhì)改進(jìn)。它的基本思想是通過一趟掃描后,使得排序序列的長度能大幅度地減少。在冒泡排序中,一次掃描只能確保最大數(shù)值的數(shù)移到正確位置,而待排序序列的

25、長度可能只減少1??焖倥判蛲ㄟ^一趟掃描,就能確保某個數(shù)(以它為基準(zhǔn)點(diǎn)吧)的左邊各數(shù)都比它小, 右邊各數(shù)都比它大。 然后又用同樣的方法處理它左右兩邊的數(shù),直到基準(zhǔn)點(diǎn)的左右只有一個元素為止。一、專業(yè)知識1、a0=1、a1=1、a2=a1+a0 、a3=a2+a1 ,以a30?此類推,請寫代碼用遞歸算出3、簡述值類型和類型的區(qū)別類型、結(jié)構(gòu)體 類型和枚舉類型 ,值類型 包括簡單接口、委托等 他們兩在內(nèi)存中式;前者是真實(shí)的類型包括自定義類、數(shù)組、的方式不同,值類型以棧的方式的,類型以堆的方空間,后者只是地址的!4、簡述類中的靜態(tài)成員和非靜態(tài)成員的區(qū)別靜態(tài)變量使用 static修飾符進(jìn)行,在類被實(shí)例化時創(chuàng)

26、建,通過類進(jìn)行。不帶有 static建,通過對象進(jìn)行修飾符的變量稱做非靜態(tài)變量,在對象被實(shí)例化時創(chuàng)。 一個類的所有實(shí)例的同一靜態(tài)變量都是同一個值,同一個類的不同實(shí)例的同一非靜態(tài)變量可以是不同的值。非靜態(tài)成員,如非靜態(tài)變量、非靜態(tài)函數(shù)等。靜態(tài)函數(shù)的實(shí)現(xiàn)里不能使用5、什么是單例?一個類中只有一個實(shí)例并且自行化向整個系統(tǒng)提供這個實(shí)例叫單例下面程序段的輸出結(jié)果是:Void complicatedex() int x=20,y=30;boolean b; b=x>50&&y>60|x>50&&y<-6|x<-50&&y>

27、60|x<-50&&y<-60;system.out.println(b);結(jié)果為: faslesuper()和this()的區(qū)別Super() 指父類的無參構(gòu)造方法, this()寫在構(gòu)造方法的第一句指當(dāng)前類的無參構(gòu)造方法,兩者都必須2、Java 中 public,private,protected,和默認(rèn)的區(qū)別a、private修飾詞,表示成員是私有的,只有自身可以;b、protected ,表示受保護(hù)權(quán)限, 體現(xiàn)在繼承, 即子類可以父類受保護(hù)成員,protected權(quán)限 (friendly同時相同包內(nèi)的其他類也可以c、無修飾詞(默認(rèn)),表示包成員。,javaf

28、riendly權(quán)限語言中是沒有c+ ),同一個包內(nèi)可以這個修飾符的,這樣稱呼應(yīng)該是來源于,是d、public權(quán)限;修飾詞,表示成員是公開的,所有其他類都可以;3、描述一下收機(jī)制java 的委托機(jī)制和回java委托機(jī)制:一個源產(chǎn)生一個時,把他送到一個或多個器那里,在這種機(jī)制種,器只是等待,一旦收到,處理并返回;不再被程序Java回收:是一種動態(tài)管理技術(shù),它自動地的對象,按照特定的收集算法來實(shí)現(xiàn)自動回收的功能。當(dāng)一個對象不再被引用的時候, 內(nèi)存回收它占領(lǐng)的空間, 以便空間被后來的新對象使用,存泄露。以免造成內(nèi)什么是 java 序列化,如何java 序列化序列化就是一種用來處理對象流的機(jī)制,所謂對象

29、流也就是將對象的內(nèi)容進(jìn)行流化??梢詫α骰蟮膶ο筮M(jìn)行讀寫操作,也可將流化后的對象傳輸于網(wǎng)絡(luò)之間。序列化是為了解決在對對象流進(jìn)行讀寫操作時所public class Cat implements Serializable的問題。,TryFileOutputStream fos = new FileOutputStream("catDemo.out"); ObjectOutputStream oos = new ObjectOutputStream(fos); System.out.println(" 1> " + cat.getName();cat.

30、setName("My Cat"); oos.writeObject(cat);oos.close();catch(Exception e),overload 和 overrride的區(qū)別。 Overloaded的方法和是否可以改變返回值類型override(重寫,覆蓋)1、方法名、參數(shù)、返回值相同。2、子類方法不能縮小父類方法的3、子類方法不能拋出比父類方法權(quán)限。的異常( 但子類方法可以不拋出異常) 。4、存在類和子類之間。5、方法被定義為final不能被重寫。overload (重載,過載)1、參數(shù)類型、個數(shù)、順序至少有一個不相同。2、不能重載只有返回值不同的方法名。3

31、、存在類和子類、同類中。Overloaded 的方法不能改變返回值類型final 類有什么特點(diǎn)該類不能被繼承寫出下面代碼的輸出結(jié)果Package test;Public class OuterClassPrivate class InterClass Public InterClassSystem.out.println(“interClass create”);Public OuterClass()InterClass ic= new InterClass();System.out.println(“outerclass create”);Public static void main(St

32、ring args) OuterClass oc=new OuterClass();輸出:interClass createOuterclass create如何格式化日期java 日期的格式話主要用的是() ;SimpleDateFormat df = new SimpleDateFormatArrayListVectorLinkedList的性能好特性,HashMap和 Hashtable 的區(qū)別ArrayList和 Vector 都是使用數(shù)組方式數(shù)據(jù),此數(shù)組元素?cái)?shù)大于實(shí)際的數(shù)據(jù)以便增加和元素,它們都直接按序號索引元素,但是元素要Vector 由于使差,而 LinkedList涉及數(shù)組元素

33、移動等內(nèi)存操作,所以索引數(shù)據(jù)快而數(shù)據(jù)慢,用了 synchronized方法(線程安全),通常性能上較 ArrayList使向鏈表實(shí)現(xiàn), 按序號索引數(shù)據(jù)需要進(jìn)行前后向遍歷,但是數(shù)據(jù)時只需要本項(xiàng)的前后項(xiàng)即可,所以速度較快。1.HashTable 的方法是同步的, HashMa同步,所以在多線程場合要手動同步 HashMap這個區(qū)別就像 Vector 和 ArrayList一樣。2.HashTable 不和 value 都可以) 。null值(key 和value 都不可以 ),HashMapnull值(key3.HashTable有一個 contains(Objectvalue) ,功能和 con

34、tainsValue(Objectvalue) 功能一樣。4.HashTable使用 Enumeration ,HashMap使用 Iterator。String 是基本數(shù)據(jù)類型嗎?不是多線程有幾種實(shí)現(xiàn)方式,同步有幾種實(shí)現(xiàn)方式, stop()和 suspend()方法為什么不推薦使用Thread 類與實(shí)現(xiàn) Runnable 接口多線程有兩種實(shí)現(xiàn)方法,分別是繼承同步的實(shí)現(xiàn)方面有兩種,分別是 synchronized,wait與 notify"使用 stop() ,是因?yàn)樗话踩?。它會解除由線程獲取的所有鎖定,而且如果對象處于一種不連貫狀態(tài),那么其他線程能在那種狀態(tài)下檢查和修改它們。結(jié)果

35、很難檢查出真正的問題所在。 suspend() 方法容易發(fā)生死鎖。調(diào)用 suspend()的時候,目標(biāo)線何線程都不能停下來,但卻仍然持有在這之前獲得的鎖定。此時,其他任,除非被" 掛起" 的線程恢復(fù)鎖定的運(yùn)行。對任何線程來說,如果它們想恢復(fù)目標(biāo)線程,同時又試圖使用任何一個鎖定的,就會造成死鎖。所以不應(yīng)該使用suspend()的 Thread 類中置入一個標(biāo)志,而1.請闡述一下你對Java 多線程中同步的幾種使用方式,區(qū)別,以及其重要性。同步有兩種實(shí)現(xiàn)方式1. 同步方法2. 同步代碼塊多線程的同步時為了能夠保證關(guān)鍵數(shù)據(jù)在證數(shù)據(jù)的同步性,安全性時間能只能有一個線程操作,保2.f

36、inal ,finally , finalize的區(qū)別。Final有最終的不可改變的意思,可以用來修飾基本數(shù)據(jù)使之成為常量,該常量只能在編譯期進(jìn)行修改。當(dāng)修飾對象時,則該對象不能改變,但該對象本身可以做修改。當(dāng)修飾方法時,表示該方法在被繼承時不能被修改,或覆蓋當(dāng)修飾類時,表示該類別別的類繼承Finally須執(zhí)行的finalize用于在 Try-catch-finally語句中 finally中的代碼塊時必會調(diào)用 finalize()當(dāng)某個對象要被當(dāng)做回收時,方法,該方法用于檢查對象不被運(yùn)行狀態(tài)的對象或間接地sleep()和 wait() 有什么區(qū)別?Sleep() 是線程中的一個方法,該方法用

37、于自身線程的流程,當(dāng)執(zhí)行 sleep()方法睡眠時保持對象鎖。Wait() 方法是 object類中的一個方法,該方法用于讓一個線程處于notity等待狀態(tài)并對象鎖,當(dāng)該線程想要再次執(zhí)行時需要調(diào)用方法喚醒此線程4. abstact的 method 是否可同時是static,native, 是 否 可 同 時 是是 否 可 同 時 是synchronized ?不可以5 當(dāng)一個線程進(jìn)入一個對象的Synchronized方法后, 其他線程是否可進(jìn)入此對象的其他方法非 Synchronized 方法??梢匀?當(dāng)一個對象被當(dāng)做參數(shù)傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結(jié)果,那么

38、這里到底是值傳遞還是傳遞?值傳遞7.創(chuàng)建一個什么?class 對象有幾種方法?分別是有三種:1.2.Class c=Class.for(“java.lang.String”);String str=new Stirng();Class c=Str.getClass();3.Class c=String.Class;9.如何獲取一個目錄下有多少個文件?File f=new File(Int count=f.list().length;“D:/ ”);10.請寫出下列代碼的輸出結(jié)果:public class FatherClass public FatherClass()System.out.pr

39、intln(“FatherClass Create”);public static class ChildClass extends FatherClasspublic ChildClass()System.out.println(“ChildClass Create”);public static void main() FatherClass fc=new FatherClass(); ChildClass cc=new ChildClass();FatherClass Create FatherClass CreateChildClass Create13.當(dāng)一個對象不再被使用時,存中消

40、失?如何才能從內(nèi)將該對象值為空14.請寫一個整數(shù)組成的矩陣轉(zhuǎn)置程序,變成列,列變成行?及行int transponse(int t);public int transponse(int t)int f=new intt0.lengtht.length; for(int i=0;i<t.length;i+)int index=0; index+;for(int x=0;i<ti.length;i+)int m=0; m+;fmindex=tix;Return f;1.下列哪些語句關(guān)于內(nèi)存回收的說明是正確的?( b )A, 程序員必須創(chuàng)建一個線程來內(nèi)存B,內(nèi)存回收程序負(fù)責(zé)無用內(nèi)存C,

41、內(nèi)存回收程序程序員直接內(nèi)存D, 內(nèi)存回收程序可以在指定的時間內(nèi)存對象2.下面異常是屬于Runtime Exception的是( abcd )( 多選 )A, ArithmeticExceptionB, IllegalArgumentExceptionC, NullPointerExceptionD, BufferUnderflowException3.Math.round(11.5)等于多小 ().Math.round(-11.5)().( c )等于多小A 11,-11B 11,-12C 12,-11 D 12,-124.下列程序段的輸出結(jié)果是:(b)Void complicatedexpr

42、ession_r()int x=20,y=30;boolean b;b=x>50&&y>60|x>50&&y<-60|x<-50&&y>60|x<-50&&y<-60;System.out.println(b);A,tureB,falseC,1D,011.activity5. 以下程序的運(yùn)行結(jié)果(B) /-128127從對象,超了后新建對象Integer a = 34556;Integer b =34556;If(a=b)System.out.println(“ Equal” );e

43、lseSystem.out.println(“ Not equal);”A. EqualB.Not equalC.無輸出D. 編譯錯誤6. 以下程序的運(yùn)行結(jié)果是(B )public class testpublic static void main(String args)System.out.print(100%3);System.out.print(“ , ”);System.out.print(100%3.0);A.1,1B.1,1.0C.1.0,1D1.0,1.07.Java“學(xué) JavaB)語言中字符串” 所占的內(nèi)存空間是(A.5 個字節(jié)B.6 個字節(jié)C.7 個字節(jié)D.10 個字節(jié)M

44、ath.round( 11.5 )等于多少() 。Math.round(-11.5 )等于多少?(C)A 11 , -11B.11 , -12C. 12.-11D.12 , -128. 下列程序段的輸出結(jié)果是:( B)voidcomplicatedexpression_r() intx=20 , y=30 ;boolean b;b=x>50&&y>50&&y<-60|x<-50&&y>60|x<-50&&y<-60;System.out.println(b);A. trueB.falseC

45、.1D.0A代碼段如下,選項(xiàng)中描述正確的是static int ternary( int s ) int i=s;return i < 10 ? i * 100 : i * 10 ;A這是個靜態(tài)方法,不需要實(shí)例化就可以被調(diào)用B返回值是方法臨時變量的值Ci * 10返回值等于Di * 100返回值等于9. 如下描述正確的是ADA一個 java 中只能有一個class 是 public的B如果一個類的構(gòu)造方法是私有的,那么實(shí)例化此類就需要有一個非私有的方法C protected的方法無法被子類D abstract類不可以直接實(shí)例化10. 關(guān)于 finalABCDE關(guān)鍵字,正確的是A.使用 f

46、inal關(guān)鍵字,是出于設(shè)計(jì)與效率的考量Bfinal使用關(guān)鍵字修飾屬性,句柄指向的基礎(chǔ)類型是一個常量Cfinal關(guān)鍵字修飾屬性,句柄指向一個對象,則對象不可以改變Dfinal關(guān)鍵字修飾方法,則此方法不覆蓋Efinal關(guān)鍵字修飾方法,則此方法不重載11. 如下描述正確的是ABCDAHashMap使用鍵值對描述數(shù)據(jù)BList和 Set 都是接口CList的實(shí)現(xiàn)類數(shù)據(jù)重復(fù)DSet的實(shí)現(xiàn)類數(shù)據(jù)是無序的EList的實(shí)現(xiàn)類數(shù)據(jù)是無序的12. 如下描述正確的是ADA繼承 Thread類,可以創(chuàng)建一個線程Brun() 方法中定義循環(huán)部分,并指出循環(huán)終結(jié)條件C每個對象默認(rèn)都包含了一把鎖D多線程競爭臨界,可能會導(dǎo)致

47、死鎖13 下面描述正確的是ABCDA 。 MVC涉及模式中, servlet實(shí)現(xiàn) controller功能Bapplet瀏覽器運(yùn)行的java 小程序Cjavabean用于對應(yīng)數(shù)據(jù)庫中的數(shù)據(jù)表DSSH(Struts,Spring,Hibernate)SpringStruts進(jìn)行流程,進(jìn)行業(yè)務(wù)流轉(zhuǎn),Hibernate進(jìn)行數(shù)據(jù)庫操作的封裝14. 下面說法正確的是ABDA用 new關(guān)鍵字實(shí)例化接口,必須實(shí)現(xiàn)接口中的所有抽象方法B接口中不可以定義私有方法C接口中可以定義私有屬性D類可以實(shí)現(xiàn)多個接口15. 下面說法正確的是ABCAequal() 方法所實(shí)現(xiàn)的功能,取決于當(dāng)前類及其繼承調(diào)用對此方法的定義。B

48、java不使用者重載操作符Cjava中,操作符 +字符串操作時把字符串相連接的意思。Djava操作符重載16. UMLAE中哪些圖表示系統(tǒng)行為A. 狀態(tài)圖B.用例圖C.協(xié)作圖D.類圖E.活動圖F.時序圖17. 如下程序段 ,正確的是BDAabstract classSomething private abstractStringdoSomething();B classSomethingInt i;publicvoiddoSomething()System.out.println(“ i+” +i)C . publicclassSomethingpublic static void main

49、(Stringargs)Somethings = newSomething();System.out.println(“ s.doSomething() returns :+doSomething();”publicStringdoSomething()return“ Dosomething;”D.abstractclassName Private String name ;Public abstract int test();18. 下面的 java 程序編譯運(yùn)行結(jié)果是CinterfaceA intx = 0;ClassB int x= 1;ClassCextendsBimplementsA PublicvoidpX () system.out.println(super.x);Publicstaticvoid main(Stringargs )newC ().Px();A產(chǎn)生運(yùn)行期錯誤B產(chǎn)生編譯期錯誤C1程序運(yùn)行,輸出結(jié)果為D存續(xù)運(yùn)行,輸出結(jié)果為019. 下列程序段的描述正確的是AD假設(shè) inti = 10;inta (inti )return+ i ;int b (finalint i )return+ i ;intc (integeri )return+ i ;A調(diào)用方法 a

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論