Java陷阱一籮筐----面試題集.doc_第1頁(yè)
Java陷阱一籮筐----面試題集.doc_第2頁(yè)
Java陷阱一籮筐----面試題集.doc_第3頁(yè)
Java陷阱一籮筐----面試題集.doc_第4頁(yè)
Java陷阱一籮筐----面試題集.doc_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

誠(chéng)信、創(chuàng)新、開(kāi)放、合作JAVA面試題-CORE JAVA部分 -感謝SD0501班畢業(yè)學(xué)員李曉賓的提供,希望對(duì)面試學(xué)員和在校學(xué)員有所幫助。1 在main(String args)方法內(nèi)是否可以調(diào)用一個(gè)非靜態(tài)方法?答案:不能2 同一個(gè)文件里是否可以有兩個(gè)public類?答案:不能3 方法名是否可以與構(gòu)造器的名字相同? 答案:可以。public class Testpublic Test(String iceboy)System.out.println(iceboy);public void Test(String iceboy)System.out.println(iceboy);public static void main(String args)Test a = new Test(abc);/輸出“abc”a.Test(iceboy);/輸出“iceboy”4. 初始化了一個(gè)沒(méi)有run()方法的線程類,是否會(huì)出錯(cuò)?答案:不會(huì)。第一種方法:直接繼承Thread類。public class Testpublic static void main(String args)ThreadClass t = new ThreadClass();t.start();System.out.println(end);/輸出“end”class ThreadClass extends Thread /Thread類已經(jīng)實(shí)現(xiàn)了空的run()方法。第二種方法:實(shí)現(xiàn)Runnable接口public class Testpublic static void main(String args)ThreadClass t = new ThreadClass();Thread thread = new Thread(t);thread.start();System.out.println(end);class ThreadClass implements Runnable public void run() /必須有此方法否則編譯報(bào)錯(cuò)。它是Runnable接口中的抽象方法。System.out.println(Threads);4 局部?jī)?nèi)部類是否可以訪問(wèn)非final變量?答案:不能訪問(wèn)局部的,可以訪問(wèn)成員變量(全局的)。class Outprivate String name = ;void print()final String work = out.local.work;/若不是final的則不能被Animal 使用.int age=10;class Animal/定義一個(gè)局部?jī)?nèi)部類.只能在print()方法中使用./局部類中不能使用外部的非final的局部變量.全局的可以.public void eat()System.out.println(work);/ok/age=20;error not finalSystem.out.println(name);/ok.Animal local = new Animal();local.eat();5 選擇語(yǔ)句case中,允許使用的值有哪些? 答案:int,short,char,byte(都在int范圍之內(nèi),且是整數(shù))6 Math,String是不可繼承的。(final類)Instanceof 后面跟的應(yīng)該是OBJECT。構(gòu)造器可以是私有的。(private)=與=意義是完全不同的。一個(gè)是賦值,一個(gè)是等于。全局變量可以不進(jìn)行初始化,如果使用一個(gè)局部變量,則這個(gè)局部變量要被初始化。7 在try-catch-final塊中的退出語(yǔ)句。public class Testpublic static void main(String args)int a=1;trya=a/0;catch(Exception e)System.out.println(catch);return;/當(dāng)return時(shí),finally中的語(yǔ)句會(huì)執(zhí)行。/System.exit(0);/若用上這句,finally中的語(yǔ)句不會(huì)執(zhí)行。直接返回,退出程序。finally /當(dāng)沒(méi)有System.exit(0);時(shí),無(wú)論是否發(fā)生異常它都會(huì)執(zhí)行。System.out.println(finally);注:try-catch-final塊的順序不能調(diào)換。8 下面都是正確的main方法簽名。public static void main(String args)public static final void main(String args)static public void main(String args)static public synchronized void main(String args)static public abstract void main(String args)/錯(cuò)誤9 if(-0.0 = 0.0)是相等還是不等?答案:相等。10一個(gè)抽象類是否可以沒(méi)有抽象方法?答案:可以。11RandomAccessFile 類繼承Object,并且實(shí)現(xiàn)了DataInput和DataOutput接口。答案:正確12Collection與Collections的區(qū)別?答案:Collection是一個(gè)接口,但 Collections卻是一個(gè)輔助類,里面有很多靜態(tài)的工具方法。而且很有用的。如:reverse(Listlist);sort(Listlist, Comparatorc)等。Collections沒(méi)有實(shí)現(xiàn)任何接口。它直接繼承了Object。13class Child extends Parentsclass Parents是否可以這樣聲明類,在一個(gè)文件中?答案:可以。無(wú)所謂的。14. 數(shù)組,無(wú)論是當(dāng)前的,還是類等級(jí)的,都會(huì)被初始化。String 是被初始化為 null,不是空字符。null,“,” “,都是不同的。“continue”只能在一個(gè)循環(huán)里(如for,do,while),它不能在case語(yǔ)句中出現(xiàn)。Primitive(int,char,long等)數(shù)組是不能互相賦值的,即使它們本身可以。一個(gè)Constructor可以拋出任何異常。初始化塊是按照聲明的順序執(zhí)行的。所有關(guān)于 NaN(Not a Number) 和 non-NaN 的比較,都返回false.這條很重要。=會(huì)產(chǎn)生編譯錯(cuò)誤,如果兩邊類型不匹配的話。equals() 返回 false 如果對(duì)象類型不同,但不產(chǎn)生 編譯錯(cuò)誤。15Java成員變量默認(rèn)初始化的值。成員變量類型取值 byte-0 short-0 int-0 long-0L char-u0000 float-0.0F double-0.0D boolean-false所有引用類型null16. integer和long 操作 /和% 的話, 可能會(huì)拋出ArithmeticException,比如除0。但是 float與double不會(huì),即使是除以0。double a=0;a=a/0;則a等于NaN。17普通內(nèi)部類不可以擁有靜態(tài)變量,但靜態(tài)內(nèi)部類可以。File類沒(méi)有 任何 處理文件內(nèi)容的方法。InputStream 和 OutputStream 是 抽象類, DataInput 和 DataOutput是 接口。DataInputStream實(shí)現(xiàn)了DataInput接口。18面向?qū)ο蟮奶卣饔心男┓矫??答案:最基本特征:封裝,繼承,多態(tài)。其他特征:抽象關(guān)聯(lián),聚合,組合,內(nèi)聚,耦合19String是最基本的數(shù)據(jù)類型嗎? String 和StringBuffer的區(qū)別?答案:String不是一最基本的數(shù)據(jù)類型。STRING的長(zhǎng)度是不可變的,STRINGBUFFER的長(zhǎng)度是可變的。如果你對(duì)字符串中的內(nèi)容經(jīng)常進(jìn)行操作,特別是內(nèi)容要修改時(shí),那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法 20int 和 Integer 有什么區(qū)別 答案:int是基本類型。Integer是引用類型。Integer可以把String轉(zhuǎn)換成int。21.運(yùn)行時(shí)異常與一般異常有何異同? 答案:異常表示程序運(yùn)行過(guò)程中可能出現(xiàn)的非正常狀態(tài),運(yùn)行時(shí)異常表示虛擬機(jī)的通常操作中可能遇到的異常,是一種常見(jiàn)運(yùn)行錯(cuò)誤。java編譯器要求方法必須聲明拋出可能發(fā)生的非運(yùn)行時(shí)異常,但是并不要求必須聲明拋出未被捕獲的運(yùn)行時(shí)異常。22說(shuō)出一些常用的類,包,接口,請(qǐng)各舉5個(gè)?答案:常用類-System,ArrayList,FileInputStream,Thread,Socket.常用的包-java.io,java.util,java.sql,java.javax.naming,常用接口-Collection,Connection, Cloneable, Comparable, Serializable23.說(shuō)出ArrayList,Vector, LinkedList的存儲(chǔ)性能和特性.答案:ArrayList和Vector都是使用數(shù)組方式存儲(chǔ)數(shù)據(jù),此數(shù)組元素?cái)?shù)大于實(shí)際存儲(chǔ)的數(shù)據(jù)以便增加和插入元素,它們都允許直接按序號(hào)索引元素,但是插入元素要涉及數(shù)組元素移動(dòng)等內(nèi)存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢,Vector由于使用了synchronized方法(線程安全),通常性能上較ArrayList差,而LinkedList使用雙向鏈表實(shí)現(xiàn)存儲(chǔ),按序號(hào)索引數(shù)據(jù)需要進(jìn)行前向或后向遍歷,但是插入數(shù)據(jù)時(shí)只需要記錄本項(xiàng)的前后項(xiàng)即可,所以插入速度較快。 24設(shè)計(jì)4個(gè)線程,其中兩個(gè)線程每次對(duì)j增加1,另外兩個(gè)線程對(duì)j每次減少1。寫(xiě)出程序。 注:因?yàn)檫@4個(gè)線程共享J,所以線程類要寫(xiě)到內(nèi)部類中。加線程:每次對(duì)j加一。減線程:每次對(duì)j減一。public class TestThreadsprivate int j=1;/加線程private class Inc implements Runnablepublic void run()for(int i = 0;i 10;i+)inc();/減線程private class Dec implements Runnablepublic void run()for(int i = 0;i 10;i+)dec();/加1private synchronized void inc()j+;System.out.println(Thread.currentThread().getName()+-inc:+j); /減1private synchronized void dec()j-;System.out.println(Thread.currentThread().getName()+-dec:+j); /測(cè)試程序public static void main(String args)TestThreads test = new TestThreads();/創(chuàng)建兩個(gè)線程類Thread thread = null;Inc inc = test.new Inc();Dec dec = test.new Dec();/啟動(dòng)4個(gè)線程for(int i = 0;i 2;i+)thread = new Thread(inc);thread.start();thread = new Thread(dec);thread.start();25數(shù)組轉(zhuǎn)換問(wèn)題。Object object = new Person2;Person person = new Person 3;person = (Person )object;/可以轉(zhuǎn)換int i = new int2;long l = new int3;i = (long)l;/不可以轉(zhuǎn)換26用socket通訊寫(xiě)出客戶端和服務(wù)器端的通訊,要求客戶發(fā)送數(shù)據(jù)后能夠回顯相同的數(shù)據(jù)。 Server.java:源代碼import .*;import java.io.*;class Serverpublic Server()BufferedReader br = null;PrintWriter pw = null;tryServerSocket server = new ServerSocket(8888);/建立服務(wù)器端Socket socket = server.accept();/監(jiān)聽(tīng)客戶端/得到該連接的輸入流br = new BufferedReader(new InputStreamReader(socket.getInputStream();/得到該連接的輸出流pw = new PrintWriter(socket.getOutputStream(),true);/先讀后寫(xiě)String data = br.readLine();System.out.println(data);/輸出到控制臺(tái)pw.println(data);/轉(zhuǎn)發(fā)給客戶端catch(Exception e)e.printStackTrace();finallytry/關(guān)閉讀寫(xiě)流br.close();pw.close();catch(Exception e)public static void main(String args) Server server = new Server();Client.java:源代碼import .*;import java.io.*;class Clientpublic Client()BufferedReader br = null;PrintWriter pw = null;try Socket socket = new Socket(localhost,8888);/與服務(wù)器建立連接,服務(wù)器要先啟 /得到Socket的輸入與輸出流 br = new BufferedReader(new InputStreamReader(socket.getInputStream(); pw = new PrintWriter(socket.getOutputStream(),true); /先寫(xiě)后讀 pw.println(Client:你好!); String data = null; while(true) data = br.readLine(); if(data!=null) break; System.out.println(data);catch(Exception e)e.printStackTrace();finallytrybr.close();pw.close();catch(Exception e)public static void main(String args) Client c = new Client();27談?wù)刦inal, finally, finalize的區(qū)別。答案:final 用于聲明屬性,方法和類,分別表示屬性不可變,注意:如果是基本類型說(shuō)明變量本身不能改變,如果是引用類型,說(shuō)明它不能指向其他的對(duì)象了。但對(duì)象還是可以改變的。方法不可覆蓋,類不可繼承。finally是異常處理語(yǔ)句結(jié)構(gòu)的一部分,表示無(wú)論是否出現(xiàn)異??偸菆?zhí)行。finalize是Object類的一個(gè)方法,在垃圾收集器執(zhí)行的時(shí)候會(huì)調(diào)用被回收對(duì)象的此方法,可以覆蓋此方法提供垃圾收集時(shí)的其他資源回收,例如關(guān)閉文件等。28Anonymous Inner Class (匿名內(nèi)部類) 是否可以extends(繼承)其它類,是否可以implements(實(shí)現(xiàn))interface(接口)? 答案:可以繼承其他類或完成其他接口,在swing編程中常用此方式。29.Static Nested Class 和 Inner Class的不同,說(shuō)得越多越好(面試題有的很籠統(tǒng))。 答案:Static Nested Class是被聲明為靜態(tài)(static)的內(nèi)部類,它可以不依賴于外部類實(shí)例 被實(shí)例化。而通常的內(nèi)部類需要在外部類實(shí)例化后才能實(shí)例化。30.&和&的區(qū)別。 答案:&是位運(yùn)算符,表示按位與運(yùn)算,&是邏輯運(yùn)算符,表示邏輯與(and).另外,也可以用于邏輯運(yùn)算,與的區(qū)別在于是非短路運(yùn)算符,是短路運(yùn)算符31.HashMap和Hashtable的區(qū)別。 答案:HashMap是Hashtable的輕量級(jí)實(shí)現(xiàn)(非線程安全的實(shí)現(xiàn)),他們都實(shí)現(xiàn)了Map接口, 主要區(qū)別在于HashMap允許空(null)鍵值(key)與空值(value),由于非線程安全,效率上可能高于Hashtable,Hashtable不允許有空(null)鍵值(key)與空值(value)。32什么時(shí)候用assert? 答案:1.4新增關(guān)鍵字(語(yǔ)法),用于測(cè)試boolean表達(dá)式狀態(tài),可用于調(diào)試程序。使用方法 assert ,表示如果表達(dá)式為真(true),則下面的語(yǔ)句執(zhí)行,否則拋出AssertionError。33GC是什么? 為什么要有GC? 答案:GC是垃圾收集的意思(Gabage Collection),內(nèi)存處理是編程人員容易出現(xiàn)問(wèn)題的地方,忘記或者錯(cuò)誤的內(nèi)存回收會(huì)導(dǎo)致程序或系統(tǒng)的不穩(wěn)定甚至崩潰,Java提供的GC功能可以自動(dòng)監(jiān)測(cè)對(duì)象是否超過(guò)作用域從而達(dá)到自動(dòng)回收內(nèi)存的目的,Java語(yǔ)言沒(méi)有提供釋放已分配內(nèi)存的顯式操作方法。 34String s = new String(xyz);創(chuàng)建了幾個(gè)String Object? 答案:兩個(gè),一個(gè)是對(duì)象,一個(gè)是對(duì)象的引用。35Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 答案:Math.round(11.5)=12Math.round(-11.5)=-11,總是返回接近0的數(shù)。36short s1 = 1; s1 = s1 + 1;有什么錯(cuò)? short s1 = 1; s1 += 1;有什么錯(cuò)? 答案:short s1 = 1; s1 = s1 + 1; 有錯(cuò)(s1+1運(yùn)算結(jié)果是int型,需要強(qiáng)制轉(zhuǎn)換類型)short s1 = 1; s1 += 1;(沒(méi)有錯(cuò),s1=2)37.sleep() 和 wait() 有什么區(qū)別? 答案:sleep是線程類(Thread)的方法,導(dǎo)致此線程暫停執(zhí)行指定時(shí)間(休息),把執(zhí)行機(jī)會(huì)給其他線程,但是監(jiān)控狀態(tài)依然保持,到時(shí)后會(huì)自動(dòng)恢復(fù),時(shí)間到了會(huì)繼續(xù)運(yùn)行。調(diào)用sleep不會(huì)釋放對(duì)象鎖。wait是Object類的方法,對(duì)此對(duì)象調(diào)用wait方法導(dǎo)致本線程放棄對(duì)象鎖,進(jìn)入等待此對(duì)象的等待鎖定池,只有針對(duì)此對(duì)象發(fā)出notify方法(或notifyAll)后本線程才進(jìn)入對(duì)象鎖定池準(zhǔn)備獲得對(duì)象鎖進(jìn)入運(yùn)行狀態(tài)。38Java有沒(méi)有g(shù)oto語(yǔ)句? 答案:沒(méi)有39數(shù)組有沒(méi)有l(wèi)ength()這個(gè)方法? String有沒(méi)有l(wèi)ength()這個(gè)方法?答案:數(shù)組沒(méi)有l(wèi)ength()這個(gè)方法,有l(wèi)ength的屬性。String有l(wèi)ength()這個(gè)方法。40數(shù)組是不是基本類型?答案:不是。41Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型?答案:方法的重寫(xiě)Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重載Overload是一個(gè)類中多態(tài)性的一種表現(xiàn),方法名必需相同,參數(shù)列表必需不同.(長(zhǎng)度不同或類型不同),與返回值類型沒(méi)有關(guān)系. 構(gòu)造器也可以重載.方法名和參數(shù)列表都相同,只有返回類型不相同則是方法重復(fù)定義.編譯出錯(cuò). Overloaded的方法是可以改變返回值的類型。重寫(xiě)Override是父類與子類之間多態(tài)性的一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說(shuō)該方法被重寫(xiě) (Overriding)。子類的對(duì)象使用這個(gè)方法時(shí),將調(diào)用子類中的定義,對(duì)它而言,父類中的定義如同被“屏蔽”了。42Set里的元素能重復(fù)嗎?那么用什么方法區(qū)分是否重復(fù)? 答案:Set里的元素是不能重復(fù)的,如果重復(fù)就重復(fù)的就不加到里面。用iterator()方法來(lái)區(qū)分 重復(fù)與否。應(yīng)該覆蓋equals()判斷兩個(gè)Set是否相等。43.”=”與equal有何區(qū)別?答案:“=”比較的是內(nèi)存地址,equal比較的是內(nèi)容本身。44給我一個(gè)你最常見(jiàn)到的runtime exception。答案:IndexOutOfBoundsException 數(shù)組越界NullPointerException 空指針異常SystemException 系統(tǒng)異常45error和exception有什么區(qū)別?答案:Error表示系統(tǒng)級(jí)的錯(cuò)誤和程序不必處理的異常,我們無(wú)法處理它。 Exception表示是可以捕捉或者需要程序進(jìn)行處理的異常。 46List, Set, Map是否繼承自Collection接口?答案:List,Set是。Map不是47abstract class和interface有什么區(qū)別?答案:一個(gè)只能繼承一個(gè)抽象類,但卻可以實(shí)現(xiàn)多個(gè)接口。抽象類中可以有也可以沒(méi)有抽象方法。并且可以定義和常規(guī)類一樣的變量和方法。而接口中所有的方法都是抽象的,所有的變量都是靜態(tài)不可修改的。48abstract的method是否可同時(shí)是static,是否可同時(shí)是native,是否可同時(shí)是synchronized?答案:都不能。49接口是否可繼承接口? 抽象類是否可實(shí)現(xiàn)(implements)接口? 抽象類是否可繼承實(shí)體類答(concrete class)?答案:接口可以繼承接口。接口間繼承(extends),不能實(shí)現(xiàn)(implements)。抽象類可以實(shí)現(xiàn)(implements)接口,但接口不能實(shí)現(xiàn)抽象類。抽象類間也用繼承(extends)。抽象類是否可繼承實(shí)體類,但前提是實(shí)體類必須有無(wú)參的構(gòu)造函數(shù)。50啟動(dòng)一個(gè)線程是用run()還是start()?有什么區(qū)別?答案:?jiǎn)?dòng)一個(gè)線程是調(diào)用start()方法,這并不意味著線程就會(huì)立即運(yùn)行,只是進(jìn)入了可運(yùn)行狀態(tài)。直接調(diào)用run()方法不會(huì)產(chǎn)生線程,而是把它當(dāng)作普通的方法調(diào)用,馬上執(zhí)行。51Constructor是否可被override?答案:不可以,但可以重載。52. Class.forName的作用?答:調(diào)用該訪問(wèn)返回一個(gè)類名為指定字符串的類的對(duì)象。53文件讀寫(xiě)的基本類有哪些?答案:FileInputStream,FileOutputStread,File,IOException等。54寫(xiě)一個(gè)冒泡排序的程序。public class Sort public static void main(String args) int array = 2,3,4,1,43,432,1,344,234,2,3,43,32,434,3432,43,2432,432,4,43; int num = 0; /* 冒泡排續(xù) */ for(int i = 0;i array.length;i+) /* 每下底一個(gè)元素,則調(diào)換的次數(shù)減一。 注意:jarray.length-i-1,不減一則數(shù)組下標(biāo)越界。 */ for(int j = 0;j arrayj+1) temp = arrayj; arrayj = arrayj+1; arrayj+1 = temp; /* 輸出排序后的數(shù)組 */ System.out.println(*已排序的數(shù)組*); for(int i = 0;i array.length;i+) System.out.print(arrayi+); num+; if(num = 5)/每行輸出5個(gè)。 System.out.println(); num = 0; 55串行化的注意事項(xiàng)以及如何實(shí)現(xiàn)串行化?(Serializable)答案:*56線程的基本概念、線程的基本狀態(tài)以及狀態(tài)之間的關(guān)系答案:*57線程的同步、如何實(shí)現(xiàn)線程的同步?答案:*58幾種常用的數(shù)據(jù)結(jié)構(gòu)及內(nèi)部實(shí)現(xiàn)原理。答案:*59Socket通信(TCP、UDP區(qū)別及Java實(shí)現(xiàn)方式) 答案:*60Java的事件委托機(jī)制和垃圾回收機(jī)制答案:*61作用域public,private,protected,以及不寫(xiě)時(shí)的區(qū)別。答案:private-類可見(jiàn),不寫(xiě)-包可見(jiàn)protected-包可見(jiàn),并子類可見(jiàn) public-都可見(jiàn)62Java的國(guó)際化 答案:*63怎樣讓程序到后臺(tái)去運(yùn)行?答案:*64怎么把一個(gè)文件中的東西做全文替換。答案:*65ArrayList和Vector的區(qū)別?答案:就ArrayList與Vector主要從二方面來(lái)說(shuō). 同步性:Vector是線程安全的,也就是說(shuō)是同步的,而ArrayList是線程序不安全的,不是同步的 數(shù)據(jù)增長(zhǎng):當(dāng)需要增長(zhǎng)時(shí),Vector默認(rèn)增長(zhǎng)為原來(lái)一倍,而ArrayList卻是原來(lái)的一半。66char型變量中能不能存貯一個(gè)中文漢字?為什么? 答:是能夠定義成為一個(gè)中文的,因?yàn)閖ava中以u(píng)nicode編碼,一個(gè)char占16個(gè)字節(jié),所以放一個(gè)中文是沒(méi)問(wèn)題的。67多線程有幾種實(shí)現(xiàn)方法,都是什么?同步有幾種實(shí)現(xiàn)方法,都是什么? 答:多線程有兩種實(shí)現(xiàn)方法,分別是繼承Thread類與實(shí)現(xiàn)Runnable接口 同步的實(shí)現(xiàn)方面有兩種,分別是synchronized,wait與notify 68垃圾回收機(jī)制,如何優(yōu)化程序? 答案:*69float型float f=3.4是否正確? 答:不正確。類型不匹配,應(yīng)該用強(qiáng)制類型轉(zhuǎn)換,如下所示:float f=3.4f;70. Java中異常處理機(jī)制,事件機(jī)制?答案:*71.現(xiàn)在輸入n個(gè)數(shù)字,以逗號(hào),分開(kāi); 然后可選擇升或者降序排序; import java.util.StringTokenizer;import java.util.Arrays;public class Testpublic static void main(String args)String s = 2,654,24,6554,3234,3544,666,354,5435,11;StringTokenizer tok = new StringTokenizer(s,);/返回有多少個(gè)被分割元素int count = tok.countTokens();int result = new intcount;/把分割得到的數(shù)字存到數(shù)組中去。for(int i = 0;icount;i+)String temp = (String)tok.nextElement();resulti = Integer.parseInt(temp);/排序Arrays.sort(result);for(int i = 0;i(一千零一拾一元整)輸出。 答案:*73.當(dāng)一個(gè)線程進(jìn)入一個(gè)對(duì)象的一個(gè)synchronized方法后,其它線程是否可進(jìn)入此對(duì)象的其它方法? 答案:能,一個(gè)對(duì)象的synchronized方法只能由一個(gè)線程訪問(wèn)。但其他線程可以同時(shí)訪問(wèn)這個(gè)對(duì)象的非synchronized方法 74.try 里有一個(gè)return語(yǔ)句,那么緊跟在這個(gè)try后的finally 里的code會(huì)不會(huì)被執(zhí)行,什么時(shí)候被執(zhí)行,在return前還是后? 答案:會(huì)執(zhí)行,在return前執(zhí)行。 75編程題: 用最有效率的方法算出2乘以8等於幾? 有C背景的程序員特別喜歡問(wèn)這種問(wèn)題。 答案:2 3 。如果是2的10次方則是:110.76.兩個(gè)對(duì)象值相同(x.equals(y) = true),但卻可有不同的hash code,這句話對(duì)不對(duì)? 答案:兩個(gè)對(duì)象的值是否相同,根據(jù)的是equals方法,而hash code是由hashCode()方法決定。因此值相同的對(duì)象hash code可能不同。 77當(dāng)一個(gè)對(duì)象被當(dāng)作參數(shù)傳遞到一個(gè)方法后,此方法可改變這個(gè)對(duì)象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞? 答案:是值傳遞。Java 編程語(yǔ)言只由值傳遞參數(shù)。當(dāng)一個(gè)對(duì)象實(shí)例作為一個(gè)參數(shù)被傳遞到方法中時(shí),參數(shù)的值就是對(duì)該對(duì)象的引用。對(duì)象的內(nèi)容可以在被調(diào)用的方法中改變,但對(duì)象的引用是永遠(yuǎn)不會(huì)改變的。 78。編程題: 寫(xiě)一個(gè)Singleton出來(lái)。方式一:醉漢式public class Singletonprivate static Singleton test = new Singleton();/靜態(tài)的。保留自身的引用。/必須是私有的構(gòu)造函數(shù)private Singleton()public static Singleton getInstance()/公共的靜態(tài)的方法。return test;方式二:懶漢式public class Singletonprivate static Singleton test = null;/靜態(tài)的。保留自身的引用。/必須是私有的構(gòu)造函數(shù)private Singleton()public static Singleton getInstance()/公共的靜態(tài)的方法。if(test = null)test = new Singleton();return test;79.描述一下JVM加載class文件的原理機(jī)制?答案:*80試舉例說(shuō)明一個(gè)典型的垃圾回收算法?答案:*81請(qǐng)寫(xiě)一個(gè)java程序?qū)崿F(xiàn)線程連接池功能?答案:*82給定一個(gè)C語(yǔ)言函數(shù),要求實(shí)現(xiàn)在java類中進(jìn)行調(diào)用。答案:*83編一段代碼,實(shí)現(xiàn)在控制臺(tái)輸入一組數(shù)字后,排序后在控制臺(tái)輸出。答案:*84列出某文件夾下的所有文件; 答案:*85實(shí)現(xiàn)從文件中一次讀出一個(gè)字符的操作;答案:*86列出一些控制流程的方法;答案:*87多線程有哪些狀態(tài)? 答案:*88編寫(xiě)了一個(gè)服務(wù)器端的程序?qū)崿F(xiàn)在客戶端輸入字符然后在控制臺(tái)上顯示,

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論