亞信java筆試題庫整理,看看你會嗎

亞信java筆試題庫整理,看看你會嗎

天津卓眾教育      2022-05-04 18:21:01     50

亞信java筆試題庫整理,看看你會嗎,Stringstr1=abc和Stringstr1=newString(abc);這兩個的區(qū)別是什么?答:Stringstr1=abc在編譯時已經(jīng)在一個常量池中生成一個拷貝,

課程價格 請咨詢

上課時段: 授課校區(qū):

詳細介紹

    Stringstr1="abc"和Stringstr1=newString("abc");這兩個的區(qū)別是什么?

    答:Stringstr1="abc"在編譯時已經(jīng)在一個常量池中生成一個拷貝,其中str1中的"abc"是字符串常量。而對于Stringstr1=newString("abc")的話,它是在運行時才創(chuàng)建。這兩句在內(nèi)在中所產(chǎn)生的對象并不是同一個對象。

    GC是什么?有幾種算法實現(xiàn)?(這題到現(xiàn)在也不大明白..如果GC是垃圾回收的話.后面為什么要問有幾種算法實現(xiàn)呢?)

    答:垃圾回收.可實現(xiàn)的算法有引用計數(shù),標記回收,復(fù)制回收等.

    collection和collections的區(qū)別?

    答:Collection是集合類的上級接口,繼承與他的接口主要有Set和List.

    Collections是針對集合類的一個幫助類,他提供一系列靜態(tài)方法實現(xiàn)對各種集合的搜   索、排序、線程安全化等操作。

    ArrayList和Vector的區(qū)別,HashMap和HashTable的區(qū)別?

    答:Vector是同步的。這個類中的一些方法保證了Vector中的對象是線程安全的。而ArrayList則是異步的,因此ArrayList中的對象并不是線程安全的。因為同步的要求會影響執(zhí)行的效率,所以如果你不需要線程安全的集合那么使用ArrayList是一個很好的選擇,這樣可以避免由于同步帶來的不必要的性能開銷。

    Hashtable和HashMap的區(qū)別:

    1.Hashtable是Dictionary的子類,HashMap是Map接口的一個實現(xiàn)類;

    2.Hashtable中的方法是同步的,而HashMap中的方法在缺省情況下是非同步的。即是說,在多線程應(yīng)用程序中,不用專門的操作就安全地可以使用Hashtable了;而對于HashMap,則需要額外的同步機制。但HashMap的同步問題可通過Collections的一個靜態(tài)方法得到解決:

    MapCollections.synchronizedMap(Mapm)

    這個方法返回一個同步的Map,這個Map封裝了底層的HashMap的所有方法,使得底層的HashMap即使是在多線程的環(huán)境中也是安全的。

    3.在HashMap中,null可以作為鍵,這樣的鍵只有一個;可以有一個或多個鍵所對應(yīng)的值為null。當(dāng)get()方法返回null值時,即可以表示HashMap中沒有該鍵,也可以表示該鍵所對應(yīng)的值為null。因此,在HashMap中不能由get()方法來判斷HashMap中是否存在某個鍵,而應(yīng)該用containsKey()方法來判斷。

    HashMap是Hashtable的輕量級實現(xiàn)(非線程安全的實現(xiàn)),他們都完成了Map接口,主要區(qū)別在于HashMap允許空(null)鍵值(key),由于非線程安全,效率上可能高于Hashtable。

    HashMap允許將null作為一個entry的key或者value,而Hashtable不允許。

    HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因為contains方法容易讓人引起誤解。

    Hashtable繼承自Dictionary類,而HashMap是Java1.2引進的Mapinterface的一個實現(xiàn)。

    最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多個線程訪問Hashtable時,不需要自己為它的方法實現(xiàn)同步,而HashMap就必須為之提供外同步。

    Hashtable和HashMap采用的hash/rehash算法都大概一樣,所以性能不會有很大的差異。

    overload和override的區(qū)別?

    override(重寫)

    1、方法名、參數(shù)、返回值相同。

    2、子類方法不能縮小父類方法的訪問權(quán)限。

    3、子類方法不能拋出比父類方法更多的異常(但子類方法可以不拋出異常)。

    4、存在于父類和子類之間。

    5、方法被定義為final不能被重寫。

    overload(重載)

    1、參數(shù)類型、個數(shù)、順序至少有一個不相同。

    2、不能重載只有返回值不同的方法名。

    3、存在于父類和子類、同類中。

 以上就是天津卓眾教育java培訓(xùn)機構(gòu)的小編針對“亞信java筆試題庫整理,看看你會嗎”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。

Java筆試題

培訓(xùn)啦提醒您:交易時請核實對方資質(zhì),對于過大宣傳或承諾需謹慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險,謹防上當(dāng)。