├── README.md ├── 第2部分-自动内存管理 ├── Ch2-Java内存区域与内存溢出异常.md ├── Ch3-垃圾收集器与内存分配策略.md ├── Ch4-虚拟机性能监控、故障处理工具.md ├── Ch5-调优案例分析与实战.md └── pictures │ ├── BTrace动态追踪.png │ ├── BTrace跟踪结果.png │ ├── Eden区内存变化状况.png │ ├── HandlePromotionFailureFalse.JPG │ ├── HandlePromotionFailureTrue.png │ ├── HeadParameters.png │ ├── JConsole主界面.png │ ├── JConsole连接页面.png │ ├── JHSDB.png │ ├── JITWatch主界面.png │ ├── JMC主界面.png │ ├── JMC建立连接界面.png │ ├── JavaThread.png │ ├── MaxTenuringThreshold1.JPG │ ├── MaxTenuringThreshold15.JPG │ ├── TenuringThreshold2.JPG │ ├── Test.png │ ├── VisualVM主界面.png │ ├── VisualVM插件安装过程.png │ ├── VisualVM插件页签.png │ ├── insepector.png │ ├── jvm虚拟机运行时区域.png │ ├── main线程.png │ ├── staticObj.png │ ├── testAllocation.JPG │ ├── testBysyThread线程.png │ ├── testLockThread线程.png │ ├── testPretenureSizeThreshold.JPG │ ├── 可达性分析算法.png │ ├── 启用飞行记录仪.png │ ├── 对应用程序进行CPU执行时间分析.png │ ├── 并发出现“对象”消失问题的示意.png │ ├── 查看方法代码.png │ ├── 浏览dump文件.png │ ├── 线程死锁.png │ ├── 运行时数据区域.png │ ├── 通过句柄访问对象.png │ ├── 通过直接指针访问对象.png │ └── 飞行记录仪报告.png ├── 第3部分-虚拟机执行子系统 ├── Ch7-虚拟机类加载机制.md ├── Ch8-虚拟机字节码执行引擎.md └── pictures │ ├── 图7-2 类加载器双亲委派模型.png │ ├── 图7-7 JDK9后的类加载器委派关系.png │ ├── 图8-1 栈帧的概念结构.png │ └── 类的生命周期.png └── 第5部分-高效并发 ├── Ch12-Java内存模型与线程.md └── pictures ├── 处理器、高速缓存、主内存间的交互关系.png ├── 用户线程与轻量级线程之间M:N的关系.png ├── 线程、主内存、工作内存三者的交互关系.png ├── 线程状态转换关系.png ├── 轻量级线程与内核线程之间1:1的关系.png └── 进程与用户线程之间1:N的关系.png /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/README.md -------------------------------------------------------------------------------- /第2部分-自动内存管理/Ch2-Java内存区域与内存溢出异常.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/Ch2-Java内存区域与内存溢出异常.md -------------------------------------------------------------------------------- /第2部分-自动内存管理/Ch3-垃圾收集器与内存分配策略.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/Ch3-垃圾收集器与内存分配策略.md -------------------------------------------------------------------------------- /第2部分-自动内存管理/Ch4-虚拟机性能监控、故障处理工具.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/Ch4-虚拟机性能监控、故障处理工具.md -------------------------------------------------------------------------------- /第2部分-自动内存管理/Ch5-调优案例分析与实战.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/Ch5-调优案例分析与实战.md -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/BTrace动态追踪.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/BTrace动态追踪.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/BTrace跟踪结果.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/BTrace跟踪结果.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/Eden区内存变化状况.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/Eden区内存变化状况.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/HandlePromotionFailureFalse.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/HandlePromotionFailureFalse.JPG -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/HandlePromotionFailureTrue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/HandlePromotionFailureTrue.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/HeadParameters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/HeadParameters.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/JConsole主界面.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/JConsole主界面.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/JConsole连接页面.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/JConsole连接页面.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/JHSDB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/JHSDB.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/JITWatch主界面.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/JITWatch主界面.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/JMC主界面.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/JMC主界面.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/JMC建立连接界面.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/JMC建立连接界面.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/JavaThread.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/JavaThread.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/MaxTenuringThreshold1.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/MaxTenuringThreshold1.JPG -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/MaxTenuringThreshold15.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/MaxTenuringThreshold15.JPG -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/TenuringThreshold2.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/TenuringThreshold2.JPG -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/Test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/Test.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/VisualVM主界面.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/VisualVM主界面.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/VisualVM插件安装过程.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/VisualVM插件安装过程.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/VisualVM插件页签.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/VisualVM插件页签.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/insepector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/insepector.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/jvm虚拟机运行时区域.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/jvm虚拟机运行时区域.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/main线程.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/main线程.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/staticObj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/staticObj.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/testAllocation.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/testAllocation.JPG -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/testBysyThread线程.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/testBysyThread线程.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/testLockThread线程.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/testLockThread线程.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/testPretenureSizeThreshold.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/testPretenureSizeThreshold.JPG -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/可达性分析算法.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/可达性分析算法.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/启用飞行记录仪.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/启用飞行记录仪.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/对应用程序进行CPU执行时间分析.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/对应用程序进行CPU执行时间分析.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/并发出现“对象”消失问题的示意.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/并发出现“对象”消失问题的示意.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/查看方法代码.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/查看方法代码.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/浏览dump文件.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/浏览dump文件.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/线程死锁.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/线程死锁.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/运行时数据区域.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/运行时数据区域.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/通过句柄访问对象.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/通过句柄访问对象.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/通过直接指针访问对象.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/通过直接指针访问对象.png -------------------------------------------------------------------------------- /第2部分-自动内存管理/pictures/飞行记录仪报告.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第2部分-自动内存管理/pictures/飞行记录仪报告.png -------------------------------------------------------------------------------- /第3部分-虚拟机执行子系统/Ch7-虚拟机类加载机制.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第3部分-虚拟机执行子系统/Ch7-虚拟机类加载机制.md -------------------------------------------------------------------------------- /第3部分-虚拟机执行子系统/Ch8-虚拟机字节码执行引擎.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第3部分-虚拟机执行子系统/Ch8-虚拟机字节码执行引擎.md -------------------------------------------------------------------------------- /第3部分-虚拟机执行子系统/pictures/图7-2 类加载器双亲委派模型.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第3部分-虚拟机执行子系统/pictures/图7-2 类加载器双亲委派模型.png -------------------------------------------------------------------------------- /第3部分-虚拟机执行子系统/pictures/图7-7 JDK9后的类加载器委派关系.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第3部分-虚拟机执行子系统/pictures/图7-7 JDK9后的类加载器委派关系.png -------------------------------------------------------------------------------- /第3部分-虚拟机执行子系统/pictures/图8-1 栈帧的概念结构.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第3部分-虚拟机执行子系统/pictures/图8-1 栈帧的概念结构.png -------------------------------------------------------------------------------- /第3部分-虚拟机执行子系统/pictures/类的生命周期.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第3部分-虚拟机执行子系统/pictures/类的生命周期.png -------------------------------------------------------------------------------- /第5部分-高效并发/Ch12-Java内存模型与线程.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第5部分-高效并发/Ch12-Java内存模型与线程.md -------------------------------------------------------------------------------- /第5部分-高效并发/pictures/处理器、高速缓存、主内存间的交互关系.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第5部分-高效并发/pictures/处理器、高速缓存、主内存间的交互关系.png -------------------------------------------------------------------------------- /第5部分-高效并发/pictures/用户线程与轻量级线程之间M:N的关系.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第5部分-高效并发/pictures/用户线程与轻量级线程之间M:N的关系.png -------------------------------------------------------------------------------- /第5部分-高效并发/pictures/线程、主内存、工作内存三者的交互关系.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第5部分-高效并发/pictures/线程、主内存、工作内存三者的交互关系.png -------------------------------------------------------------------------------- /第5部分-高效并发/pictures/线程状态转换关系.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第5部分-高效并发/pictures/线程状态转换关系.png -------------------------------------------------------------------------------- /第5部分-高效并发/pictures/轻量级线程与内核线程之间1:1的关系.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第5部分-高效并发/pictures/轻量级线程与内核线程之间1:1的关系.png -------------------------------------------------------------------------------- /第5部分-高效并发/pictures/进程与用户线程之间1:N的关系.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starjuly/UnderstandingTheJVM/HEAD/第5部分-高效并发/pictures/进程与用户线程之间1:N的关系.png --------------------------------------------------------------------------------