JVMStudy icon indicating copy to clipboard operation
JVMStudy copied to clipboard

💊JVM 底层原理解析

开源项目推荐: Java成长之路 Java技术栈的全套知识点总结

image-20220805101528860

Stargazers over time

Stargazers over time

一、思维导图

JVMStudy

二、清单 1

2.1. 类加载子系统

  • 1-类加载子系统概述
  • 2-类加载过程
  • 3-类加载器分类
  • 4-类加载器的常用方法
  • 5-双亲委派机制
  • 6-沙箱安全机制

2.2. 运行时数据区

  • 1-运行时数据区的内部结构
  • 2-程序计数器(PC寄存器)
  • 3-虚拟机栈
  • 4-本地方法接口
  • 5-本地方法栈
  • 6-堆
  • 7-方法区
  • 8-对象的实例化内存布局与访问定位+直接内存
  • 9-字符串常量池

2.3. 执行引擎

  • 1-执行引擎

2.4. 垃圾回收机制

  • 1-概述
  • 2-常见算法
  • 3-垃圾回收相关概念
  • 4-垃圾回收器

2.5. 性能优化与调优

  • 1-性能优化概述
  • 2-JVM监控及诊断工具-命令行篇
  • 3-JVM监控及诊断工具-GUI篇
  • 4-JVM运行时参数
  • 5-分析GC日志

2.6. 高效并发

  • 1-Java内存模型
  • 2-Java与线程
  • 3-线程安全
  • 4-锁优化

三、参考文献

3.1.Oracle官网JVM规范

3.2.参考书籍

《深入理解JVM虚拟机》 周志明 著

《Java虚拟机规范》詹姆斯·高斯林 (James Gosling)

《Java语言规范》

《垃圾回收算法手册:自动内存管理的艺术》

《Virtual Machines: Versatile Platforms for System and Processes》

《Java性能优化权威指南》 Charlie Hunt

四、更多开源项目

安利一波我们的公众号:【挖掘开源的价值】

每天都会分享一些好玩,有趣,又沙雕的开源项目。或者是比较实用的开发工具。

我们的目标是:【分享好玩的项目,挖掘开源的价值】。

Github推荐

五、反馈及改进

欢迎提出issues,看到就会回馈.并且将您添加到项目贡献者列表中。

六、参与贡献(非常欢迎!)

手动打字难免会有错别字,如果您在学习过程中发现了错别字或者需要补充及修正的知识点。

欢迎及时修正本项目,让我们一起为开源做贡献!

具体步骤如下:

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request,填写必要信息。
  5. 等待审核即可。通过之后会邮件通知您。

七、许可证

在 MIT 许可下分发。有关更多信息,请参阅LICENSE

八、致谢

  1. 感谢尚硅谷提供的在线课程视频资料 在线课程
  2. 感谢JetBrains提供的配套开发环境许可证 官方网站
  3. 感谢Gitee提供的图床平台 相关地址
  4. 感谢GitHub提供代码仓库平台
  5. 感谢在线站点生成器 docsify 提供的在线站点生成功能