国产不卡视频一区二区三区,中文字幕亚洲一区,亚洲一本色道 AV,免费观看的AV在线播放

中軟國際筆試真題(一)

思而思學網

1、 GC是什么? 為什么要有GC?

GC是垃圾收集的意思(Gabage Collection),內存處理是編程人員容易出現問題的地方,忘記或者錯誤的內存回收會導致程序或系統的不穩定甚至崩潰,Java提供的GC功能可以自動監測對象是否超過作用域從而達到自動回收內存的目的,Java語言沒有提供釋放已分配內存的顯示操作方法。

2、接口是否可繼承接口? 抽象類是否可實現(implements)接口? 抽象類是否可繼承實體類

(concrete class)?

接口可以繼承接口。抽象類可以實現(implements)接口,抽象類是否可繼承實體類,但前提是實體類必須有明確的構造函數。

3、 Overload和Override的區別。Overloaded的方法是否可以改變返回值的類型?

方法的重寫Overriding和重載Overloading是Java多態性的不同表現。重寫Overriding是父類與子類之間多態性的一種表現,重載Overloading是一個類中多態性的一種表現。如果在子類中定義某方法與其父類有相同的名稱和參數,我們說該方法被重寫 (Overriding)。子類的對象使用這個方法時,將調用子類中的定義,對它而言,父類中的定義如同被"屏蔽"了。如果在一個類中定義了多個同名的方法,它們或有不同的參數個數或有不同的參數類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。

4 、sleep() 和wait() 有什么區別?

sleep是線程類(Thread)的方法,導致此線程暫停執行指定時間,給執行機會給其他線程,但是監控狀態依然保持,到時后會自動恢復。調用sleep不會釋放對象鎖。wait是Object類的方法,對此對象調用wait方法導致本線程放棄對象鎖,進入等待此對象的等待鎖定池,只有針對此對象發出notify方法(或notifyAll)后本線程才進入對象鎖定池準備獲得對象鎖進入運行狀態。

5、 final, finally, finalize的區別。

final 用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。 finally是異常處理語句結構的一部分,表示總是執行。 finalize是Object類的一個方法,在垃圾收集器執行的時候會調用被回收對象的此方法,可以覆蓋此方法提供垃圾收集時的其他資源回收,例如關閉文件等。

6、HashMap和Hashtable的區別。

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

7、&和&&的區別。

&是位運算符,表示按位與運算,&&是邏輯運算符,表示邏輯與(and)。

8、Set 里的元素是不能重復的,那么用什么方法來區分重復與否呢? 是用==還是equals()? 它們有何區別?

Set 里的元素是不能重復的,用equals ()方法來區分重復與否。覆蓋

equals()方法用來判斷對象的內容是否相同,而”==”判斷地址是否相等,用來

決定引用值是否指向同一對象。

9、什么是內部類?

內部類就是在一個類的內部定義的類,內部類中不能定義靜態成員(我想可能是既然靜態成員類似c語言的全局變量,而內部類通常是用于創建內部對象用的,所以,把“全局變量”放在內部類中就是毫無意義的事情,既然是毫無意義的事情,就應該被禁止),內部類可以直接訪問外部類中的成員變量,內部類可以定義在外部類的方法外面,也可以定義在外部類的方法體中,如下所示:

public class Outer

{

int out_x = 0;

public void method()

{

Inner1 inner1 = new Inner1();

class Inner2 //在方法體內部定義的內部類

{

public method()

{

out_x = 3;

}

}

Inner2 inner2 = new Inner2();

}

public class Inner1 //在方法體外面定義的內部類

{

}

}

在方法體外面定義的內部類的訪問類型可以是public,protecte,默認的,private等4種類型,這就好像類中定義的成員變量有4種訪問類型一樣,它們決定這個內部類的定義對其他類是否可見;對于這種情況,我們也可以在外面創建內部類的實例對象,創建內部類的實例對象時,一定要先創建外部類的實例對象,然后用這個外部類的實例對象去創建內部類的實例對象,代碼如下:

熱門推薦

最新文章