通俗易懂JVM

絮絮叨叨:为什么会想写这个系列的文章?
我自己看了许多的关于JVM的书籍和视频,但是还是感觉众位前辈大佬们将JVM每一部分切的太碎,导致自己总是记住东边忘西边,我时常在想为什么记不住,有一次偶然灵感爆发,我觉得我记不住不是因为记性不好,而是没有一个全局视角,JVM本就是一个协同工作的整体,我为什么一定要分开来一块一块的学习呢?于是就有了这个系列文章。

这篇文章更像是一个目录或者一个大纲,可以更好的让你抓住主线。

你是否有这样的疑问

  1. 老师讲的各种内存结构各自理解非常透彻,但是落实到方法执行还是有点模糊什么样的数据该放到堆,什么样的数据该放到栈。
  2. 当方法跳转时,pc寄存器是如何变化的,当方法返回时,pc寄存器又是如何变化的。
  3. 什么情况下是线程安全的,什么情况下是线程不安全的。为什么是线程安全的,为什么是线程不安全的?
  4. 什么情况下会发生内存泄漏?
  5. 参数是怎样传递的,为什么有时候就把原来的值给改了,有时候就改不了原来的值。

等等,这些都是JVM的原理没有搞清,当你耐心看完这篇文章,我相信你会搞清楚这些问题的答案的。

文章集合

1. JVM整体架构(1 JVM整体架构图_tinpo_123的博客-CSDN博客_jvm图):该部分通过一个整体架构图,讲解了JVM各个部分总体功能。
2.静态文件解析(2 java class文件解析_tinpo_123的博客-CSDN博客):这部分主要讲述了class文件的文件结构,不太重要,如果阅读起来有难度可以跳过或者全文阅读完毕后再反过头来阅读该部分内容。阅读本节能帮助你了解到:

  1. 静态文件的结构
  2. 静态常量池的结构,如何阅读静态常量池。


3. 类加载子系统:这部分讲述了class文件被放入JVM虚拟机后,将要经历怎样的过程,又会被生产放到那里?阅读本节能帮助你了解到:
 

  1. java虚拟机(JVM)的启动过程。
  2. 如何加载一个类。
  3. 系统类是什么时候被加载的,用户写的类又是什么时候被加载的。
  4. 双亲委派机制。
  5. java虚拟机第一个加载的类是什么。


4. 运行时数据区总览⭐:从这里我们将要进入JVM最为重要的内存部分。

5. 垃圾回收⭐:面试常考点。、

6. Java语言与JVM⭐:面试常考点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

tinpo_123

感谢给小张填杯java~

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

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

打赏作者

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

抵扣说明:

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

余额充值