【JVM从0到1】开篇词:为什么要学习java虚拟机

为什么要学习java虚拟机

作为java工程师你是否也遇到过类似的问题?

1 线上系统突然卡死了,JVM FullGC太频繁,甚至直接OOM, 如何解决?

2 新项目上线,对各种jvm参数咋设置? 一脸茫然

3 出去面试之前都要重新背一遍 JVM 的一些原理概念性的东西,比如JVM内存模型、垃圾回收算法,然而面试官却经常问你在生产环境中的JVM问题,比如如何调优 JVM 参数,如何解决 GC、OOM 等问题,一脸懵逼

为什么要学习 JVM ?

观点一: 因为面试,尤其是对于要参加校招的应届生来说,大厂面试JVM 是必问,掌握越深越好。

观点二:追求底层技术,JVM 是 Java 生态的核心价值的体现,垃圾回收算法、JIT编译器、底层原理值得每个java工程师去探索研究。

观点二:排查线上问题,众所周知我们一个 Java 应用程序一旦上线,肯定时不时会出现问题。除去网络、数据库、代码本身逻辑问题,很多时候出现问题,就是 Java 虚拟机的内存出现了问题。要么是内存溢出了,要么是 GC 频繁导致性能瓶颈等棘手问题。

遇到这种问题该如何解决呢?那么你就必须要看得懂 GC 日志,这是 Java 虚拟机内容的一部分。你要看懂了 GC 日志,那么你就得明白什么是年轻代、老年代、永久代、元数据区等,这些就是 Java 虚拟机的内存模型。当你懂了 Java 虚拟机的内存模型,那你就得知道 Java 虚拟机是如何进行垃圾回收的,它们使用的是什么垃圾回收算法,它们的优缺点是什么。接下来就是各种垃圾回收器的特性。

你看,这一切东西都是相关联的。你想要解决线上的 Java问题类似频繁GC 、OOM,那么你就必须学会分析GC 日志。要看懂GC 日志,就必须学会 Java 虚拟机内存模型。要看懂 Java 虚拟机内存模型,你就要学会垃圾回收机制等等。

为什么要写这个专栏?

也许在别人看来,国内JVM相关的学习资料已经非常丰富了。理论类型的,可以看周志明老师的《深入理解Java虚拟机》。实战类型的,可以看葛一鸣老师的《实战Java虚拟机》。还有B站上 宋红康老师的JVM全套课程,讲的也很好。听起来我好像没有什么理由理由再去写同样的内容,就算写了也可能又大部分内容的重合。一开始我也是这么想,但后来我发现在某些知识点的理解上,我有我自己的见解,希望与大家分享。虽然不可避免会有一些重叠的地方,但写作思路不一样,针对的人群不一样,自然意义都不同了。

比起《深入理解Java虚拟机》和《实战Java虚拟机》,我写得应该更通俗易懂一些,基于大量手绘图, 针对内存模型、类加载、垃圾回收等核心理论知识,采取几乎一步一图的方式讲解,让小白都能看懂。用大量的生产案例贯穿整个专栏,进而教给大家遇到JVM生产事故时如何定位排查、分析解决问题的思路和方法。案例中会包含这个系统的用户量、并发量、数据量以及核心业务流程,进而给出发生生产故障的真实场景。然后是一步一步如何分析、排查和定位每个问题的,包括解决问题的过程中涉及到的底层JVM原理的剖析。

另外专栏还会贯穿大量的大厂JVM面试题剖析,因此在学习完专栏过后,大家出去面试,无论是JVM的原理,还是JVM的生产实践,国内没有公司面得到你。

确定想做这件事情之后,我 几个月前开始准备,查看相关书籍,开始着手写初稿。但要写好一个通俗易懂的专栏真的不容易,有时候要求太高反而容易让文章难产而死。在我写下这篇作品之时,我大致理清楚要写的文章目录了,但是内容还是没有非常明确。但我知道,如果我再不发出来,或许就再也不会发出来了。因为写得时间太久了,太拖下去或许就写不完了。有时候太追求完美,反而不是一件好事。所以大家在看的时候欢迎多提提意见,帮助我完善文章。

如果你对我说的感兴趣,那可以关注一下我后续发的文章。如果你有朋友也对 Java 虚拟机感兴趣,也可以转发给他们,邀请他们一起拉学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员雨哲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值