某大型公司Java面試題
好了廢話少說,開始正題。 第一,談談final, finally, finalize的區別。 final 用於宣告屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。 finally是異常處理語句結構的一部分,表示總是執行。 finalize是Object類的一個方法,在垃圾收集器執行的時候會呼叫被回收物件的此方法,可以覆蓋此方法提供垃圾收集時的其他資源回收,例如關閉檔案等。 第五,HashMap和Hashtable的區別。 HashMap是Hashtable的輕量級實現(非執行緒安全的實現),他們都完成了Map介面,主要區別在於HashMap允許空(null)鍵值(key),由於非執行緒安全,效率上可能高於Hashtable. 第六,Collection 和 Collections的區別。 Collection是集合類的上級介面,繼承與他的介面主要有Set 和List. Collections是針對集合類的一個幫助類,他提供一系列靜態方法實現對各種集合的搜尋、排序、執行緒安全化等操作。 使用方法 assert <boolean表示式>,表示如果表示式為真(true),則下面的語句執行,否則丟擲AssertionError。 另外的使用方式assert < boolean表示式>:<other表示式>,表示如果表示式為真,後面的表示式忽略,否則後面表示式的值用於AssertionError的構建引數。 注意編譯時要增加-source 1.4 引數,否則報錯。]執行時要增加 –ea引數,否則assert行被忽略 Math.round(-11.5)==-11 round方法返回與引數最接近的長整數,引數加1/2後求其floor. short s1 = 1; s1 += 1;(可以正確編譯) wait是Object類的方法,對此物件呼叫wait方法導致本執行緒放棄物件鎖,進入等待此物件的等待鎖定池,只有針對此物件發出notify方法(或notifyAll)後本執行緒才進入物件鎖定池準備獲得物件鎖進入執行狀態。 第十三,Java有沒有goto? |