<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-42  評(píng)論-349  文章-4  trackbacks-0

    ????? 最近找工作,總是屢屢碰壁,原因是多方面的。記得beansoft大哥一句話(huà),面試就是要把人搞的什么都不會(huì)然后砍價(jià),為了應(yīng)付各大公司的筆試,我收集整理了一些java面試題,放在手機(jī)電子書(shū)里面隨時(shí)隨地看,為了以后飯吃……現(xiàn)在放出來(lái),希望可以給同樣找工作的兄弟們能有些幫助——不被資本家砍得太狠……
    ????
    ??? 后面我會(huì)繼續(xù)放一些整理的java編程方面的題目……
    ??? 為了方便大家閱讀下載,也給這個(gè)文章起個(gè)版本,以后有修改就依次是1.1,1.2,1.3,1.4……
    ?
    Java面試題—基礎(chǔ)方面:
    1、作用域public,private,protected,以及不寫(xiě)時(shí)的區(qū)別?

    答:區(qū)別如下:
    作用域 ?當(dāng)前類(lèi)?同一packag?子孫類(lèi)?其他package
    public?√?√?√?√
    protected?√?√?√?×
    friendly?√?√?×?×
    private?√?×?×?×
    不寫(xiě)時(shí)默認(rèn)為friendly

    2、char型變量中能不能存貯一個(gè)中文漢字?為什么?
    答:是能夠定義成為一個(gè)中文的,因?yàn)閖ava中以u(píng)nicode編碼,一個(gè)char占16個(gè)字節(jié),所以放一個(gè)中文字符是沒(méi)問(wèn)題的。

    3、Anonymous Inner Class (匿名內(nèi)部類(lèi)) 是否可以extends(繼承)其它類(lèi),是否可以implements(實(shí)現(xiàn))interface(接口)?
    答:匿名的內(nèi)部類(lèi)是沒(méi)有名字的內(nèi)部類(lèi),不能extends(繼承) 其它類(lèi),但一個(gè)內(nèi)部類(lèi)可以作為一個(gè)接口,由另一個(gè)內(nèi)部類(lèi)實(shí)現(xiàn)。

    4、Static Nested Class 和Inner Class的不同?
    答:Nested Class (一般是C++的說(shuō)法),Inner Class (一般是JAVA的說(shuō)法)。Java內(nèi)部類(lèi)與C++嵌套類(lèi)最大的不同就在于是否有指向外部的引用上。注: 靜態(tài)內(nèi)部類(lèi)(Inner Class)意味著1創(chuàng)建一個(gè)static內(nèi)部類(lèi)的對(duì)象,不需要一個(gè)外部類(lèi)對(duì)象,2不能從一個(gè)static內(nèi)部類(lèi)的一個(gè)對(duì)象訪(fǎng)問(wèn)一個(gè)外部類(lèi)對(duì)象。

    5、&和&&的區(qū)別?
    答:&是位運(yùn)算符,表示按位與運(yùn)算,&&是邏輯運(yùn)算符,表示邏輯與(and)。

    6、Collection 和Collections的區(qū)別?
    答:Collection是集合類(lèi)的上級(jí)接口,繼承與他的接口主要有Set 和List。
    ?? Collections是針對(duì)集合類(lèi)的一個(gè)幫助類(lèi),他提供一系列靜態(tài)方法實(shí)現(xiàn)對(duì)各種集合的搜索、排序、線(xiàn)程安全化等操作。

    7、什么時(shí)候用assert?
    答:assertion(斷言)在軟件開(kāi)發(fā)中是一種常用的調(diào)試方式,很多開(kāi)發(fā)語(yǔ)言中都支持這種機(jī)制。在實(shí)現(xiàn)中,assertion就是在程序中的一條語(yǔ)句,它對(duì)一個(gè)boolean表達(dá)式進(jìn)行檢查,一個(gè)正確程序必須保證這個(gè)boolean表達(dá)式的值為true;如果該值為false,說(shuō)明程序已經(jīng)處于不正確的狀態(tài)下,系統(tǒng)將給出警告或退出。一般來(lái)說(shuō),assertion用于保證程序最基本、關(guān)鍵的正確性。assertion檢查通常在開(kāi)發(fā)和測(cè)試時(shí)開(kāi)啟。為了提高性能,在軟件發(fā)布后,assertion檢查通常是關(guān)閉的。

    8、代碼String s = new String("xyz");創(chuàng)建了幾個(gè)String Object?
    答:兩個(gè),一個(gè)字符對(duì)象,一個(gè)字符對(duì)象引用對(duì)象。

    9、Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
    答:Math.round(11.5)==12;Math.round(-11.5)==-11;round方法返回與參數(shù)最接近的長(zhǎng)整數(shù),參數(shù)加1/2后求其floor。

    10、short s1 = 1; s1 = s1 + 1;有什么錯(cuò)? short s1 = 1; s1 += 1;有什么錯(cuò)?
    答:short s1 = 1; s1 = s1 + 1; (s1+1運(yùn)算結(jié)果是int型,需要強(qiáng)制轉(zhuǎn)換類(lèi)型)short s1 = 1; s1 += 1;(可以正確編譯)。

    11、Java有沒(méi)有g(shù)oto?
    答:goto是java中的保留字,但現(xiàn)在沒(méi)有在java中使用。

    12、數(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è)方法。

    13、Overload和Override的區(qū)別?Overloaded的方法是否可以改變返回值的類(lèi)型?
    答:方法的重寫(xiě)Overriding 和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫(xiě)(Overriding)是父類(lèi)與子類(lèi)之間多態(tài)性的一種表現(xiàn),重載(Overloading)是一個(gè)類(lèi)中多態(tài)性的一種表現(xiàn)。如果在子類(lèi)中定義某方法與其父類(lèi)有相同的名稱(chēng)和參數(shù),我們說(shuō)該方法被重寫(xiě) (Overriding)。子類(lèi)的對(duì)象使用這個(gè)方法時(shí),將調(diào)用子類(lèi)中的定義,對(duì)它而言,父類(lèi)中的定義如同被"屏蔽"了。如果在一個(gè)類(lèi)中定義了多個(gè)同名的方法,它們或有不同的參數(shù)個(gè)數(shù)或有不同的參數(shù)類(lèi)型,則稱(chēng)為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類(lèi)型。

    14、Set里的元素是不能重復(fù)的,那么用什么方法來(lái)區(qū)分重復(fù)與否呢? 是用==還是equals()? 它們有何區(qū)別?
    答:Set里的元素是不能重復(fù)的,那么用iterator()方法來(lái)區(qū)分重復(fù)與否。equals()是判讀兩個(gè)Set是否相等。
    equals()和==方法決定引用值是否指向同一對(duì)象,equals()在類(lèi)中被覆蓋,為的是當(dāng)兩個(gè)分離的對(duì)象的內(nèi)容和類(lèi)型相配的話(huà),返回真值。

    15、運(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í)異常。

    16、給我一個(gè)你最常見(jiàn)到的runtime exception?
    答:常見(jiàn)的運(yùn)行時(shí)異常有如下這些: ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException。

    17、error和exception有什么區(qū)別?
    答:error 表示恢復(fù)不是不可能但很困難的情況下的一種嚴(yán)重問(wèn)題。比如說(shuō)內(nèi)存溢出。不可能指望程序能處理這樣的情況。
    exception 表示一種設(shè)計(jì)或?qū)崿F(xiàn)問(wèn)題。也就是說(shuō),它表示如果程序運(yùn)行正常,從不會(huì)發(fā)生的情況。

    18、List, Set, Map是否繼承自Collection接口?
    答: List,Set是,Map不是。

    19、abstract class和interface有什么區(qū)別?
    答:聲明方法的存在而不去實(shí)現(xiàn)它的類(lèi)被叫做抽象類(lèi)(abstract class),它用于要?jiǎng)?chuàng)建一個(gè)體現(xiàn)某些基本行為的類(lèi),并為該類(lèi)聲明方法,但不能在該類(lèi)中實(shí)現(xiàn)該類(lèi)的情況。不能創(chuàng)建abstract 類(lèi)的實(shí)例。然而可以創(chuàng)建一個(gè)變量,其類(lèi)型是一個(gè)抽象類(lèi),并讓它指向具體子類(lèi)的一個(gè)實(shí)例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。Abstract 類(lèi)的子類(lèi)為它們父類(lèi)中的所有抽象方法提供實(shí)現(xiàn),否則它們也是抽象類(lèi)為。取而代之,在子類(lèi)中實(shí)現(xiàn)該方法。知道其行為的其它類(lèi)可以在類(lèi)中實(shí)現(xiàn)這些方法。
    接口(interface)是抽象類(lèi)的變體。在接口中,所有方法都是抽象的。多繼承性可通過(guò)實(shí)現(xiàn)這樣的接口而獲得。接口中的所有方法都是抽象的,沒(méi)有一個(gè)有程序體。接口只可以定義static final成員變量。接口的實(shí)現(xiàn)與子類(lèi)相似,除了該實(shí)現(xiàn)類(lèi)不能從接口定義中繼承行為。當(dāng)類(lèi)實(shí)現(xiàn)特殊接口時(shí),它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實(shí)現(xiàn)了該接口的類(lèi)的任何對(duì)象上調(diào)用接口的方法。由于有抽象類(lèi),它允許使用接口名作為引用變量的類(lèi)型。通常的動(dòng)態(tài)聯(lián)編將生效。引用可以轉(zhuǎn)換到接口類(lèi)型或從接口類(lèi)型轉(zhuǎn)換,instanceof 運(yùn)算符可以用來(lái)決定某對(duì)象的類(lèi)是否實(shí)現(xiàn)了接口。

    20、abstract的method是否可同時(shí)是static,是否可同時(shí)是native,是否可同時(shí)是synchronized?
    答:都不能

    21、接口是否可繼承接口? 抽象類(lèi)是否可實(shí)現(xiàn)(implements)接口? 抽象類(lèi)是否可繼承實(shí)體類(lèi)(concrete class)?
    答:接口可以繼承接口。抽象類(lèi)可以實(shí)現(xiàn)(implements)接口,抽象類(lèi)是否可繼承實(shí)體類(lèi),但前提是實(shí)體類(lèi)必須有明確的構(gòu)造函數(shù)。

    22、JAVA中的多態(tài)與繼承?
    答:

    23、構(gòu)造器Constructor是否可被override?
    答:構(gòu)造器Constructor不能被繼承,因此不能重寫(xiě)Overriding,但可以被重載Overloading。

    24、是否可以繼承String類(lèi)?
    答:String類(lèi)是final類(lèi)故不可以繼承。

    25、try {}里有一個(gè)return語(yǔ)句,那么緊跟在這個(gè)try后的finally {}里的code會(huì)不會(huì)被執(zhí)行,什么時(shí)候被執(zhí)行,在return前還是后?
    答:會(huì)執(zhí)行,在return前執(zhí)行

    26、用最有效率的方法算出2乘以8等於幾?
    答:2 << 3

    27、兩個(gè)對(duì)象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話(huà)對(duì)不對(duì)?
    答:不對(duì),有相同的hash code。

    28、當(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ì)改變的。

    29、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
    答:switch(expr1)中,expr1是一個(gè)整數(shù)表達(dá)式。因此傳遞給 switch 和 case 語(yǔ)句的參數(shù)應(yīng)該是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。

    30、ArrayList和Vector的區(qū)別?
    答:1)、同步性:Vector是線(xiàn)程安全的,也就是說(shuō)是同步的,而ArrayList是線(xiàn)程序不安全的,不是同步的
    2)、數(shù)據(jù)增長(zhǎng):當(dāng)需要增長(zhǎng)時(shí),Vector默認(rèn)增長(zhǎng)為原來(lái)一培,而ArrayList卻是原來(lái)的一半

    31、HashMap和Hashtable的區(qū)別?
    答:HashMap是Hashtable的輕量級(jí)實(shí)現(xiàn)(非線(xiàn)程安全的實(shí)現(xiàn)),他們都完成了Map接口,主要區(qū)別在于HashMap允許空(null)鍵值(key),由于非線(xiàn)程安全,效率上可能高于Hashtable。
    HashMap允許將null作為一個(gè)entry的key或者value,而Hashtable不允許。
    HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因?yàn)閏ontains方法容易讓人引起誤解。
    Hashtable繼承自Dictionary類(lèi),而HashMap是Java1.2引進(jìn)的Map interface的一個(gè)實(shí)現(xiàn)。
    最大的不同是,Hastable的方法是Synchronize的,而HashMap不是,在多個(gè)線(xiàn)程訪(fǎng)問(wèn)Hashtable時(shí),不需要自己為它的方法實(shí)現(xiàn)同步,而HashMap 就必須為之提供外同步。
    Hashtable和HashMap采用的hash/rehash算法都大概一樣,所以性能不會(huì)有很大的差異。

    32、float型float f=3.4是否正確?
    答:不正確。精度不準(zhǔn)確,應(yīng)該用強(qiáng)制類(lèi)型轉(zhuǎn)換,如下所示:float f=(float)3.4。

    33、介紹JAVA中的Collection FrameWork(包括如何寫(xiě)自己的數(shù)據(jù)結(jié)構(gòu))?
    答:Collection FrameWork如下:
    Collection
    ├List
    │├LinkedList
    │├ArrayList
    │└Vector
    │ └Stack
    └Set
    Map
    ├Hashtable
    ├HashMap
    └WeakHashMap
    Collection是最基本的集合接口,一個(gè)Collection代表一組Object,即Collection的元素(Elements)。
    Map提供key到value的映射。

    34、抽象類(lèi)與接口?
    答:抽象類(lèi)與接口都用于抽象,但是抽象類(lèi)(JAVA中)可以有自己的部分實(shí)現(xiàn),而接口則完全是一個(gè)標(biāo)識(shí)(同時(shí)有多重繼承的功能)。
    JAVA類(lèi)實(shí)現(xiàn)序例化的方法是實(shí)現(xiàn)java.io.Serializable接口
    Collection框架中實(shí)現(xiàn)比較要實(shí)現(xiàn)Comparable 接口和Comparator 接口

    35、String是最基本的數(shù)據(jù)類(lèi)型嗎?
    答:基本數(shù)據(jù)類(lèi)型包括byte、int、char、long、float、double、boolean和short。
    java.lang.String類(lèi)是final類(lèi)型的,因此不可以繼承這個(gè)類(lèi)、不能修改這個(gè)類(lèi)。為了提高效率節(jié)省空間,我們應(yīng)該用StringBuffer類(lèi)。

    36、String與StringBuffer的區(qū)別?
    答:String的長(zhǎng)度是不可變的,StringBuffer的長(zhǎng)度是可變的。如果你對(duì)字符串中的內(nèi)容經(jīng)常進(jìn)行操作,特別是內(nèi)容要修改時(shí),那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法。

    37、談?wù)刦inal, finally, finalize的區(qū)別?
    答:final—修飾符(關(guān)鍵字)如果一個(gè)類(lèi)被聲明為final,意味著它不能再派生出新的子類(lèi),不能作為父類(lèi)被繼承。因此一個(gè)類(lèi)不能既被聲明為abstract的,又被聲明為final的。將變量或方法聲明為final,可以保證它們?cè)谑褂弥胁槐桓淖儭1宦暶鳛閒inal的變量必須在聲明時(shí)給定初值,而在以后的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載
    finally—再異常處理時(shí)提供finally 塊來(lái)執(zhí)行任何清除操作。如果拋出一個(gè)異常,那么相匹配的catch 子句就會(huì)執(zhí)行,然后控制就會(huì)進(jìn)入finally 塊(如果有的話(huà))
    finalize是一個(gè)方法名。Java 技術(shù)允許使用finalize() 方法在垃圾收集器將對(duì)象從內(nèi)存中清除出去之前做必要的清理工作。這個(gè)方法是由垃圾收集器在確定這個(gè)對(duì)象沒(méi)有被引用時(shí)對(duì)這個(gè)對(duì)象調(diào)用的。它是在Object 類(lèi)中定義的,因此所有的類(lèi)都繼承了它。子類(lèi)覆蓋finalize() 方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作。finalize() 方法是在垃圾收集器刪除對(duì)象之前對(duì)這個(gè)對(duì)象調(diào)用的

    38、面向?qū)ο蟮奶卣饔心男┓矫??
    答:主要有以下四方面:
    1)抽象:抽象就是忽略一個(gè)主題中與當(dāng)前目標(biāo)無(wú)關(guān)的那些方面,以便更充分地注意與當(dāng)前目標(biāo)有關(guān)的方面。抽象并不打算了解全部問(wèn)題,而只是選擇其中的一部分,暫時(shí)不用部分細(xì)節(jié)。抽象包括兩個(gè)方面,一是過(guò)程抽象,二是數(shù)據(jù)抽象。
    2)繼承:繼承是一種聯(lián)結(jié)類(lèi)的層次模型,并且允許和鼓勵(lì)類(lèi)的重用,它提供了一種明確表述共性的方法。對(duì)象的一個(gè)新類(lèi)可以從現(xiàn)有的類(lèi)中派生,這個(gè)過(guò)程稱(chēng)為類(lèi)繼承。新類(lèi)繼承了原始類(lèi)的特性,新類(lèi)稱(chēng)為原始類(lèi)的派生類(lèi)(子類(lèi)),而原始類(lèi)稱(chēng)為新類(lèi)的基類(lèi)(父類(lèi))。派生類(lèi)可以從它的基類(lèi)那里繼承方法和實(shí)例變量,并且類(lèi)可以修改或增加新的方法使之更適合特殊的需要。
    3)封裝:封裝是把過(guò)程和數(shù)據(jù)包圍起來(lái),對(duì)數(shù)據(jù)的訪(fǎng)問(wèn)只能通過(guò)已定義的界面。面向?qū)ο笥?jì)算始于這個(gè)基本概念,即現(xiàn)實(shí)世界可以被描繪成一系列完全自治、封裝的對(duì)象,這些對(duì)象通過(guò)一個(gè)受保護(hù)的接口訪(fǎng)問(wèn)其他對(duì)象。
    4)多態(tài)性:多態(tài)性是指允許不同類(lèi)的對(duì)象對(duì)同一消息作出響應(yīng)。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多態(tài)性語(yǔ)言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢(shì),很好的解決了應(yīng)用程序函數(shù)同名問(wèn)題。

    39、int 和 Integer 有什么區(qū)別?
    答:Java 提供兩種不同的類(lèi)型:引用類(lèi)型和原始類(lèi)型(或內(nèi)置類(lèi)型)。Int是java的原始數(shù)據(jù)類(lèi)型,Integer是java為int提供的封裝類(lèi)。Java為每個(gè)原始類(lèi)型提供了封裝類(lèi)。原始類(lèi)型封裝類(lèi):booleanBoolean,charCharacter,byteByte,shortShort,intInteger,longLong,floatFloat,doubleDouble引用類(lèi)型和原始類(lèi)型的行為完全不同,并且它們具有不同的語(yǔ)義。引用類(lèi)型和原始類(lèi)型具有不同的特征和用法,它們包括:大小和速度問(wèn)題,這種類(lèi)型以哪種類(lèi)型的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),當(dāng)引用類(lèi)型和原始類(lèi)型用作某個(gè)類(lèi)的實(shí)例數(shù)據(jù)時(shí)所指定的缺省值。對(duì)象引用實(shí)例變量的缺省值為 null,而原始類(lèi)型實(shí)例變量的缺省值與它們的類(lèi)型有關(guān)?

    40、說(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方法(線(xiàn)程安全),通常性能上較ArrayList差,而LinkedList使用雙向鏈表實(shí)現(xiàn)存儲(chǔ),按序號(hào)索引數(shù)據(jù)需要進(jìn)行前向或后向遍歷,但是插入數(shù)據(jù)時(shí)只需要記錄本項(xiàng)的前后項(xiàng)即可,所以插入速度較快。

    41、heap和stack有什么區(qū)別?
    答:棧是一種線(xiàn)形集合,其添加和刪除元素的操作應(yīng)在同一段完成。棧按照后進(jìn)先出的方式進(jìn)行處理。堆是棧的一個(gè)組成元素。

    42、Java的接口和C++的虛類(lèi)的相同和不同處?
    答:由于Java 不支持多繼承,而有可能某個(gè)類(lèi)或?qū)ο笠褂梅謩e在幾個(gè)類(lèi)或?qū)ο罄锩娴姆椒ɑ驅(qū)傩裕F(xiàn)有的單繼承機(jī)制就不能滿(mǎn)足要求。與繼承相比,接口有更高的靈活性,因?yàn)榻涌谥袥](méi)有任何實(shí)現(xiàn)代碼。當(dāng)一個(gè)類(lèi)實(shí)現(xiàn)了接口以后,該類(lèi)要實(shí)現(xiàn)接口里面所有的方法和屬性,并且接口里面的屬性在默認(rèn)狀態(tài)下面都是public? static,所有方法默認(rèn)情況下是public.一個(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)接口。

    43、Java中異常處理機(jī)制,事件機(jī)制?
    答:參考http://www.zahui.com/html/6/14076.htm

    44、Java中的異常處理機(jī)制的簡(jiǎn)單原理和應(yīng)用?
    答:當(dāng)JAVA 程序違反了JAVA的語(yǔ)義規(guī)則時(shí),JAVA虛擬機(jī)就會(huì)將發(fā)生的錯(cuò)誤表示為一個(gè)異常。違反語(yǔ)義規(guī)則包括2種情況。一種是JAVA類(lèi)庫(kù)內(nèi)置的語(yǔ)義檢查。例如數(shù)組下標(biāo)越界,會(huì)引發(fā)IndexOutOfBoundsException;訪(fǎng)問(wèn)null的對(duì)象時(shí)會(huì)引發(fā)NullPointerException。另一種情況就是JAVA允許程序員擴(kuò)展這種語(yǔ)義檢查,程序員可以創(chuàng)建自己的異常,并自由選擇在何時(shí)用throw關(guān)鍵字引發(fā)異常。所有的異常都是 java.lang.Thowable的子類(lèi)。

    45、GC是什么? 為什么要有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)存的顯示操作方法。

    46、垃圾回收機(jī)制,如何優(yōu)化程序?
    答:對(duì)于GC來(lái)說(shuō),當(dāng)程序員創(chuàng)建對(duì)象時(shí),GC就開(kāi)始監(jiān)控這個(gè)對(duì)象的地址、大小以及使用情況。通常,GC采用有向圖的方式記錄和管理堆(heap)中的所有對(duì)象。? 通過(guò)這種方式確定哪些對(duì)象是"可達(dá)的",哪些對(duì)象是"不可達(dá)的"。
    當(dāng)GC確定一些對(duì)象為"不可達(dá)"時(shí),GC就有責(zé)任回收這些內(nèi)存空間。所以,程序員可以手動(dòng)執(zhí)行System.gc(),通知GC運(yùn)行,但是Java語(yǔ)言規(guī)范并不保證GC一定會(huì)執(zhí)行。
    詳情可參考:http://www.matrix.org.cn/resource/article/43/43769_JVM_GC_PDM.html

    47、垃圾回收的優(yōu)點(diǎn)和原理。并考慮2種回收機(jī)制多線(xiàn)程有幾種實(shí)現(xiàn)方法,都是什么?
    答:Java語(yǔ)言中一個(gè)顯著的特點(diǎn)就是引入了垃圾回收機(jī)制,使c++程序員最頭疼的內(nèi)存管理的問(wèn)題迎刃而解,它使得Java程序員在編寫(xiě)程序的時(shí)候不再需要考慮內(nèi)存管理。由于有個(gè)垃圾回收機(jī)制,Java中的對(duì)象不再有"作用域"的概念,只有對(duì)象的引用才有"作用域"。垃圾回收可以有效的防止內(nèi)存泄露,有效的使用可以使用的內(nèi)存。垃圾回收器通常是作為一個(gè)單獨(dú)的低級(jí)別的線(xiàn)程運(yùn)行,不可預(yù)知的情況下對(duì)內(nèi)存堆中已經(jīng)死亡的或者長(zhǎng)時(shí)間沒(méi)有使用的對(duì)象進(jìn)行清楚和回收,程序員不能實(shí)時(shí)的調(diào)用垃圾回收器對(duì)某個(gè)對(duì)象或所有對(duì)象進(jìn)行垃圾回收。回收機(jī)制有分代復(fù)制垃圾回收和標(biāo)記垃圾回收,增量垃圾回收。

    48、線(xiàn)程的基本概念、線(xiàn)程的基本狀態(tài)以及狀態(tài)之間的關(guān)系
    答:線(xiàn)程指在程序執(zhí)行過(guò)程中,能夠執(zhí)行程序代碼的一個(gè)執(zhí)行單位,每個(gè)程序至少都有一個(gè)線(xiàn)程,也就是程序本身。
    Java中的線(xiàn)程有四種狀態(tài)分別是:運(yùn)行、就緒、掛起、結(jié)束。

    49、啟動(dòng)一個(gè)線(xiàn)程是用run()還是start()?
    答:?jiǎn)?dòng)一個(gè)線(xiàn)程是調(diào)用start()方法,使線(xiàn)程所代表的虛擬處理機(jī)處于可運(yùn)行狀態(tài),這意味著它可以由JVM調(diào)度并執(zhí)行。這并不意味著線(xiàn)程就會(huì)立即運(yùn)行。run()方法可以產(chǎn)生必須退出的標(biāo)志來(lái)停止一個(gè)線(xiàn)程。

    50、多線(xiàn)程有幾種實(shí)現(xiàn)方法,都是什么?同步有幾種實(shí)現(xiàn)方法,都是什么?
    答:多線(xiàn)程有兩種實(shí)現(xiàn)方法,分別是繼承Thread類(lèi)與實(shí)現(xiàn)Runnable接口
    同步的實(shí)現(xiàn)方面有兩種,分別是synchronized,wait與notify

    51、sleep() 和 wait() 有什么區(qū)別?
    答:sleep是線(xiàn)程類(lèi)(Thread)的方法,導(dǎo)致此線(xiàn)程暫停執(zhí)行指定時(shí)間,給執(zhí)行機(jī)會(huì)給其他線(xiàn)程,但是監(jiān)控狀態(tài)依然保持,到時(shí)后會(huì)自動(dòng)恢復(fù)。調(diào)用sleep不會(huì)釋放對(duì)象鎖。
    wait是Object類(lèi)的方法,對(duì)此對(duì)象調(diào)用wait方法導(dǎo)致本線(xiàn)程放棄對(duì)象鎖,進(jìn)入等待此對(duì)象的等待鎖定池,只有針對(duì)此對(duì)象發(fā)出notify方法(或notifyAll)后本線(xiàn)程才進(jìn)入對(duì)象鎖定池準(zhǔn)備獲得對(duì)象鎖進(jìn)入運(yùn)行狀態(tài)。

    52、簡(jiǎn)述synchronized和java.util.concurrent.locks.Lock的異同 ?
    答:主要相同點(diǎn):Lock能完成synchronized所實(shí)現(xiàn)的所有功能
    主要不同點(diǎn):Lock有比synchronized更精確的線(xiàn)程語(yǔ)義和更好的性能。synchronized會(huì)自動(dòng)釋放鎖,而Lock一定要求程序員手工釋放,并且必須在finally從句中釋放。

    53、當(dāng)一個(gè)線(xiàn)程進(jìn)入一個(gè)對(duì)象的一個(gè)synchronized方法后,其它線(xiàn)程是否可進(jìn)入此對(duì)象的其它方法?
    答:不能,一個(gè)對(duì)象的一個(gè)synchronized方法只能由一個(gè)線(xiàn)程訪(fǎng)問(wèn)。

    54、java中有幾種方法可以實(shí)現(xiàn)一個(gè)線(xiàn)程?用什么關(guān)鍵字修飾同步方法? stop()和suspend()方法為何不推薦使用?
    答:有兩種實(shí)現(xiàn)方法,分別是繼承Thread類(lèi)與實(shí)現(xiàn)Runnable接口
    用synchronized關(guān)鍵字修飾同步方法
    反對(duì)使用stop(),是因?yàn)樗话踩K鼤?huì)解除由線(xiàn)程獲取的所有鎖定,而且如果對(duì)象處于一種不連貫狀態(tài),那么其他線(xiàn)程能在那種狀態(tài)下檢查和修改它們。結(jié)果很難檢查出真正的問(wèn)題所在。suspend()方法容易發(fā)生死鎖。調(diào)用suspend()的時(shí)候,目標(biāo)線(xiàn)程會(huì)停下來(lái),但卻仍然持有在這之前獲得的鎖定。此時(shí),其他任何線(xiàn)程都不能訪(fǎng)問(wèn)鎖定的資源,除非被"掛起"的線(xiàn)程恢復(fù)運(yùn)行。對(duì)任何線(xiàn)程來(lái)說(shuō),如果它們想恢復(fù)目標(biāo)線(xiàn)程,同時(shí)又試圖使用任何一個(gè)鎖定的資源,就會(huì)造成死鎖。所以不應(yīng)該使用suspend(),而應(yīng)在自己的Thread類(lèi)中置入一個(gè)標(biāo)志,指出線(xiàn)程應(yīng)該活動(dòng)還是掛起。若標(biāo)志指出線(xiàn)程應(yīng)該掛起,便用wait()命其進(jìn)入等待狀態(tài)。若標(biāo)志指出線(xiàn)程應(yīng)當(dāng)恢復(fù),則用一個(gè)notify()重新啟動(dòng)線(xiàn)程。

    55、同步和異步有何異同,在什么情況下分別使用他們?舉例說(shuō)明。
    答:如果數(shù)據(jù)將在線(xiàn)程間共享。例如正在寫(xiě)的數(shù)據(jù)以后可能被另一個(gè)線(xiàn)程讀到,或者正在讀的數(shù)據(jù)可能已經(jīng)被另一個(gè)線(xiàn)程寫(xiě)過(guò)了,那么這些數(shù)據(jù)就是共享數(shù)據(jù),必須進(jìn)行同步存取。
    當(dāng)應(yīng)用程序在對(duì)象上調(diào)用了一個(gè)需要花費(fèi)很長(zhǎng)時(shí)間來(lái)執(zhí)行的方法,并且不希望讓程序等待方法的返回時(shí),就應(yīng)該使用異步編程,在很多情況下采用異步途徑往往更有效率。

    56、JAVA類(lèi)實(shí)現(xiàn)序列化的方法(二種)?
    答: JAVA類(lèi)實(shí)現(xiàn)序例化的方法是實(shí)現(xiàn)java.io.Serializable接口。

    57、如在Collection框架中,實(shí)現(xiàn)比較要實(shí)現(xiàn)什么樣的接口?
    答: Collection框架中實(shí)現(xiàn)比較要實(shí)現(xiàn)Comparable 接口和 Comparator 接口。

    58、應(yīng)用服務(wù)器有那些?
    答:BEA WebLogic Server,IBM WebSphere Application Server,Oracle9i Application Server,jBoss,Tomcat。

    59、你所知道的集合類(lèi)都有哪些?主要方法?
    答:最常用的集合類(lèi)是 List 和 Map。 List 的具體實(shí)現(xiàn)包括 ArrayList 和 Vector,它們是可變大小的列表,比較適合構(gòu)建、存儲(chǔ)和操作任何類(lèi)型對(duì)象的元素列表。 List 適用于按數(shù)值索引訪(fǎng)問(wèn)元素的情形。
    Map 提供了一個(gè)更通用的元素存儲(chǔ)方法。 Map 集合類(lèi)用于存儲(chǔ)元素對(duì)(稱(chēng)作"鍵"和"值"),其中每個(gè)鍵映射到一個(gè)值。

    60、描述一下JVM加載class文件的原理機(jī)制?
    答:JVM中類(lèi)的裝載是由ClassLoader和它的子類(lèi)來(lái)實(shí)現(xiàn)的,Java ClassLoader 是一個(gè)重要的Java運(yùn)行時(shí)系統(tǒng)組件。它負(fù)責(zé)在運(yùn)行時(shí)查找和裝入類(lèi)文件的類(lèi)。

    61、簡(jiǎn)述邏輯操作(&,|,^)與條件操作(&&,||)的區(qū)別。
    答:區(qū)別主要答兩點(diǎn):a.條件操作只能操作布爾型的,而邏輯操作不僅可以操作布爾型,而且可以操作數(shù)值型
    b.邏輯操作不會(huì)產(chǎn)生短路

    62、JAVA語(yǔ)言如何進(jìn)行異常處理,關(guān)鍵字:throws,throw,try,catch,finally分別代表什么意義?在try塊中可以?huà)伋霎惓幔?/strong>
    答:Java通過(guò)面向?qū)ο蟮姆椒ㄟM(jìn)行異常處理,把各種不同的異常進(jìn)行分類(lèi),并提供了良好的接口。在Java中,每個(gè)異常都是一個(gè)對(duì)象,它是Throwable類(lèi)或其它子類(lèi)的實(shí)例。當(dāng)一個(gè)方法出現(xiàn)異常后便拋出一個(gè)異常對(duì)象,該對(duì)象中包含有異常信息,調(diào)用這個(gè)對(duì)象的方法可以捕獲到這個(gè)異常并進(jìn)行處理。Java的異常處理是通過(guò)5個(gè)關(guān)鍵詞來(lái)實(shí)現(xiàn)的:try、catch、throw、throws和finally。一般情況下是用try來(lái)執(zhí)行一段程序,如果出現(xiàn)異常,系統(tǒng)會(huì)拋出(throws)一個(gè)異常,這時(shí)候你可以通過(guò)它的類(lèi)型來(lái)捕捉(catch)它,或最后(finally)由缺省處理器來(lái)處理。
    用try來(lái)指定一塊預(yù)防所有"異常"的程序。緊跟在try程序后面,應(yīng)包含一個(gè)catch子句來(lái)指定你想要捕捉的"異常"的類(lèi)型。
    throw語(yǔ)句用來(lái)明確地拋出一個(gè)"異常"。
    throws用來(lái)標(biāo)明一個(gè)成員函數(shù)可能拋出的各種"異常"。
    Finally為確保一段代碼不管發(fā)生什么"異常"都被執(zhí)行一段代碼。
    可以在一個(gè)成員函數(shù)調(diào)用的外面寫(xiě)一個(gè)try語(yǔ)句,在這個(gè)成員函數(shù)內(nèi)部寫(xiě)另一個(gè)try語(yǔ)句保護(hù)其他代碼。每當(dāng)遇到一個(gè)try語(yǔ)句,"異常"的框架就放到堆棧上面,直到所有的try語(yǔ)句都完成。如果下一級(jí)的try語(yǔ)句沒(méi)有對(duì)某種"異常"進(jìn)行處理,堆棧就會(huì)展開(kāi),直到遇到有處理這種"異常"的try語(yǔ)句。

    63、一個(gè)".java"源文件中是否可以包括多個(gè)類(lèi)(不是內(nèi)部類(lèi))?有什么限制?
    答:可以。必須只有一個(gè)類(lèi)名與文件名相同。

    64、java中有幾種類(lèi)型的流?JDK為每種類(lèi)型的流提供了一些抽象類(lèi)以供繼承,請(qǐng)說(shuō)出他們分別是哪些類(lèi)?
    答:字節(jié)流,字符流。字節(jié)流繼承于InputStream OutputStream,字符流繼承于InputStreamReader OutputStreamWriter。在java.io包中還有許多其他的流,主要是為了提高性能和使用方便。

    65、java中會(huì)存在內(nèi)存泄漏嗎,請(qǐng)簡(jiǎn)單描述。
    答:會(huì)。如:int i,i2; return (i-i2); //when i為足夠大的正數(shù),i2為足夠大的負(fù)數(shù)。結(jié)果會(huì)造成溢位,導(dǎo)致錯(cuò)誤。

    66、什么是java序列化,如何實(shí)現(xiàn)java序列化?
    答:序列化就是一種用來(lái)處理對(duì)象流的機(jī)制,所謂對(duì)象流也就是將對(duì)象的內(nèi)容進(jìn)行流化。可以對(duì)流化后的對(duì)象進(jìn)行讀寫(xiě)操作,也可將流化后的對(duì)象傳輸于網(wǎng)絡(luò)之間。序列化是為了解決在對(duì)對(duì)象流進(jìn)行讀寫(xiě)操作時(shí)所引發(fā)的問(wèn)題。
    序列化的實(shí)現(xiàn):將需要被序列化的類(lèi)實(shí)現(xiàn)Serializable接口,該接口沒(méi)有需要實(shí)現(xiàn)的方法,implements Serializable只是為了標(biāo)注該對(duì)象是可被序列化的,然后使用一個(gè)輸出流(如:FileOutputStream)來(lái)構(gòu)造一個(gè)ObjectOutputStream(對(duì)象流)對(duì)象,接著,使用ObjectOutputStream對(duì)象的writeObject(Object obj)方法就可以將參數(shù)為obj的對(duì)象寫(xiě)出(即保存其狀態(tài)),要恢復(fù)的話(huà)則用輸入流。

    67、是否可以從一個(gè)static方法內(nèi)部發(fā)出對(duì)非static方法的調(diào)用?
    答:不可以,如果其中包含對(duì)象的method();不能保證對(duì)象初始化.

    68、寫(xiě)clone()方法時(shí),通常都有一行代碼,是什么?
    答:Clone 有缺省行為,super.clone();他負(fù)責(zé)產(chǎn)生正確大小的空間,并逐位復(fù)制。

    69、在JAVA中,如何跳出當(dāng)前的多重嵌套循環(huán)?
    答:用break; return 方法。

    70、內(nèi)部類(lèi)可以引用他包含類(lèi)的成員嗎?有沒(méi)有什么限制?
    答:一個(gè)內(nèi)部類(lèi)對(duì)象可以訪(fǎng)問(wèn)創(chuàng)建它的外部類(lèi)對(duì)象的內(nèi)容。



    By:殘夢(mèng)追月
    posted on 2009-03-13 20:28 殘夢(mèng)追月 閱讀(7230) 評(píng)論(21)  編輯  收藏 所屬分類(lèi): java

    評(píng)論:
    # re: 收集整理的java筆試面試題目 1.0版本……[未登錄](méi) 2009-03-13 20:34 | joe
    學(xué)Java不是考政治!!

      回復(fù)  更多評(píng)論
      
    # re: 收集整理的java筆試面試題目 1.0版本…… 2009-03-13 21:01 | mathlove
    謝謝了  回復(fù)  更多評(píng)論
      
    # re: 收集整理的java筆試面試題目 1.0版本…… 2009-03-13 21:02 | 隔葉黃鶯
    背下來(lái),應(yīng)付面試對(duì)答如流,關(guān)鍵是不用經(jīng)過(guò)大腦。  回復(fù)  更多評(píng)論
      
    # re: 收集整理的java筆試面試題目 1.0版本…… 2009-03-13 21:20 | 殘夢(mèng)追月
    @隔葉黃鶯
    呵呵,用處不大,只是為了應(yīng)付面試而已,但是又不得不去弄……  回復(fù)  更多評(píng)論
      
    # re: 收集整理的java筆試面試題目 1.0版本…… 2009-03-13 23:04 | 逝水fox
    個(gè)別答案是有問(wèn)題的咯
    比如這個(gè)

    63、一個(gè)".java"源文件中是否可以包括多個(gè)類(lèi)(不是內(nèi)部類(lèi))?有什么限制?
    答:可以。必須只有一個(gè)類(lèi)名與文件名相同。

    你完全可以在一個(gè)java文件里面建多個(gè)類(lèi) 并且每個(gè)類(lèi)都和這個(gè)文件名不一樣是完全可以的
    約束是在于 如果這些類(lèi)里面有public類(lèi) 那么 public類(lèi)只能有一個(gè) 并且必須和文件名同名 如果沒(méi)有哪個(gè)類(lèi)是public的 就沒(méi)有約束了 可以自己試試  回復(fù)  更多評(píng)論
      
    # re: 收集整理的java筆試面試題目 1.0版本…… 2009-03-13 23:14 | stone2083
    心態(tài)要擺正,如果純粹為了面試而去看面試題,是沒(méi)多少意義的。
    真正在面試過(guò)程中,對(duì)于一些僅僅看過(guò)面試題卻沒(méi)有深入掌握的人,只要多問(wèn)幾個(gè)為什么,往往就回答不上來(lái)了。  回復(fù)  更多評(píng)論
      
    # re: 收集整理的java筆試面試題目 1.0版本…… 2009-03-14 08:47 | Rique
    背題只是臨時(shí)抱佛腳,平時(shí)的積累很重要  回復(fù)  更多評(píng)論
      
    # re: 收集整理的java筆試面試題目 1.0版本…… 2009-03-14 16:35 | bitian
    "1、作用域public,private,protected,以及不寫(xiě)時(shí)的區(qū)別?
    答:區(qū)別如下:
    作用域 當(dāng)前類(lèi) 同一packag 子孫類(lèi) 其他package
    public √ √ √ √
    protected √ √ √ ×
    friendly √ √ × ×
    private √ × × ×
    不寫(xiě)時(shí)默認(rèn)為friendly"
    默認(rèn)應(yīng)該為Defualt(缺省的),怎么是friendly?  回復(fù)  更多評(píng)論
      
    # re: 收集整理的java筆試面試題目 1.0版本…… 2009-03-14 17:05 | 銀河使者
    # re: 收集整理的java筆試面試題目 1.0版本…… 2009-03-14 16:35 | bitian
    "1、作用域public,private,protected,以及不寫(xiě)時(shí)的區(qū)別?
    答:區(qū)別如下:
    作用域 當(dāng)前類(lèi) 同一packag 子孫類(lèi) 其他package
    public √ √ √ √
    protected √ √ √ ×
    friendly √ √ × ×
    private √ × × ×

    默認(rèn)時(shí)可以在子孫類(lèi)中使用(可以繼承),應(yīng)該和protected是一樣的,不信試試  回復(fù)  更多評(píng)論
      
    # re: 收集整理的java筆試面試題目 1.0版本…… 2009-03-14 17:55 | cmzy
    @bitian
    這個(gè)只是叫法不一樣,這個(gè)friendly是c++的叫法……  回復(fù)  更多評(píng)論
      
    # re: 收集整理的java筆試面試題目 1.0版本…… 2009-03-14 18:01 | regale
    float f=(float)3.4--->float f=3.4f
    兩個(gè)對(duì)象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話(huà)對(duì)不對(duì)?
    答:對(duì),可以有不同的hash code。
    5、&和&&的區(qū)別?
    答:&&是短路與
      回復(fù)  更多評(píng)論
      
    # re: 收集整理的java筆試面試題目 1.0版本……[未登錄](méi) 2009-03-16 10:39 | zeyuphoenix
    暈死,好多只能編程確認(rèn)了,概念記不清了。  回復(fù)  更多評(píng)論
      
    # re: 收集整理的java筆試面試題目 1.0版本……[未登錄](méi) 2009-03-16 23:34 | Nile Black
    @regale
    float f=(float)3.4--->float f=3.4f
    這兩者是不一樣的
    兩個(gè)對(duì)象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話(huà)對(duì)不對(duì)?
    答:對(duì),可以有不同的hash code。
    這個(gè)回答就誤人子弟了。應(yīng)該是反過(guò)來(lái)說(shuō)。hash code 一樣,可以不equals但是,equals的hash code絕對(duì)要一樣,不然就會(huì)遇到麻煩的。
    看看《effective java》

    改天有空一個(gè)個(gè)幫你看看 估計(jì)有問(wèn)題的 1/4 到 1/3 樓主繼續(xù)努力  回復(fù)  更多評(píng)論
      
    # re: 收集整理的java筆試面試題目 1.0版本……[未登錄](méi) 2009-03-17 09:52 | nile black
    3、Anonymous Inner Class (匿名內(nèi)部類(lèi)) 是否可以extends(繼承)其它類(lèi),是否可以implements(實(shí)現(xiàn))interface(接口)?
    答:匿名的內(nèi)部類(lèi)是沒(méi)有名字的內(nèi)部類(lèi),不能extends(繼承) 其它類(lèi),但一個(gè)內(nèi)部類(lèi)可以作為一個(gè)接口,由另一個(gè)內(nèi)部類(lèi)實(shí)現(xiàn)。

    new JButton().addMouseListener(new MouseAdapter(){});
    這里的匿名類(lèi)就是MouseAdapter的一個(gè)子類(lèi)  回復(fù)  更多評(píng)論
      
    # re: 收集整理的java筆試面試題目 1.0版本……[未登錄](méi) 2009-03-17 09:55 | nile black
    14、Set里的元素是不能重復(fù)的,那么用什么方法來(lái)區(qū)分重復(fù)與否呢? 是用==還是equals()? 它們有何區(qū)別?
    答:Set里的元素是不能重復(fù)的,那么用iterator()方法來(lái)區(qū)分重復(fù)與否。equals()是判讀兩個(gè)Set是否相等。
    equals()和==方法決定引用值是否指向同一對(duì)象,equals()在類(lèi)中被覆蓋,為的是當(dāng)兩個(gè)分離的對(duì)象的內(nèi)容和類(lèi)型相配的話(huà),返回真值。

    不能重復(fù),set判斷是否相等對(duì)象的順序是 先hashcode比較,在hashcode相同點(diǎn)情況再比較 equals。hashmap 同理。 看源碼實(shí)際上可以看到hashset里面就是hashmap  回復(fù)  更多評(píng)論
      
    # re: 收集整理的java筆試面試題目 1.0版本……[未登錄](méi) 2009-03-17 10:05 | nile black
    29、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
    答:switch(expr1)中,expr1是一個(gè)整數(shù)表達(dá)式。因此傳遞給 switch 和 case 語(yǔ)句的參數(shù)應(yīng)該是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。
    現(xiàn)在還有enum也可以  回復(fù)  更多評(píng)論
      
    # re: 收集整理的java筆試面試題目 1.0版本……[未登錄](méi) 2009-03-17 10:17 | nile black
    65、java中會(huì)存在內(nèi)存泄漏嗎,請(qǐng)簡(jiǎn)單描述。
    答:會(huì)。如:int i,i2; return (i-i2); //when i為足夠大的正數(shù),i2為足夠大的負(fù)數(shù)。結(jié)果會(huì)造成溢位,導(dǎo)致錯(cuò)誤。
    貌似和泄漏關(guān)系不大。

    例子很容易寫(xiě),只要寫(xiě)個(gè)靜態(tài)的集合,寫(xiě)個(gè)線(xiàn)程不停往里面寫(xiě)東西。
    內(nèi)存泄漏問(wèn)題不是語(yǔ)言層面能夠完全解決的。設(shè)計(jì)也會(huì)帶來(lái)內(nèi)存泄漏。  回復(fù)  更多評(píng)論
      
    # re: 收集整理的java筆試面試題目 1.0版本……[未登錄](méi) 2009-03-17 10:18 | nile black
    實(shí)際上樓主還是答得相當(dāng)不錯(cuò)的。為我的粗魯?shù)狼浮?nbsp; 回復(fù)  更多評(píng)論
      
    # re: 收集整理的java筆試面試題目 1.0版本……[未登錄](méi) 2009-03-17 20:43 | 殘夢(mèng)追月
    @nile black
    寒,不是我回答得,只是我收集整理得&……  回復(fù)  更多評(píng)論
      
    # re: 收集整理的java筆試面試題目 1.0版本……[未登錄](méi) 2009-11-26 10:30 | 日月
    你的內(nèi)容很不錯(cuò)啊,尤其是spring2.5內(nèi)容寫(xiě)的很通俗易懂.希望你今后能有更好的更新的的內(nèi)容出來(lái)啊  回復(fù)  更多評(píng)論
      
    # re: 收集整理的java筆試面試題目 1.0版本…… 2010-07-27 10:41 | juqkai
    好多內(nèi)容都 是錯(cuò)的~~~  回復(fù)  更多評(píng)論
      
    主站蜘蛛池模板: 中文在线免费看视频| 美女视频黄免费亚洲| 亚洲网站在线观看| 在线观看人成视频免费| 菠萝菠萝蜜在线免费视频| 亚洲av永久无码精品网站| 成年丰满熟妇午夜免费视频| 成年网在线观看免费观看网址| 亚洲成人精品久久| 日韩电影免费在线观看视频| 国产在线观看无码免费视频| 亚洲天堂2017无码中文| 中文字幕亚洲一区二区三区| 在线观看av永久免费| 中国在线观看免费的www| 亚洲人成在线中文字幕| 国产亚洲精品高清在线| 免费国产黄线在线观看| 在线看片免费人成视频福利| 亚洲av成本人无码网站| 亚洲电影唐人社一区二区| 亚洲日韩中文字幕日韩在线 | 四虎永久在线精品免费网址| 久久最新免费视频| 苍井空亚洲精品AA片在线播放| 亚洲毛片在线观看| 亚洲伊人色欲综合网| 国产高清免费的视频| 午夜性色一区二区三区免费不卡视频 | 乱爱性全过程免费视频| 色婷五月综激情亚洲综合| 久久夜色精品国产亚洲AV动态图| 四虎AV永久在线精品免费观看| 台湾一级毛片永久免费| 久久精品电影免费动漫| 国产精品美女久久久免费| 亚洲AⅤ男人的天堂在线观看 | 人妻在线日韩免费视频| 四虎影视在线看免费观看| 亚洲精品无码少妇30P| 亚洲人成网站18禁止久久影院|