JVM的原理一张图梳理![在这里插入图片描述](https://img-blog.csdnimg.cn/9cc31fa725174b7e930605432f3369a0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAd2VpeGluXzM3OTE2Mjgy,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
jvm是什么?
根据上图大家去学习jvm,首先我们要知道为什么要学习jvm,因为java是可以跨平台运行,在不同的系统或平台运行,那么这是为什么了?因为java是依赖于jdk,JDK是Java Development Kit的缩写,是java的开发工具包,里面包含了各种类库和工具,同时也包含了一个JRE,那么JRE提供了一个jvm;jvm是什么了?你可以这么理解,jvm就是一个翻译器,把java语言翻译为机器可读的机器语言;而这个翻译器你就得去了解它的构造模块有哪些?它的翻译原理是什么?等等,这些东西都得去学习。
JVM需要学习什么?
jdk
jre
jvm分区:堆、方法区、java栈、本地方法栈、程序计数器;每个区域又可以单独拿出来学习
类加载:加载方式、加载流程
GC:垃圾对象收集器、垃圾回收算法、垃圾回收器、GC命令;每个模块也可以单独拿出来学习
JVM分析:JVM分析器、JVM调优
等等。。。。。。
要每个点都深入的体会学习,才对java的运行加载生命周期以及存放区域和最终的调优有更加深入的了解。