这篇文章我们来小结一下JVM
JVM,即java虚拟机,是java代码运行时的环境。我们从底层往上层来说,分别是硬件部分,操作系统,JVM,jre,JDK,java代码。JVM是直接与操作系统打交道的。JVM也是java程序一次编到处运行的主要原因。JVM主要就是讲了一句话,即“Student a = new Student()”。下面来具体说一下。
首先,你要明白JVM的内存结构。注意,这是JVM的内存结构,是计算机在内存中划一块空间给JVM,然后JVM对其进行划分的。知道了JVM的内存结构后,你还要知道JVM是怎样分配内存的。java是面向对象的,所以你还要知道对象在内存中的布局,知道jvm是如何访问对象的。然后就是JVM的重头戏——垃圾回收(GC)。你要知道怎么判断一个对象是垃圾?怎么回收垃圾?有哪些垃圾回收器?要知道对象在堆内存中的内存分配和回收策略。之后你要了解类的文件结构,知道类是怎样一步一步的被加载运行的。除此之外你还要知道类加载器。知道怎么优化代码。这些都是jvm的内容。
总的来说,jvm不算难,但是靠近底层,要有扎实的计算机底层知识做铺垫。
下面给一张jvm的知识框架图:
jvm系列到此就告一段落了。以后如果有机会,会更加详细的介绍jvm的其他方面的内容的。