作為一位Java程序員,你是否也曾經想深入理解Java虛擬機,但是卻被它的復雜和深奧拒之門外?沒關系,《深入理解Java虛擬機:JVM高級特性與最佳實踐》極盡化繁為簡之妙,能帶領你在輕松中領略Java虛擬機的奧秘。本書是近年來國內出版的唯一一本與Java虛擬機相關的專著,也是唯一一本同時從核心理論和實際運用這兩個角度去探討Java虛擬機的著作,不僅理論分析得透徹,而且書中包含的典型案例和最佳實踐也極具現實指導意義?!渡钊肜斫釰ava虛擬機:JVM高級特性與最佳實踐》共分為五大部分。第一部分從宏觀的角度介紹了整個Java技術體系的過去、現在和未來,以及如何獨立地編譯一個OpenJDK7,這對理解后面的內容很有幫助。第二部分講解了JVM的自動內存管理,包括虛擬機內存區(qū)域的劃分原理以及各種內存溢出異常產生的原因;常見的垃圾收集算法以及垃圾收集器的特點和工作原理;常見的虛擬機的監(jiān)控與調試工具的原理和使用方法。第三部分分析了虛擬機的執(zhí)行子系統(tǒng),包括Class的文件結構以及如何存儲和訪問Class中的數據;虛擬機的類創(chuàng)建機制以及類加載器的工作原理和它對虛擬機的意義;虛擬機字節(jié)碼的執(zhí)行引擎以及它在實行代碼時涉及的內存結構。第四部分講解了程序的編譯與代碼的優(yōu)化,闡述了泛型、自動裝箱拆箱、條件編譯等語法糖的原理;講解了虛擬機的熱點探測方法、HotSpot的即時編譯器、編譯觸發(fā)條件,以及如何從虛擬機外部觀察和分析JIT編譯的數據和結果。第五部分探討了Java實現高效并發(fā)的原理,包括JVM內存模型的結構和操作;原子性、可見性和有序性在Java內存模型中的體現;先行發(fā)生原則的規(guī)則和使用;線程在Java語言中的實現原理;虛擬機實現高效并發(fā)所做的一系列鎖優(yōu)化措施。《深入理解Java虛擬機:JVM高級特性與最佳實踐》適合所有Java程序員、系統(tǒng)調優(yōu)師和系統(tǒng)架構師閱讀。