logo
QQ一键登录
分类于: 编程语言 计算机基础

简介

JVM G1源码分析和调优: JVM G1 Implementation Analysis and Performance Tuning

JVM G1源码分析和调优: JVM G1 Implementation Analysis and Performance Tuning 0.0分

资源最后更新于 2020-03-28 17:58:34

作者:彭成寒 编著

出版社:出版社机械工业出版社

出版日期:2019-03

ISBN:9787111621973

文件格式: pdf

标签: 计算机 编程语言 Java 代码 Java核心技术系列

简介· · · · · ·

G1是目前最成熟的垃圾回收器,已经广泛应用在众多公司的生产环境中。我们知道,CMS作为使用最为广泛的垃圾回收器,也有令人头疼的问题,即如何对其众多的参数进行正确的设置。G1的目标就是替代CMS,所以在设计之初就希望降低程序员的负担,减少人工的介入。但这并不意味着我们完全不需要了解G1的原理和参数调优。笔者在实际工作中遇到过一些因参数设置不正确而导致GC停顿时间过长的问题。但要正确设置参数并不容易,这里涉及两个方面:第一,需要对G1的原理熟悉,只有熟悉G1的原理才知道调优的方向;第二,能分析和解读G1运行的日志信息,根据日志信息找到G1运行过程中的异常信息,并推断哪些参数可以解决这些异常。本书尝试从G1的原理出发,系统地介绍新生代回收、混合回收、Full GC、并发标记、Refine线程等内容;同时依托于jdk8u的源代码介绍Hotspot如何实现G1,通过对源代码的分析来了解G1提供了哪些参数、这些参数的具体意义;最后本书还设计了一些示例代码,给出了G1在运行这些示例代码时的日志,通过日志分析来尝试调整参数并达到性能优化,还分析了参数调整可能带来的负面影响。彭成寒编著。

想要: 点击会收藏到你的 我的收藏,可以在这里查看

已收: 表示已经收藏

Tips: 注册一个用户 可以通过用户中心得到电子书更新的通知哦

目录

  1. 前言
  2. 第1章 垃圾回收概述
  3. 1.1 Java发展概述
  4. 1.2 本书常见术语
  5. 1.3 回收算法概述
  6. 1.4 JVM垃圾回收器概述
  7. 第2章 G1的基本概念
  8. 2.1 分区
  9. 2.2 G1停顿预测模型
  10. 2.3 卡表和位图
  11. 2.4 对象头
  12. 2.5 内存分配和管理
  13. 2.6 线程
  14. 2.7 日志解读
  15. 2.8 参数介绍和调优
  16. 第3章 G1的对象分配
  17. 3.1 对象分配概述
  18. 3.2 快速分配
  19. 3.3 慢速分配
  20. 3.4 G1垃圾回收的时机
  21. 3.5 参数介绍和调优
  22. 第4章 G1的Refine线程
  23. 4.1 记忆集
  24. 4.2 Refine线程的功能及原理
  25. 4.3 Refinement Zone
  26. 4.4 RSet涉及的写屏障
  27. 4.5 日志解读
  28. 4.6 参数介绍和调优
  29. 第5章 新生代回收
  30. 5.1 YGC算法概述
  31. 5.2 YGC代码分析
  32. 5.3 YGC算法演示
  33. 5.4 日志解读
  34. 5.5 参数介绍和调优
  35. 第6章 混合回收
  36. 6.1 并发标记算法详解
  37. 6.2 并发标记算法的难点
  38. 6.3 G1中混合回收的步骤
  39. 6.4 混合回收中并发标记处理的线程
  40. 6.5 并发标记算法演示
  41. 6.6 GC活动图
  42. 6.7 日志解读
  43. 6.8 参数优化
  44. 第7章 Full GC
  45. 7.1 Evac失败
  46. 7.2 串行FGC
  47. 7.3 并行FGC
  48. 7.4 日志解读
  49. 7.5 参数介绍和调优
  50. 第8章 G1中的引用处理
  51. 8.1 引用概述
  52. 8.2 可回收对象发现
  53. 8.3 在GC时的处理发现列表
  54. 8.4 重新激活可达的引用
  55. 8.5 日志解读
  56. 8.6 参数介绍和调优
  57. 第9章 G1的新特性:字符串去重
  58. 9.1 字符串去重概述
  59. 9.2 日志解读
  60. 9.3 参数介绍和调优
  61. 9.4 字符串去重和String.intern的区别
  62. 9.5 String.intern中的实现
  63. 第10章 线程中的安全点
  64. 10.1 安全点的基本概念
  65. 10.2 G1并发线程进入安全点
  66. 10.3 解释线程进入安全点
  67. 10.4 编译线程进入安全点
  68. 10.5 正在执行本地代码的线程进入安全点
  69. 10.6 安全点小结
  70. 10.7 日志分析
  71. 10.8 参数介绍和调优
  72. 第11章 垃圾回收器的选择
  73. 11.1 如何衡量垃圾回收器
  74. 11.2 G1调优的方向
  75. 第12章 新一代垃圾回收器
  76. 12.1 Shenandoah
  77. 12.2 ZGC
  78. 附录A 编译调试JVM
  79. 附录B 本地内存跟踪
  80. 附录C 阅读JVM需要了解的C++知识