Java的優勢是簡單、面向對象、分布式、解釋執行、魯棒、安全、體系結構中立、可移植、高性能、多線程以及動態性。
Java語言的設計從現在的角度看非常中庸,啥都不是特別出色,但都“湊合”。
學習Java就業時就意味著有不少選擇余地的。
其實Java並沒有想象中的那麽難,前提是做好壹個心理準備,那就是妳想走遠點,就得不間斷的去學習,去汲取知識,前期不能怕辛苦,不要閑下來就打遊戲,多看看各種開源項目的代碼,API的設計方式,各大網站的設計架構,理解各個環節的作用。補齊自己的知識視野。
推薦這些Java方面的書籍,僅供參考
《Head First Java》
零基礎的小白與半路出家者的最愛
這是壹本完整的面向對象(object-oriented,oo)程序設計和java的學習指導,以生動有趣而風靡。本書是根據學習理論所設計的,可以從學習程序語言的基礎開始壹直到包括線程、網絡與分布式程序等項目。而且不只是讀死書,妳還會玩遊戲、拼圖、解謎題以及以意想不到的方式與java交互。在這些活動中,妳會寫出壹堆真正的java程序,包括了壹個船艦炮戰遊戲和壹個網絡聊天程序。
《Java 核心技術》與《Java 編程思想》
《JAVA編程思想》顯然要更深入地剖析java,而《JAVA核心技術》是對於java各個知識點的闡述。可以說《JAVA編程思想》重在深度,理解為教人怎麽寫代碼。《JAVA核心技術Ⅰ》重在全面,甚至羅列了很多API。
《算法第四版》
必讀之作,不僅涵蓋所有 Java 基礎,對於編程思想層面的提升也有很好的幫助。
《Effective Java 中文版(第2版)》
Java 編程中78條極具實用價值的經驗規則,這些經驗規則涵蓋了大多數開發人員每天所面臨的問題的解決方案。
《重構:改善既有代碼的設計》
出自於 Martin Fowler 的大作,寫出優秀代碼的必經之路。
《Java Concurrency in Practice》
了解 Java 並發編程必讀佳作,建議閱讀英文版。
《敏捷軟件開發, 原則,模式,實踐》
該書作者是Robert C. Martin。本書重點講述了如何使用uml,並通過真實案例講解如何用極限編程來設計、測試、量構和結對編程。曾經獲得美國《軟件開發》第13屆震撼(jolt)大獎!
《Java並發編程實戰》
書中從並發性和線程安全性的基本概念出發,介紹了如何使用類庫提供的基本並發構建塊,用於避免並發危險、構造線程安全的類及驗證線程安全的規則,如何將小的線程安全類組合成更大的線程安全類,如何利用線程來提高並發應用程序的吞吐量,如何識別可並行執行的任務,如何提高單線程子系統的響應性,如何確保並發程序執行預期任務,如何提高並發代碼的性能和可伸縮性等內容,最後介紹了壹些高級主題,如顯式鎖、原子變量、非阻塞算法以及如何開發自定義的同步工具類。
《深入理解Java 虛擬機》
全書***分為五大部分。從宏觀的角度介紹了整個Java技術體系到JVM的自動內存管理,包括虛擬機內存區域的劃分原理以及各種內存溢出異常產生的原因;常見的垃圾收集算法以及垃圾收集器的特點和工作原理;常見的虛擬機的監控與調試工具的原理和使用方法。從虛擬機的執行子系統,包括Class的文件結構以及如何存儲和訪問Class中的數據;虛擬機的類創建機制以及類加載器的工作原理和它對虛擬機的意義;虛擬機字節碼的執行引擎以及它在實行代碼時涉及的內存結構。到講解了程序的編譯與代碼的優化,闡述了泛型、自動裝箱拆箱、條件編譯等語法糖的原理;講解了虛擬機的熱點探測方法、HotSpot的即時編譯器、編譯觸發條件,以及如何從虛擬機外部觀察和分析JIT編譯的數據和結果。