深入理解Java虛擬機(jī)
- 作者:新網(wǎng)
- 來源:
- 瀏覽:100
- 2018-04-24 12:08:39
小編為大家介紹一本書籍,本書并不是介紹如何使用Java語言。更不是單純的介紹Java中一些特性的好處,而是告訴讀者Java語言為什么能有這么多好的特性!!!必讀!無論是新手還是老手!!!
<
div> 小編為大家介紹一本書籍,本書并不是介紹如何使用Java語言。更不是單純的介紹Java中一些特性的好處,而是告訴讀者Java語言為什么能有這么多好的特性!!!必讀!無論是新手還是老手!!!
Java語言使程序的開發(fā)效率得到了很大的提升。作為一名Java程序員,在編寫程序時(shí)除了盡情發(fā)揮Java的各種優(yōu)勢外,還應(yīng)該去了解和思考一下Java技術(shù)體系中這些技術(shù)特性是如何實(shí)現(xiàn)的。認(rèn)識這些技術(shù)運(yùn)作的本質(zhì),是自己思考“程序這樣寫好不好”的基礎(chǔ)和前提。當(dāng)我們在使用一種技術(shù)時(shí),如果不再依賴書本和他人就能得到這些問題的答案,那才算上升到了“不惑”的境界。本書將深入分析Java技術(shù)中最重要的那些特性的實(shí)現(xiàn)原理,幫助讀者全面的了解Java語言。
簡介
全書共分為五大部分,圍繞內(nèi)存管理、執(zhí)行子系統(tǒng)、程序編譯與優(yōu)化、高效并發(fā)等核心主題對JVM進(jìn)行了全面而深入的分析,深刻揭示了JVM的工作原理。
第一部分從宏觀的角度介紹了整個(gè)Java技術(shù)體系、Java和JVM的發(fā)展歷程、模塊化,以及JDK的編譯,這對理解本書后面內(nèi)容有重要幫助。
第二部分講解了JVM的自動內(nèi)存管理,包括
虛擬機(jī)內(nèi)存區(qū)域的劃分原理以及各種內(nèi)存溢出異常產(chǎn)生的原因;常見的垃圾收集算法以及垃圾收集器的特點(diǎn)和工作原理;常見虛擬機(jī)監(jiān)控與故障處理工具的原理和使用方法。
第三部分分析了虛擬機(jī)的執(zhí)行子系統(tǒng),包括類文件結(jié)構(gòu)、虛擬機(jī)類加載機(jī)制、虛擬機(jī)字節(jié)碼執(zhí)行引擎。
第四部分講解了程序的編譯與代碼的優(yōu)化,闡述了泛型、自動裝箱拆箱、條件編譯等語法糖的原理;講解了虛擬機(jī)的熱點(diǎn)探測方法、HotSpot的即時(shí)編譯器、編譯觸發(fā)條件,以及如何從虛擬機(jī)外部觀察和分析JIT編譯的數(shù)據(jù)和結(jié)果;
第五部分探討了Java實(shí)現(xiàn)高效并發(fā)的原理,包括JVM內(nèi)存模型的結(jié)構(gòu)和操作;原子性、可見性和有序性在Java內(nèi)存模型中的體現(xiàn);先行發(fā)生原則的規(guī)則和使用;線程在Java語言中的實(shí)現(xiàn)原理;虛擬機(jī)實(shí)現(xiàn)高效并發(fā)所做的一系列鎖優(yōu)化措施。
這就是這本書的大概內(nèi)容。