學習的最好方法就是看書。當我們入門了之後,需要進一步提升自己,使自己達到另一個新的高度。以下推薦幾本java高級必備的書。
1、《深入理解Java虛擬機器:JVM進階特性與最佳實務》
Java虛擬機是你必學的技術。 《深入理解Java虛擬機:JVM高級特性與最佳實踐》作者是周志明,這本書可以說是國內寫得最好的有關Java虛擬機的書籍,近半年,前前後後這本書我起碼看了有5遍。國內寫虛擬機的書除了這本,其實還有一些其他的,我也買過,不過粗略看下來,很多內容也是《深入理 解Java虛擬機:JVM高級特性與最佳實踐》此書裡面的。
另外值得一提的是,《深入理解Java虛擬機:JVM高級特性與最佳實踐》這本 書,有電子版的,網上搜一下就能下載到了。不過建議有興趣的朋友還是去買書看,電子版本下載到的一般是比較老的版本,相比最新修訂版的《深入理解Java 虛擬機:JVM高級特性與最佳實踐》,有很多作者新補充的知識點是沒有的。
2、《HotSpot實戰》
所有的Java虛擬機都是遵循Java虛擬機規格來的,市面上的Java虛擬機幾十款, 《深入理解Java虛擬機:JVM高階特性與最佳實務》一書裡面講的虛擬機並非針對某種特定的虛擬機,而是從Java虛擬機規範的角度來講解Java虛擬機。
我們平常使用的乃至商用的大多數Java虛擬機都是Sun公司的HotSpot,大家cmd進入命令列,使用」java -version」指令就可以看到了。如果希望在Java虛擬機器規範的基礎上更深入地去理解虛擬機器的一些細節是怎麼實現的,就可以看一下《HotSpot實戰》一書,作者是陳濤。不過由於HotSpot的原始碼都是C/C 寫的,所以請讀者有非常好的C/C 基礎,如果對這兩門語言不是很熟悉的朋友,看這本書可能對你幫助不是很大。
最後提一句,如果有興趣的朋友,不妨先去網上下載一個openJDK,HotSpot的源碼就在裡面。
3、《java多執行緒程式設計核心技術》
此書和《Java並發程式實戰》 相反,這本書的特點是大篇幅的程式碼小篇幅的精講解,可能這和中國人寫的書比較偏向實用主義的風格有關。本書關於線程安全、synchronized、 Reentrant、Timer等等都用詳細的程式碼進行了講解,而且每個大知識點下的多個小知識點都會詳細講解到,非常有實踐價值。
有興趣的朋友們,我相信只要你們跟著這本書裡面的程式碼敲、運行、思考,三步走,對於多執行緒的使用與理解一定會進幾大步。
不過這本書的缺點就是對於Java並發包下的一些類別像CountDownLatch、Semphore、CyclicBarrier、Future、 Callable等都沒有講到,重點的CAS和AQS也沒有觸及,重點類的實現原理也沒有提。當然,這很深入了,在學習了這本書之後如果能再去對這些知識 進行一些學習、研究的話,你一定會慢慢成長為一個很厲害的多線程高手。
以上是java高階用什麼書的詳細內容。更多資訊請關注PHP中文網其他相關文章!