Java Core 讀書筆記



                                    Java  Core 讀書筆記 java



1.      
Jdk5.0 新增靜態導入:import static java.lang.Math.*; 安全



 eg.
System.out.println(「The square root of 
is 」+sqrt(PI));
而不用Math.PI 函數







2.      
數據類型自動升級 測試





byte àshortàintàlongàfloatàdouble spa



charà intàlongàfloatàdouble 線程





3.      
一個類中的方法若是是privatestaticfinal的,則採用靜態綁定。不然爲動態綁定。 code





4.      
一個對象與另外一個對象equals相等,並非表示hashcode相等。Hashcode若是相等,並非equals就要相等。Hashcode的值跟對象的內存地址相關。 對象





5.      
讓一個對象具備克隆功能,必須implements
Cloneable
,若是一個類implements
Cloneable
,那麼不必定要覆寫clone方法。 繼承





6.      
內部類的三點好處: 接口



6.1  
能夠訪問該類定義所在的做用域中的數據,如私有數據。



6.2  
內部類能夠對同一個包的其餘類隱藏起來。



6.3  
當想要定義一個回調函數且不想編寫大量代碼,使用匿名內部類方便。





7.      
接口若是要實現另一個接口,那麼要用extends關鍵字,不能用implements



8.      
進行數據運算的時候,只有除0的操做纔會產生異常。書中說是對-1開平方會拋出異常這個在jdk6上面測試是不對的。結果應該是NaN



9.      
對於異常,早拋出,晚捕獲是很好的選擇。



10.  
 初版的576



11.  
Interrupt(),interrupted,isInterrupted()的區別:



Void interrupt():發送一箇中斷請求給一個線程,讓這個線程的中斷狀態將被設爲true,若是你這個線程當前阻塞,那麼throw interruptedException



Static Boolean interrupted():檢查當前線程(即正在執行該指定的線程)是否已經被中斷,它會將當前線程的中斷狀態設爲false



Boolean 
isInterrupted():
檢查一個線程是否被終止,它不會改變線程狀態。



第二版 13



12.  
線程優先級:默認狀況下,子線程繼承父線程的優先級,同時線程優先級高度依賴於系統,所以即便有些線程的java優先級高,可是不必定先調用。



13.  
守護線程:能夠經過t.setDaemon(true)方法讓一個線程變爲守護線程。守護線程惟一的做用就是爲其餘的線程提供服務,當只剩下守護線程時,JVM會關閉掉這些線程。



14.  
鎖:在下面三個條件下,對域的訪問是安全的。



14.1   
域是volatile



14.2   
域是final的,而且在構造器調用完成後被調用。



14.3   
對域的訪問有鎖保護。



15.

相關文章
相關標籤/搜索