大家好,自从上次讲了软考课程之后,本仙女受到了社会各界的一致好评。本仙女怀着用毕生所学回报社会的热忱,打算花大手笔进行JVM的讲解。
首先,对以上的四部分进行解释。
(1)自动内存管理讲的是java运行时数据区里的部分,分为内存划分和垃圾收集器。
(2)执行子系统讲的是画红圈的三部分:类文件结构、类加载机制、字节码执行引擎。
(3)优化分别为编译期优化和运行期优化。
(4)并发讲的是虚拟机是如何实现多线程的。
具体可结合下面的JVM结构图来看。这张图是基于JDK7的。JDK7以前,常量池是存放在方法区的。从JDK7以后,常量池放到了堆中。
其次,我们来看一下本系列博客的目录。
小仙女讲JVM(2)—内存的划分
小仙女讲JVM(3)—垃圾收集机制
小仙女讲JVM(4)—类文件结构
小仙女讲JVM(5)—类加载机制
小仙女讲JVM(6)—执行引擎
再次,我们温习一下JVM的概念。
我们来看看JVM是什么,为什么有JVM。
JVM是java虚拟机(Java Virtual Machine),其实现了“一次编译,处处运行”的功能。如果没有JVM,我们编写java代码时,如果想在Windows平台上运行,那就需要编写一套适用于Windows平台的。如果想在linux平台上运行,则编写一套linux的。
如果类比到现实,.java就是面粉,.class就是和好的面团,jvm就是一个个的模子,把同样的面团刻画出不同样子的小馒头。
最后,来个文末备注。
- 本仙女乃一介女子,所讲皆是自己的理解,有啥不妥之处还请看客指出来,咱们一起成长。
- 感谢这本书的作者的极力相助。【好吧,这句话的意思是我主要是参考的这本书】