天天看點

Java程式設計初學者看什麼書籍比較合适?

每次看到網上有很多想學習Java技術的小夥伴都在尋找一些書籍和視訊,作為一個初學者,Java程式設計初學者 看什麼樣的書籍比較适合較适合呢?或者說,如何才能輕松入門又能深入學習呢?當然了這不是一本書就能解決的事。小編分享一下《Java核心技術》這本書,将自己又溫習了一遍的感想跟大家聊一聊。

Java程式設計初學者看什麼書籍比較合适?

  一、 Hash Code方法預設是調用該對象的位址,如果你重寫了equals方法應該重寫hash Code方法,例如你的equals方法是比較的對象的ID,就用該對象的ID來hash。

  二、 instanceof并不完美,不能夠查出父子類,是以在寫equals方法的時候應該比較下是否同一個類。。

  三、 String類和包裝類的值都是不能改變的,是以如果希望實作它們的引用傳遞需要使用StringHolder類和包裝類的Holder類,例如:IntHolder。

  四、 C#中的委托可以用JAVA中的反射invoke方法傳遞方法指針method完成。

  五、 不要使用protected修飾field因為整個包内都可以通路,破壞了封裝性。

  六、 throwable接口的實作類有2個分支,一個是error,一般情況JAVA系統的内部錯誤或者資源耗盡,對于它,除了通知使用者錯誤和讓使用者安全退出外别無他法。還有一個是exception,又分為Runtime Exception和非Runtime Exception。由于程式的錯誤導緻出現的異常稱為Runtime Exception,這種問題應該在程式中解決和避免,不應該抛出異常。而曾經能夠正常運作,在某些時候可能會出現導緻的異常稱為非Runtime Exception,這種問題的解決應該抛出異常。常見的Runtime Exception有類型轉換錯誤、數組越界、空指針等。如果出現Runtime Exception就一定是你的問題。Error和Runtime Exception稱為未檢查異常。而非Runtime Exception稱為已檢查異常。

  七、 要使用精确的浮點運算請使用Big Decimal。除法的時候注意使用小數位,否則會導緻得不到精确值錯誤。

  八、 建議不要在程式中使用char,因為char使用的是utf-16編碼。

  九、 三種處理錯誤的機制:異常,日志和斷言。java預設關閉使用斷言,想使用應該在運作的jvm參數中使用-ea。例如:int x= 5;要判斷x是否大于0可以使用assert x>0 : x;斷言不應該使用在程式發生了可恢複性錯誤。斷言隻能用在開發和測試階段。是一種戰術性工具,而日志才是貫穿整個生命周期的政策性工具。

  十、 序列化除了能夠儲存簡單對象以外,對複雜對象也有很好的處理方式,比如如果在幾個對象共同引用一個共享對象時,就不會把這個共享對象儲存幾次,而是檢查是否已經儲存這個共享,如果沒有則儲存,如果已經儲存,則儲存一個該對象的序列号。

  十一、 泛型可以單獨在非泛型類中使用,例如下泛型方法:public static void test(T t){},而且泛型可以使用多個接口,例如:public statci void test(T t){}。可以使用泛型限定超類,它與限定子類相反,例如:public class Pair,但是他可以向方法提供參數,不能使用傳回值。 一般的,帶有超類的泛型可以向對象寫入,帶有子類的泛型可以從對象讀取,例如:public static> T min(T[] a){}。

  掌握真正的Java開發技術,做進階Java開發工程師。另外,報班是比較快捷的學習方式,一步一步紮實掌握Java開發技術,是找到高薪工作的重要法寶!

 為了讓學習變得輕松、高效,今天給大家免費分享一套Java教學資源。幫助大家在成為Java架構師的道路上披荊斬棘。需要資料的歡迎加入學習交流群:9285,05736

Java程式設計初學者看什麼書籍比較合适?