一流程序员与二流程序员的分水岭:JVM虚拟机-全面理解
秉承一个信念,要学遍学底层逻辑。那是一通百通的底气。
一、学不学JVM 是自主解决问题的一流程序员与跟着别人做CRUD的二流程序员的分水岭。只有深入了解透彻jvm的工作过程及原理,才能对自己开发出高性能的代码充满信心。

1首先就是将classFile文件通过类加载(ClassLoader也就是个类)加载到jvm虚拟机的内存中。就是将类加载到就是方法区(元数据区)
2然后交给执行引擎,将类中指令解析出来执行,执行过程中会将类创建对象。
3再将对象创建到堆当中。
那要执行某个东西需要一个逻辑就是线程。因为只有线程是执行程序的唯一单元。在jvm内部,会对每一个线程分配一个虚拟机栈(左数第2列),它是一个先进后出的栈结构。在这个栈里面会记录当前线程运行的所需要的数据。
二、Class 文件规范
1、Class文件结构

Spring6及springboot3已经用到jdk17了,但是我们jdk8 是跑不起来spring6的。


可以看到jvm的字节码,以及整个的执行过程:
![]()
![]()


本文原创,转载必追究版权。
