-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

深入理解JVM & G1 GC

( 簡體 字)
作者:周明耀類別:1. -> 程式設計 -> JAVA -> Java
譯者:
出版社:電子工業出版社深入理解JVM & G1 GC 3dWoo書號: 46879
詢問書籍請說出此書號!

缺書
NT售價: 345

出版日:6/1/2017
頁數:248
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121314681
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:



這是我第一次為人寫序,心中不免忐忑,引用余光中先生對于寫序的感受:“我為人寫序,于人為略而于文為詳,用意也無非要就文本去探人本,亦即其藝術人格;自問與中國傳統的序跋并不相悖,但手段畢竟不同了。”周明耀的書追求的是人本,我則盡力而為。
周明耀是我以前的同事,我們是認識十多年的朋友,同時我也是他婚禮的伴郎,見證了他的一步步成長。周明耀無論對工作、技術,或者社會生活,都有著自己獨特的見解。他始終對技術充滿了敬畏之心,學無止境,并付諸實踐。因此,才有了這本書。
以我對GC的理解,想要學習GC,首先需要理解為什么需要GC。隨著應用程序所應對的業務越來越龐大、復雜,用戶越來越多,沒有GC就不能保證應用程序的正常進行。而經常造成STW的GC又跟不上實際的需求,所以才會不斷地嘗試對GC進行優化。正如周明耀在文中描述的,HotSpot有這么多的垃圾回收器(Serial GC、Parallel GC、Concurrent Mark Sweep GC),為什么還要發布Garbage First(G1)GC?原因就是這個。
當今的商業模式,更多依賴市場的力量,不斷淘汰舊的行業,把有限的資源讓給那些競爭力更強、利潤率更高的企業。類似地,硅谷也在不斷淘汰過時的人員,從全世界吸收新鮮血液。經過半個多世紀的發展,在硅谷地區形成了只有卓越才能生存的文化理念。本著這樣的理念,GC承擔了淘汰垃圾、保存優良資產的任務。正如周明耀所說,隨著G1 GC的出現,GC從傳統的連續堆內存布局設計,逐漸走向不連續內存塊,這是通過引入Region概念實現的,也就是說,由一堆不連續的Region組成了堆內存。其實也不能說是不連續的,只是它從傳統的物理連續逐漸變為邏輯上的連續,這是通過Region的動態分配方式實現的,我們可以把一個Region分配給Eden、Survivor、老年代、大對象區間、空閑區間中的任意一個,而不是固定它的作用,因為越是固定,越是呆板。
總的來說,本書對Java GC機制的分析深入淺出,是對大數據Java內存回收的優秀實踐。讀完茅塞頓開、受益匪淺。很多技術細節應用之后,對產品性能有明顯提升。在此感謝周明耀的分享,希望他能夠寫出更多優秀的書籍。

華為南京研究所大數據產品部維護經理 吳駿
內容簡介:

G1 GC提出了不確定性Region,每個空閑Region不是為某個固定年代準備的,它是靈活的,需求驅動的,所以G1 GC代表了先進性。本書主要為學習Java語言的學生、初級程序員提供GC的使用參考建議及經驗,著重介紹了G1 GC。中國的軟件開發行業已經有幾十年了,從目前的行業發展來看,單純的軟件公司很難有發展,目前流行的云計算、物聯網企業實際上是綜合性IT技術的整合,這就需要有綜合能力的程序員。本書作者力求做到知識的綜合傳播,而不是僅僅針對Java虛擬機和GC調優進行講解,也力求每一章節都有實際的案例支撐。本書具體包括以下幾方面:JVM基礎知識、GC基礎知識、G1 GC的深入介紹、G1 GC調優建議、JDK自帶工具使用介紹等。通讀本書后,讀者可以深入了解G1 GC性能調優的許多主題及相關的綜合性知識。讀者也可以把本書作為參考,對于感興趣的主題,直接跳到相應章節尋找答案。

目錄:

序 VII
前言 IX
第1章 JVM & GC基礎知識 1
1.1 引言 2
1.2 基本術語 3
1.2.1 Java相關術語 4
1.2.2 JVM/GC通用術語 24
1.2.3 G1涉及術語 56
1.3 本章小結 62
第2章 JVM & GC深入知識 63
2.1 Java虛擬機內存模型 64
2.1.1 程序計數器 65
2.1.2 虛擬機棧 66
2.1.3 本地方法棧 72
2.1.4 Java堆 73
2.1.5 方法區 79
2.2 垃圾收集算法 82
2.2.1 引用計數法 82
2.2.2 根搜索算法 83
2.2.3 標記-清除算法(Mark-Sweep) 85
2.2.4 復制算法(Copying) 87
2.2.5 標記-壓縮算法(Mark-Compact) 89
2.2.6 增量算法(Incremental Collecting) 90
2.2.7 分代收集算法(Generational Collecting) 91
2.3 Garbage Collection 92
2.3.1 GC概念 92
2.3.2 垃圾收集器分類 93
2.3.3 Serial收集器 94
2.3.4 ParNew收集器 96
2.3.5 Parallel收集器 99
2.3.6 CMS收集器 102
2.3.7 Garbage First(G1)GC 106
2.4 常見問題解析 112
2.4.1 jmap -heap或-histo不能用 112
2.4.2 YGC越來越慢 112
2.4.3 Java永久代去哪兒了 114
2.5 本章小結 116
第3章 G1 GC應用示例 117
3.1 范例程序 118
3.2 選項解釋及應用 124
3.3 本章小結 166
第4章 深入G1 GC 167
4.1 G1 GC概念簡述 168
4.1.1 背景知識 168
4.1.2 G1的垃圾回收機制 169
4.1.3 G1的區間設計靈感 169
4.2 G1 GC分代管理 172
4.2.1 年輕代 172
4.2.2 年輕代回收暫停 173
4.2.3 大對象區間 174
4.2.4 混合回收暫停 176
4.2.5 回收集合及其重要性 178
4.2.6 RSet及其重要性 178
4.2.7 并行標記循環 182
4.2.8 評估失敗和完全回收 186
4.3 G1 GC使用場景 186
4.4 G1 GC論文原文翻譯(部分) 187
4.4.1 開題 187
4.4.2 數據結構/機制 188
4.4.3 未來展望 190
4.5 本章小結 191
第5章 G1 GC性能優化方案 192
5.1 G1的年輕代回收 193
5.2 年輕代優化 203
5.3 并行標記階段優化 205
5.4 混合回收階段 207
5.4.1 初步介紹 207
5.4.2 深入介紹 208
5.5 如何避免出現GC失敗 210
5.6 引用處理 211
5.6.1 觀察引用處理 212
5.6.2 引用處理優化 213
5.7 本章小結 214
第6章 JVM診斷工具使用介紹 215
6.1 SA基礎介紹 216
6.2 SA工具使用實踐 217
6.2.1 如何啟動SA 217
6.2.2 SA原理及使用介紹 222
6.3 其他工具介紹 231
6.3.1 GCHisto 231
6.3.2 JConsole 232
6.3.3 VisualVM 236
6.4 本章小結 238
序: