-
>
決戰(zhàn)行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調(diào)優(yōu)實踐之路
-
>
第一行代碼Android
-
>
深度學(xué)習(xí)
-
>
Unreal Engine 4藍圖完全學(xué)習(xí)教程
-
>
深入理解計算機系統(tǒng)-原書第3版
-
>
Word/Excel PPT 2013辦公應(yīng)用從入門到精通-(附贈1DVD.含語音視頻教學(xué)+辦公模板+PDF電子書)
深入理解Java虛擬機-JVM高級特性與最佳實踐-第2版 版權(quán)信息
- ISBN:9787111421900
- 條形碼:9787111421900 ; 978-7-111-42190-0
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
深入理解Java虛擬機-JVM高級特性與最佳實踐-第2版 本書特色
本書第1版兩年內(nèi)印刷近10次,4家網(wǎng)上書店的評論近4 000條,98%以上的評論全部為5星級的好評,是整個Java圖書領(lǐng)域公認的經(jīng)典著作和超級暢銷書,繁體版在臺灣也十分受歡迎。第2版在第1版的基礎(chǔ)上做了很大的改進:根據(jù)*的JDK 1.7對全書內(nèi)容進行了全面的升級和補充;增加了大量處理各種常見JVM問題的技巧和*實踐;增加了若干與生產(chǎn)環(huán)境相結(jié)合的實戰(zhàn)案例;對第1版中的錯誤和不足之處的修正;等等。第2版不僅技術(shù)更新、內(nèi)容更豐富,而且實戰(zhàn)性更強。 在武俠的世界里,無論是至剛至強的《易筋經(jīng)》,還是陰柔無比的《葵花寶典》,都離不開內(nèi)功修煉。沒有了內(nèi)功心法,這些武術(shù)只是花拳繡腿的拙劣表演而已。軟件業(yè)是武林江湖的一個翻版,也有著大量的模式、套路、規(guī)范等外功,但“外功修行,內(nèi)功修神”,要想成為“掃地僧”一樣的絕世高人,此書是**的。 ——秦小波 資深Java技術(shù)專家/著有暢銷書《設(shè)計模式之禪》 對Java程序員來說,Java虛擬機可以說是既熟悉又神秘,很少Java程序員能夠抑制自己探究它的沖動?上,分析JVM實現(xiàn)原理的書籍(特別是國內(nèi)作者出版的)是少之又少。本書的出版可謂Java程序員的福音,作者將自己多年來在Java虛擬機領(lǐng)域的實踐經(jīng)驗和研究心得呈現(xiàn)在了這本書中,不僅系統(tǒng)地講解了Java虛擬機工作機制和底層原理,而且更難能可貴的是與實踐很好地結(jié)合了起來,具有非常強的實踐指導(dǎo)意義,強烈推薦! ——計文柯 資深Java技術(shù)專家/著有暢銷書《Spring技術(shù)內(nèi)幕:深入解析Spring架構(gòu)設(shè)計與實現(xiàn)原理》
深入理解Java虛擬機-JVM高級特性與最佳實踐-第2版 內(nèi)容簡介
本書第1版兩年內(nèi)印刷近10次,4家網(wǎng)上書店的評論近4?000條,98%以上的評論全部為5星級的好評,是整個java圖書領(lǐng)域公認的經(jīng)典著作和超級暢銷書,繁體版在臺灣也十分受歡迎。第2版在第1版的基礎(chǔ)上做了很大的改進:根據(jù)*新的jdk 1.7對全書內(nèi)容進行了全面的升級和補充;增加了大量處理各種常見jvm問題的技巧和*佳實踐;增加了若干與生產(chǎn)環(huán)境相結(jié)合的實戰(zhàn)案例;對第1版中的錯誤和不足之處的修正;等等。第2版不僅技術(shù)更新、內(nèi)容更豐富,而且實戰(zhàn)性更強。 全書共分為五大部分,圍繞內(nèi)存管理、執(zhí)行子系統(tǒng)、程序編譯與優(yōu)化、高效并發(fā)等核心主題對jvm進行了全面而深入的分析,深刻揭示了jvm的工作原理。**部分從宏觀的角度介紹了整個java技術(shù)體系、java和jvm的發(fā)展歷程、模塊化,以及jdk的編譯,這對理解本書后面內(nèi)容有重要幫助。第二部分講解了jvm的自動內(nèi)存管理,包括虛擬機內(nèi)存區(qū)域的劃分原理以及各種內(nèi)存溢出異常產(chǎn)生的原因;常見的垃圾收集算法以及垃圾收集器的特點和工作原理;常見虛擬機監(jiān)控與故障處理工具的原理和使用方法。第三部分分析了虛擬機的執(zhí)行子系統(tǒng),包括類文件結(jié)構(gòu)、虛擬機類加載機制、虛擬機字節(jié)碼執(zhí)行引擎。第四部分講解了程序的編譯與代碼的優(yōu)化,闡述了泛型、自動裝箱拆箱、條件編譯等語法糖的原理;講解了虛擬機的熱點探測方法、hotspot的即時編譯器、編譯觸發(fā)條件,以及如何從虛擬機外部觀察和分析jit編譯的數(shù)據(jù)和結(jié)果;第五部分探討了java實現(xiàn)高效并發(fā)的原理,包括jvm內(nèi)存模型的結(jié)構(gòu)和操作;原子性、可見性和有序性在java內(nèi)存模型中的體現(xiàn);先行發(fā)生原則的規(guī)則和使用;線程在java語言中的實現(xiàn)原理;虛擬機實現(xiàn)高效并發(fā)所做的一系列鎖優(yōu)化措施。
深入理解Java虛擬機-JVM高級特性與最佳實踐-第2版 目錄
前言
**部分 走近java
第1章 走近java
1.1 概述
1.2 java技術(shù)體系
1.3 java發(fā)展史
1.4 java虛擬機發(fā)展史
1.4.1 sun classic exact vm
1.4.2 sun hotspot vm
1.4.3 sun mobile-embedded vm meta-circular vm
1.4.4 bea jrockit ibm j9 vm
1.4.5 azul vm bea liquid vm
1.4.6 apache harmony google android dalvik vm
1.4.7 microsoft jvm及其他
1.5 展望java技術(shù)的未來
1.5.1 模塊化
1.5.2 混合語言
1.5.3 多核并行
1.5.4 進一步豐富語法
1.5.5 64位虛擬機
1.6 實戰(zhàn):自己編譯jdk
1.6.1 獲取jdk源碼
1.6.2 系統(tǒng)需求
1.6.3 構(gòu)建編譯環(huán)境
1.6.4 進行編譯
1.6.5 在ide工具中進行源碼調(diào)試
1.7 本章小結(jié)
第二部分 自動內(nèi)存管理機制
第2章 java內(nèi)存區(qū)域與內(nèi)存溢出異常
2.1 概述
2.2 運行時數(shù)據(jù)區(qū)域
2.2.1 程序計數(shù)器
2.2.2 java虛擬機棧
2.2.3 本地方法棧
2.2.4 java堆
2.2.5 方法區(qū)
2.2.6 運行時常量池
2.2.7 直接內(nèi)存
2.3 hotspot虛擬機對象探秘
2.3.1 對象的創(chuàng)建
2.3.2 對象的內(nèi)存布局
2.3.3 對象的訪問定位
2.4 實戰(zhàn):outofmemoryerror異常
2.4.1 java堆溢出
2.4.2 虛擬機棧和本地方法棧溢出
2.4.3 方法區(qū)和運行時常量池溢出
2.4.4 本機直接內(nèi)存溢出
2.5 本章小結(jié)
第3章 垃圾收集器與內(nèi)存分配策略
3.1 概述
3.2 對象已死嗎
3.2.1 引用計數(shù)算法
3.2.2 可達性分析算法
3.2.3 再談引用
3.2.4 生存還是死亡
3.2.5 回收方法區(qū)
3.3 垃圾收集算法
3.3.1 標記-清除算法
3.3.2 復(fù)制算法
3.3.3 標記-整理算法
3.3.4 分代收集算法
3.4 hotspot的算法實現(xiàn)
3.4.1 枚舉根節(jié)點
3.4.2 安全點
3.4.3 安全區(qū)域
3.5 垃圾收集器
3.5.1 serial收集器
3.5.2 parnew收集器
3.5.3 parallel scavenge收集器
3.5.4 serial old收集器
3.5.5 parallel old收集器
3.5.6 cms收集器
3.5.7 g1收集器
3.5.8 理解gc日志
3.5.9 垃圾收集器參數(shù)總結(jié)
3.6 內(nèi)存分配與回收策略
3.6.1 對象優(yōu)先在eden分配
3.6.2 大對象直接進入老年代
3.6.3 長期存活的對象將進入老年代
3.6.4 動態(tài)對象年齡判定
3.6.5 空間分配擔保
3.7 本章小結(jié)
第4章 虛擬機性能監(jiān)控與故障處理工具
4.1 概述
4.2 jdk的命令行工具
4.2.1 jps:虛擬機進程狀況工具
4.2.2 jstat:虛擬機統(tǒng)計信息監(jiān)視工具
4.2.3 jinfo:java配置信息工具
4.2.4 jmap:java內(nèi)存映像工具
4.2.5 jhat:虛擬機堆轉(zhuǎn)儲快照分析工具
4.2.6 jstack:java堆棧跟蹤工具
4.2.7 hsdis:jit生成代碼反匯編
4.3 jdk的可視化工具
4.3.1 jconsole:java監(jiān)視與管理控制臺
4.3.2 visualvm:多合一故障處理工具
4.4 本章小結(jié)
第5章 調(diào)優(yōu)案例分析與實戰(zhàn)
5.1 概述
5.2 案例分析
5.2.1 高性能硬件上的程序部署策略
5.2.2 集群間同步導(dǎo)致的內(nèi)存溢出
5.2.3 堆外內(nèi)存導(dǎo)致的溢出錯誤
5.2.4 外部命令導(dǎo)致系統(tǒng)緩慢
5.2.5 服務(wù)器jvm進程崩潰
5.2.6 不恰當數(shù)據(jù)結(jié)構(gòu)導(dǎo)致內(nèi)存占用過大
5.2.7 由windows虛擬內(nèi)存導(dǎo)致的長時間停頓
5.3 實戰(zhàn):eclipse運行速度調(diào)優(yōu)
5.3.1 調(diào)優(yōu)前的程序運行狀態(tài)
5.3.2 升級jdk 1.6的性能變化及兼容問題
5.3.3 編譯時間和類加載時間的優(yōu)化
5.3.4 調(diào)整內(nèi)存設(shè)置控制垃圾收集頻率
5.3.5 選擇收集器降低延遲
5.4 本章小結(jié)
第三部分 虛擬機執(zhí)行子系統(tǒng)
第6章 類文件結(jié)構(gòu)
6.1 概述
6.2 無關(guān)性的基石
6.3 class類文件的結(jié)構(gòu)
6.3.1 魔數(shù)與class文件的版本
6.3.2 常量池
6.3.3 訪問標志
6.3.4 類索引、父類索引與接口索引集合
6.3.5 字段表集合
6.3.6 方法表集合
6.3.7 屬性表集合
6.4 字節(jié)碼指令簡介
6.4.1 字節(jié)碼與數(shù)據(jù)類型
6.4.2 加載和存儲指令
6.4.3 運算指令
6.4.4 類型轉(zhuǎn)換指令
6.4.5 對象創(chuàng)建與訪問指令
6.4.6 操作數(shù)棧管理指令
6.4.7 控制轉(zhuǎn)移指令
6.4.8 方法調(diào)用和返回指令
6.4.9 異常處理指令
6.4.10 同步指令
6.5 公有設(shè)計和私有實現(xiàn)
6.6 class文件結(jié)構(gòu)的發(fā)展
6.7 本章小結(jié)
第7章 虛擬機類加載機制
7.1 概述
7.2 類加載的時機
7.3 類加載的過程
7.3.1 加載
7.3.2 驗證
7.3.3 準備
7.3.4 解析
7.3.5 初始化
7.4 類加載器
7.4.1 類與類加載器
7.4.2 雙親委派模型
7.4.3 破壞雙親委派模型
7.5 本章小結(jié)
第8章 虛擬機字節(jié)碼執(zhí)行引擎
8.1 概述
8.2 運行時棧幀結(jié)構(gòu)
8.2.1 局部變量表
8.2.2 操作數(shù)棧
8.2.3 動態(tài)連接
8.2.4 方法返回地址
8.2.5 附加信息
8.3 方法調(diào)用
8.3.1 解析
8.3.2 分派
8.3.3 動態(tài)類型語言支持
8.4 基于棧的字節(jié)碼解釋執(zhí)行引擎
8.4.1 解釋執(zhí)行
8.4.2 基于棧的指令集與基于寄存器的指令集
8.4.3 基于棧的解釋器執(zhí)行過程
8.5 本章小結(jié)
第9章 類加載及執(zhí)行子系統(tǒng)的案例與實戰(zhàn)
9.1 概述
9.2 案例分析
9.2.1 tomcat:正統(tǒng)的類加載器架構(gòu)
9.2.2 osgi:靈活的類加載器架構(gòu)
9.2.3 字節(jié)碼生成技術(shù)與動態(tài)代理的實現(xiàn)
9.2.4 retrotranslator:跨越j(luò)dk版本
9.3 實戰(zhàn):自己動手實現(xiàn)遠程執(zhí)行功能
9.3.1 目標
9.3.2 思路
9.3.3 實現(xiàn)
9.3.4 驗證
9.4 本章小結(jié)
第四部分 程序編譯與代碼優(yōu)化
第10章 早期(編譯期)優(yōu)化
10.1 概述
10.2 javac編譯器
10.2.1 javac的源碼與調(diào)試
10.2.2 解析與填充符號表
10.2.3 注解處理器
10.2.4 語義分析與字節(jié)碼生成
10.3 java語法糖的味道
10.3.1 泛型與類型擦除
10.3.2 自動裝箱、拆箱與遍歷循環(huán)
10.3.3 條件編譯
10.4 實戰(zhàn):插入式注解處理器
10.4.1 實戰(zhàn)目標
10.4.2 代碼實現(xiàn)
10.4.3 運行與測試
10.4.4 其他應(yīng)用案例
10.5 本章小結(jié)
第11章 晚期(運行期)優(yōu)化
11.1 概述
11.2 hotspot虛擬機內(nèi)的即時編譯器
11.2.1 解釋器與編譯器
11.2.2 編譯對象與觸發(fā)條件
11.2.3 編譯過程
11.2.4 查看及分析即時編譯結(jié)果
11.3 編譯優(yōu)化技術(shù)
11.3.1 優(yōu)化技術(shù)概覽
11.3.2 公共子表達式消除
11.3.3 數(shù)組邊界檢查消除
11.3.4 方法內(nèi)聯(lián)
11.3.5 逃逸分析
11.4 java與cc++的編譯器對比
11.5 本章小結(jié)
第五部分 高效并發(fā)
第12章 java內(nèi)存模型與線程
12.1 概述
12.2 硬件的效率與一致性
12.3 java內(nèi)存模型
12.3.1 主內(nèi)存與工作內(nèi)存
12.3.2 內(nèi)存間交互操作
12.3.3 對于volatile型變量的特殊規(guī)則
12.3.4 對于long和double型變量的特殊規(guī)則
12.3.5 原子性、可見性與有序性
12.3.6 先行發(fā)生原則
12.4 java與線程
12.4.1 線程的實現(xiàn)
12.4.2 java線程調(diào)度
12.4.3 狀態(tài)轉(zhuǎn)換
12.5 本章小結(jié)
第13章 線程安全與鎖優(yōu)化
13.1 概述
13.2 線程安全
13.2.1 java語言中的線程安全
13.2.2 線程安全的實現(xiàn)方法
13.3 鎖優(yōu)化
13.3.1 自旋鎖與自適應(yīng)自旋
13.3.2 鎖消除
13.3.3 鎖粗化
13.3.4 輕量級鎖
13.3.5 偏向鎖
13.4 本章小結(jié)
附 錄
附錄a 編譯windows版的openjdk
附錄b 虛擬機字節(jié)碼指令表
附錄c hotspot虛擬機主要參數(shù)表
附錄d 對象查詢語言(oql)簡介
附錄e jdk歷史版本軌跡
深入理解Java虛擬機-JVM高級特性與最佳實踐-第2版 節(jié)選
《深入理解Java虛擬機:JVM高級特性與*佳實踐(第2版)》編輯推薦:超級暢銷書全新升級,第1版兩年內(nèi)印刷近10次,Java圖書領(lǐng)域公認的經(jīng)典著作,繁體版臺灣發(fā)行。基于*新JDK1.7,圍繞內(nèi)存管理、執(zhí)行子系統(tǒng)、程序編譯與優(yōu)化、高效并發(fā)等核心主題對JVM進行全面而深入的分析,深刻揭示JVM的工作原理。
以實踐為導(dǎo)向,通過大量與實際生產(chǎn)環(huán)境相結(jié)合的案例展示了解決各種常見JVM問題的技巧和*佳實踐。
深入理解Java虛擬機-JVM高級特性與最佳實踐-第2版 作者簡介
周志明,資深Java技術(shù)專家,對JavaEE企業(yè)級應(yīng)用開發(fā)、OSGi、Java虛擬機和工作流等都有深入的研究,并在大量的實踐中積累了豐富的經(jīng)驗。尤其精通Java虛擬機,撰寫了大量與JVM相關(guān)的文章,被各大技術(shù)社區(qū)爭相轉(zhuǎn)載,是ITeye等技術(shù)社區(qū)公認的Java虛擬機方面的領(lǐng)袖人物之一。除本書外,還著有著作《深入理解OSGi:Equinox原理、應(yīng)用與佳實踐》,廣獲讀者好評,F(xiàn)任遠光軟件股份有限公司開發(fā)部總經(jīng)理兼架構(gòu)師,先后參與過國家電網(wǎng)、南方電網(wǎng)等多個國家*大型ERP項目的平臺架構(gòu)工作,對軟件系統(tǒng)架構(gòu)也有深刻的認識和體會。
- >
中國人在烏蘇里邊疆區(qū):歷史與人類學(xué)概述
- >
我從未如此眷戀人間
- >
伯納黛特,你要去哪(2021新版)
- >
苦雨齋序跋文-周作人自編集
- >
姑媽的寶刀
- >
名家?guī)阕x魯迅:朝花夕拾
- >
唐代進士錄
- >
二體千字文