|
java自学网(www.javazx.com)-java论坛,java电子书推荐:《JVM G1源码分析和调优》, S* U- M o% E/ m; u( T1 o& O' T* @
java电子书推荐理由:G1作为JVM中*新、*成熟的垃圾回收器,已经广泛应用在众多公司的生产环境中。本书详细介绍G1涉及的基本概念和运行原理,以及调优方法。主要内容共12章,主要内容有:第1~2章介绍垃圾回收的历史和应用的算法,以及基本概念。第3~7章从多方面分析G1的运行原理,如G1是如何分配对象的,G1的Refine线程、新生代回收、混合回收、FullGC等。第8章介绍垃圾回收过程中如何处理引用,第9章介绍G1引入的新特性:字符串去重,第10章介绍G1垃圾回收过程中线程如何达到安全点,第11章介绍如何选择垃圾回收器,第12章介绍了下一代垃圾回收器Shenandoah和ZGC。另外,为了降低学习难度,还给出了三个附录:附录A介绍如何开始阅读和调试JVM代码,附录B介绍如何使用NMT对JVM内存进行跟踪和调试,附录C介绍了Java程序员阅读JVM需要知道的一些C 知识。( ~- W/ \# ~; q6 w" `
# x3 J$ ~% w6 o4 l1 T作者:彭成寒
& Y g* M: U( p$ v5 H0 U' m出版社:机械工业出版社3 F4 Y4 E- S' H6 N" e7 Z9 L0 W
出版时间:2019年04月 5 B* h% }, z v7 v# Z
书籍价格:89.00元
) q- o- D8 K8 n' d
) f+ n2 w3 G6 x3 g8 l% T
% [# M7 h g/ {! {
4 t% [: g2 V" `/ g' a5 g" V" Sjava电子书目录:
* I- T; o; m1 `第1章 垃圾回收概述 1* [ p' m& G- T7 N( [
1.1 Java发展概述 11 o# |, A6 z, Y8 @
1.2 本书常见术语 4
" e% @- M4 p7 ?/ r- C+ E2 |3 Z1.3 回收算法概述 6
7 f: W" s6 q- J) E1.3.1 分代管理算法 7% n) ~4 h( }# Z# A# E
1.3.2 复制算法 7
/ {. R; G( U- u& f' d1 G1.3.3 标记清除 8/ ^) b ?+ A \8 W7 }* q
1.3.4 标记压缩 9
% X: }3 b! M8 _, ]1.3.5 算法小结 9
5 N1 H; s: S5 p6 \ K) N e) F4 O1.4 JVM垃圾回收器概述 9$ p; G9 |2 o+ r
1.4.1 串行回收 9
8 ~+ A! x: {/ f$ V, K1.4.2 并行回收 10
6 K% r* F" @$ Y/ g1.4.3 并发标记回收 10
9 a. o; t; C" @' `. I: [1.4.4 垃圾优先回收 108 T; s3 L1 m. r/ \) Q% }! I1 Y
第2章 G1的基本概念 142 e, Z- d& W! T4 O
2.1 分区 14
4 h1 h. B/ m& M" k% n, u5 l( i2.2 G1停顿预测模型 20. \2 P$ I: B3 U, w0 F
2.3 卡表和位图 228 |+ Z6 X, v% `& Z: N
2.4 对象头 24
& Z q- ~; n0 a* ]- [& @2.5 内存分配和管理 27
1 m: e9 ?! ?* L/ Q: j% u- i. d2 U2.6 线程 300 c; M: v L' w7 G
2.6.1 栈帧 32
H* D6 Y' W$ M6 |' G2.6.2 句柄 342 I7 u* q/ P2 m8 Z
2.6.3 JVM本地方法栈中的对象 36
' F \' q3 ^3 c7 w2.6.4 Java本地方法栈中的对象 40) z1 D0 T& T) a7 R$ k t3 d
2.7 日志解读 407 U3 z; H0 s! j/ H8 j
2.8 参数介绍和调优 410 Y; L6 \& e+ _. Q* y
第3章 G1的对象分配 43
0 _) B9 w3 d+ l! q3.1 对象分配概述 430 W3 k* Y' R; F1 ~! N7 {
3.2 快速分配 46
3 X2 n* Q: {/ D% D0 v$ f3.3 慢速分配 56
* p3 T3 n* `; z3.3.1 大对象分配 58
: j5 {2 _- R/ v. M0 b/ Y; k v; Q3.3.2 最后的分配尝试 60
- A( `1 y- u8 t* i" N- o* R3.4 G1垃圾回收的时机 61
; o: o. Z" K0 J; G' d& s/ W6 q3.4.1 分配时发生回收 61
$ V1 @& q7 ?( `3.4.2 外部调用的回收 61
4 [- N$ i9 U/ @' u) z: A3.5 参数介绍和调优 62& i! G; G6 X- ~* e |6 z% {2 u# ?
第4章 G1的Ref?ine线程 64
. u7 V/ B' m/ V4.1 记忆集 64: B9 o. v: i+ V9 X4 W
4.2 Ref?ine线程的功能及原理 72* R9 H) R! _6 Z" \7 ~
4.2.1 抽样线程 72" s0 N* d; ^1 ~
4.2.2 管理RSet 74" b. ? Y' z1 I& Y) ?' ?3 i! L
4.2.3 Mutator处理DCQ 78
; Q x' W3 c- I; a0 ~5 f$ a4.2.4 Ref?ine线程的工作原理 78
( b" ], `: q1 g( C; _4 C% K% W4.3 Ref?inement Zone 85
9 h: ] E! Q$ }1 o; _4.4 RSet涉及的写屏障 867 b6 D& _& ?6 C! x
4.5 日志解读 87
$ ?7 I. x9 @" i; k0 ]" \: d3 Y- f3 x* y4.6 参数介绍和调优 90
3 D+ N; u- P6 V! [5 r2 `. `第5章 新生代回收 93
: c! b3 f8 V4 O: P e4 h7 r5 W0 S5.1 YGC算法概述 937 i. H+ V4 P _8 A; @! K* `
5.2 YGC代码分析 96
" H, Y: _+ Q) U- C# O2 h# n5.2.1 并行任务 96
. X9 h4 h1 X/ C( M5 Q5.2.2 其他处理 1153 c* _4 b# r* |2 o
5.3 YGC算法演示 1168 c+ A( k! }# u1 g
5.3.1 选择CSet 117/ D$ J% a6 Q' l: s) b6 x0 [% b6 P0 o
5.3.2 根处理 117
& V, Q8 e& {% N9 e' M5.3.3 RSet处理 118# p' N4 D: O# _: m7 {
5.3.4 复制 119& Q. g* Q% E, m. s: d
5.3.5 Redirty 1207 Q m( l4 D/ D% s- R1 k
5.3.6 释放空间 120& M% T' v6 {. p3 D
5.4 日志解读 1216 Q: L" K) Q6 Z, X5 ^' X
5.4.1 YGC日志 121
! V! K- Q9 s( h( `/ _; q5.4.2 大对象日志分析 125
5 Y: \2 M* D8 T M9 R5.4.3 对象年龄日志分析 125
" s X0 T4 s( O! v( V3 c5.5 参数介绍和调优 126/ }( a9 W% i! o% N( z/ H
第6章 混合回收 129# C, G+ u8 J: U) t
6.1 并发标记算法详解 1308 |4 G v z: b( N+ G
6.2 并发标记算法的难点 133( r! s# Z8 J, r" F( f) H9 K7 |0 z
6.2.1 三色标记法 133
1 ~+ F) N$ I- \6.2.2 难点示意图 133
1 }% h. E* \: p2 K2 c: y/ l n$ h. s6.2.3 再谈写屏障 135: |/ v4 H8 e7 u9 Y
6.3 G1中混合回收的步骤 141
" k3 M! o6 u3 E6 r5 F/ j+ W( v6.4 混合回收中并发标记处理的线程 1451 G* z/ Z7 {+ t9 N& h" F: g
6.4.1 并发标记线程启动的时机 147
& q. t& B7 p" f, d9 [6 Z9 k C0 k6.4.2 根扫描子阶段 148: X6 s8 m' f# O u' [8 H
6.4.3 并发标记子阶段 152
* C, ]5 [+ }2 F, \# `6.4.4 再标记子阶段 159% p/ N' N% M* L F
6.4.5 清理子阶段 160
! H* y4 K* @! l8 G7 J7 B+ P" J6.4.6 启动混合收集 1679 @( j6 B* ^ q5 J: N* _
6.5 并发标记算法演示 170
" X# h8 z: d b; e) |3 i! w6.5.1 初始标记子阶段 171
7 \1 v6 t9 w- g3 B3 g& m2 r6.5.2 根扫描子阶段 171
& n# R9 n0 v3 `; s2 _& r; B6.5.3 并发标记子阶段 171# z# v0 e0 _5 a2 q
6.5.4 再标记子阶段 172/ Y9 M; Q& r m: ^* C
6.5.5 清理子阶段 173
. N9 q9 W! h( r) J% O6.6 GC活动图 174 p N' P" E- e7 u6 P7 Z
6.7 日志解读 174
+ D2 i" g% ^& g6.8 参数优化 178
+ n* b) n, V6 U4 N第7章 Full GC 181
B( M+ o+ C! T3 p {! F7.1 Evac失败 181
. q" }% S: t, P5 `7.2 串行FGC 1870 `! C; G. F- M( f3 q! S9 R
7.2.1 标记活跃对象 188
) H% L' B1 M" \+ F* B- _7.2.2 计算对象的新地址 190
# F3 q3 L/ k2 S7.2.3 更新引用对象的地址 190# ~7 [ G7 s" H2 x- c
7.2.4 移动对象完成压缩 1932 W1 [, `) o( H8 U9 y9 Y* E
7.2.5 后处理 194
' I5 O. Y- Q6 u7.3 并行FGC 196
5 r! l+ P! @8 }# O% E5 h7.3.1 并行标记活跃对象 197
1 V _+ d* U8 { k; ]0 ~3 t7.3.2 计算对象的新地址 198# D; J) R: |/ p% Y
7.3.3 更新引用对象的地址 200: K9 q1 A9 s3 _" c6 k- y9 |
7.3.4 移动对象完成压缩 200) N3 z# d$ z5 K: O$ b: c
7.3.5 后处理 201. m4 {8 k Y/ }$ G O: H
7.4 日志解读 201
x) L* g7 m# }" j. v4 I# A) H7 G7.5 参数介绍和调优 202& N0 J, @! L: V
第8章 G1中的引用处理 2036 y S6 y3 X# M' ?# o+ W R
8.1 引用概述 203! R$ T+ u" }6 F3 j
8.2 可回收对象发现 2075 b7 h7 i( C" B$ G+ V! i
8.3 在GC时的处理发现列表 210) B: c+ ?. ~5 a7 ^ }) |) o% _
8.4 重新激活可达的引用 214 P% O' g; W! O, U& ^3 J
8.5 日志解读 2151 r) P2 Z& T, l- e0 p: _
8.6 参数介绍和调优 215
% u. D. {7 N* ^. G) u R' r第9章 G1的新特性:字符串去重 217
M7 b' l7 g; W9.1 字符串去重概述 217+ z% c" t7 R1 Y7 W+ j% Q; p
9.2 日志解读 220& E* a0 E1 |* f
9.3 参数介绍和调优 222) r, v3 g+ o# S8 {
9.4 字符串去重和String.intern的区别 2228 t+ V' H5 @( k: Y" T5 i# s
9.5 String.intern中的实现 2236 C( U! |- R/ ~( J& |
第10章 线程中的安全点 226
# L" `0 d* e! t) R10.1 安全点的基本概念 2269 ^; o4 M$ ~4 x1 k8 R/ k) l
10.2 G1并发线程进入安全点 227
6 i* |, H# R8 |! |) J9 W7 D10.3 解释线程进入安全点 2302 C4 r: m% [; y6 Y2 V
10.4 编译线程进入安全点 230
2 F2 ^; ~8 ?) a10.5 正在执行本地代码的线程进入安全点 233
6 d0 H; @& x( H10.6 安全点小结 236
. y6 y# E1 j+ J10.7 日志分析 236
$ R: h# C) s2 F3 C6 w' y10.8 参数介绍和调优 238
. A* k& q# ~2 E第11章 垃圾回收器的选择 241
$ ~5 [- @. m3 z& d' u& Q& u11.1 如何衡量垃圾回收器 241
, _6 o! D, h0 t1 `7 O3 q g+ W$ w11.2 G1调优的方向 243
U5 w) o5 _4 n1 p2 L+ b! |( U/ y第12章 新一代垃圾回收器 247
% V* v1 ~5 ^, @! a3 S* X6 V2 {12.1 Shenandoah 247 r9 y0 U# [0 p/ @+ O/ A9 H$ ]
12.2 ZGC 258 javazx.com
1 x1 s) {$ ]0 w0 v5 N附录A 编译调试JVM 262
" T, X% E( |; C附录B 本地内存跟踪 272/ ^2 `9 ^ j( A ]8 Q9 E
附录C 阅读JVM需要了解的C 知识 276
. D0 w" r( a! c% _% T& S& |Java资料百度网盘下载地址链接(百度云):JVM G1源码分析和调优.pdf【密码回帖可见】
' I% @+ x( T ]3 R5 r3 V8 e( X- u
4 T) V( Z( y! h+ p+ Z2 d* R- y) U* t, g9 Q0 I1 e
- E1 Q" u" R: b* F |
|