java不熟悉要點

RuntimeException就是運行時異常,它是java編譯器事先不可預見的異常,而其他的異常大致的說是檢查時異常,就是說幫你檢查出來了可能出現的異常。此時你程序未執行,但是有可能拋出這個異常,所以提醒你記得捕獲。。說個更通俗的,你代碼裏出現過catch(IOException).也出現過SQLExec

抽象方法是非靜態的 

我是這樣理解的:抽象類是不能實例化的,即不能被分配內存,而static修飾的方法在類實例化之前就已經別分配了內存,這樣一來矛盾就出現了:抽象類不能被分配內存,而static方法必須被分配內存。所以抽象類中不能有靜態的抽象方法。

java.lang.Object.clone()分析

1.自己的類要用clone則必須覆蓋Object.clone(),或深拷貝,或淺拷貝
且實現Cloneable接口,以作爲標記
2.protected的作用域爲本包和子類


String 字符串常量,經常改變內容的字符串最好不要用 String
StringBuffer 字符串變量(線程安全),用於多任務併發訪問
StringBuilder 字符串變量(非線程安全),單任務訪問時比StringBuffer更有效,字符串生成器


java內部類參數爲final

局部變量的生命週期與內部類不同,直觀上看,若方法訪問結束,變量消失,內部類就無法拿到其傳來的參數了;實際內部類的實現是在其內部構造了一個同類型的成員變量,並在構造方法中將局部變量的值傳給它;之所以設成final的,是爲了合乎邏輯,如上所述,局部變量的改變不會影響內部類中的值。

參考Java的局部內部類以及final類型的參數和變量


線程安全:StringBuffer\Enumeration:(HashTable\Vector)

對應於非線程安全的:StringBuilder\Iterator:(HashMap\Collection)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章