你有遇到过这些问题吗?
很多人都是为了面试才接触Java虚拟机。但其实,熟悉JVM是为了更好的去理解Java,了解我们的程序。希望这篇文章能够真正的帮到大家,彻底解决掉JVM在面试时必问这个难题,看完这个内容保证面试时能对答如流。
JVM 分为 5 个部分,分别是:
1、类加载器(Class Loader)
2、运行时数据区(Runtime Data Area)
3、执行引擎(Execution Engine)
4、本地库接口(Native Interface)
5、本地方法库(Native Libraies)这其中最复杂的是运行时数据区,又可分为方法区、虚拟机栈、本地方法栈、堆、程序计数器,并且方法区和堆是线程共享的,虚拟机栈、本地方法栈、程序计数器是线程隔离的,JVM的结构如下图所示。
那JVM的学习路线到底是怎样的?
我们都知道,运行时数据区是 JVM 内存结构最重要的部分,也是难点部分,但是技术想要有所进阶、进大厂,必然绕不过JVM这个拦路虎。