�x��(sh��)�¹�������ֱ�ӳ���
�gӭ���R�ЈD�W(w��ng) Ո(q��ng) | ע��(c��)

���] ��������JVM&G1 GC

���ߣ�����ҫ��
�����磺��ӹ��I(y��)����������r(sh��)�g��2017-06-01
�_(k��i)���� 32�_(k��i) �(y��)��(sh��)�� 248
�� �D �r(ji��):¥27.2(3.9��) ���r(ji��)  ¥69.0 ��䛺�ɿ�����(hu��)�T�r(ji��)
����ُ(g��u)��܇ �ղ�
�_(k��i)������ ȫ��(ch��ng)���]
?�½������س���
��ܰ��ʾ��5�����ˆD��(sh��)��Ҫ�������β؛���󲿷֞�ȫ�£����ܷ�/�o(w��)�ܷ⣩����(g��)�e�D��(sh��)Ʒ��8-9�������п�
�Є�����(bi��o)ӛ����P�ȸ�����ȫԔ��(x��)Ʒ���f(shu��)��>>
������Ǖ�(sh��)����>

��������JVM&G1 GC ���(qu��n)��Ϣ

��������JVM&G1 GC ����(sh��)��ɫ

����G1GC����˲��_����Region��ÿ��(g��)���eRegion���Ǟ�ij��(g��)�̶������(zh��n)����������`����������(q��)��(d��ng)��������G1GC���������M(j��n)��������������JVM��G1GC����Ҫ��W(xu��)��(x��)Java�Z(y��)�ԵČW(xu��)��������(j��)����T�ṩGC��ʹ�Å������h����(j��ng)�(y��n)�����ؽ�B��G1GC���Ї�(gu��)��ܛ���_(k��i)�l(f��)�ИI(y��)�ѽ�(j��ng)�Ў�ʮ��������Ŀǰ���ИI(y��)�l(f��)չ��(l��i)�����μ���ܛ����˾���y�аl(f��)չ��Ŀǰ���е���Ӌ(j��)������“(li��n)�W(w��ng)��I(y��)��(sh��)�H���ǾC����IT���g(sh��)�����ϣ��@����Ҫ�оC�������ij���T������������JVM��G1GC��������������֪�R(sh��)�ľC�ς����������ǃH�Hᘌ�(du��)Java̓�M�C(j��)��GC�{(di��o)��(y��u)�M(j��n)���v����Ҳ����ÿһ�¹�(ji��)���Ќ�(sh��)�H�İ���֧�Ρ�����������JVM��G1GC�����w�������Ž׷��棺JVM���A(ch��)֪�R(sh��)��GC���A(ch��)֪�R(sh��)��G1GC�������B��G1GC�{(di��o)��(y��u)���h��JDK�Ԏ�����ʹ�ý�B�ȡ�ͨ�x����������JVM��G1GC�������x�߿��������˽�G1GC�����{(di��o)��(y��u)���S�����}�����P(gu��n)�ľC����֪�R(sh��)���x��Ҳ���԰ѡ���������JVM��G1GC�����酢������(du��)�ڸ��dȤ�����}��ֱ����������(y��ng)�¹�(ji��)���Ҵ𰸡�

��������JVM&G1 GC ��(n��i)�ݺ�(ji��n)��

������](m��i)��һ���r�Ƶ��{(di��o)��(y��u)�ؼ�����_�f(w��n)������ܰٿơ�GC�����{(di��o)��(y��u)��Ҫ���T��֪�R(sh��)���ܲ��ܽ�Q���Q��GC���܆�(w��n)�}Խ������ˇ�ŕ�(hu��)Խ��տ���������JVM �� G1 GC�����H�м��g(sh��)��(sh��)�`��߀���O(sh��)Ӌ(j��)ԭ����Ŀ��(bi��o)��׌����������GC���e�۸��༼�g(sh��)�c��(j��ng)�(y��n)������õ������a(ch��n)Ʒ����

��������JVM&G1 GC Ŀ�

Ŀ�����

�� VII
ǰ�� IX
��1�¡�JVM �� GC���A(ch��)֪�R(sh��) 1
1.1������ 2
1.2�������g(sh��)�Z(y��) 3
1.2.1��Java���P(gu��n)�g(sh��)�Z(y��) 4
1.2.2��JVM/GCͨ���g(sh��)�Z(y��) 24
1.2.3��G1�漰�g(sh��)�Z(y��) 56
1.3�������Y(ji��) 62
��2�¡�JVM �� GC����֪�R(sh��) 63
2.1��Java̓�M�C(j��)��(n��i)��ģ�� 64
2.1.1������Ӌ(j��)��(sh��)�� 65
2.1.2��̓�M�C(j��)�� 66
2.1.3�����ط����� 72
2.1.4��Java�� 73
2.1.5�������^(q��) 79
2.2�������ռ��㷨 82
2.2.1������Ӌ(j��)��(sh��)�� 82
2.2.2���������㷨 83
2.2.3����(bi��o)ӛ-����㷨��Mark-Sweep�� 85
2.2.4����(f��)���㷨��Copying�� 87
2.2.5����(bi��o)ӛ-���s�㷨��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����Ҋ(ji��n)��(w��n)�}���� 112
2.4.1��jmap -heap��-histo������ 112
2.4.2��YGCԽ��(l��i)Խ�� 112
2.4.3��Java���ô�ȥ�ă��� 114
2.5�������Y(ji��) 116
��3�¡�G1 GC��(y��ng)��ʾ�� 117
3.1���������� 118
3.2���x�(xi��ng)��ጼ���(y��ng)�� 124
3.3�������Y(ji��) 166
��4�¡�����G1 GC 167
4.1��G1 GC���(ji��n)�� 168
4.1.1������֪�R(sh��) 168
4.1.2��G1���������ՙC(j��)�� 169
4.1.3��G1�ą^(q��)�g�O(sh��)Ӌ(j��)�`�� 169
4.2��G1 GC�ִ����� 172
4.2.1�����p�� 172
4.2.2�����p�����Օ�ͣ 173
4.2.3����(du��)��^(q��)�g 174
4.2.4����ϻ��Օ�ͣ 176
4.2.5�����ռ��ϼ�����Ҫ�� 178
4.2.6��RSet������Ҫ�� 178
4.2.7�����И�(bi��o)ӛѭ�h(hu��n) 182
4.2.8���u(p��ng)��ʧ������ȫ���� 186
4.3��G1 GCʹ�È�(ch��ng)�� 186
4.4��G1 GCՓ��ԭ�ķ��g�����֣� 187
4.4.1���_(k��i)�} 187
4.4.2����(sh��)��(j��)�Y(ji��)��(g��u)/�C(j��)�� 188
4.4.3��δ��(l��i)չ�� 190
4.5�������Y(ji��) 191
��5�¡�G1 GC���܃�(y��u)������ 192
5.1��G1�����p������ 193
5.2�����p����(y��u)�� 203
5.3�����И�(bi��o)ӛ�A�΃�(y��u)�� 205
5.4����ϻ����A�� 207
5.4.1��������B 207
5.4.2�������B 208
5.5����α�����F(xi��n)GCʧ�� 210
5.6������̎�� 211
5.6.1���^������̎�� 212
5.6.2������̎�탞(y��u)�� 213
5.7�������Y(ji��) 214
��6�¡�JVM�\�๤��ʹ�ý�B 215
6.1��SA���A(ch��)��B 216
6.2��SA����ʹ�Ì�(sh��)�` 217
6.2.1����Ά���(d��ng)SA 217
6.2.2��SAԭ����ʹ�ý�B 222
6.3���������߽�B 231
6.3.1��GCHisto 231
6.3.2��JConsole 232
6.3.3��VisualVM 236
6.4�������Y(ji��) 238
չ�_(k��i)ȫ��

��������JVM&G1 GC ���ߺ�(ji��n)��

������ҫ 12��Ͷ�Y�y���(xi��ng)Ŀ���ֲ�ʽӋ(j��)���(xi��ng)Ŀ������(j��ng)�(y��n)��IBM�_(k��i)�l(f��)��Փ������������InfoQ���������� һ��IT���g(sh��)����(��i)���ߣ�һ���B��(qi��ng)���׵Ĺ��̎����Ƴ缼�g(sh��)��(chu��ng)�¡�˼�S��(chu��ng)������(du��)���¼��g(sh��)�dz����(��i)�������ڼ��g(sh��)�аl(f��)���о���ͨ�^(gu��)�l(f��)����������(sh��)��������(d��ng)���(d��ng)����ʽ�e�O�ƏVܛ�����g(sh��)�� �gӭ����΢��“michael_tec”����ͬ̽ӑIT���g(sh��)Ԓ�}��

���o(w��)�u(p��ng)Փ����
��(sh��)�����]
��݋���]
����픲�
�ЈD�W(w��ng)
�ھ��ͷ�