JVM 基础(1) -- Java 的内存结构
以黄小斜博文为主的学习总结 文章目录 1. 了解 JVM 内存有什么好处 2. JVM 主要组成部分 3. 运行时数据区的五大组成部分 1. 程序计数器 2. Java 虚拟机栈 3. 本地方法栈 4. Java 堆 5. 方法区 4. 控制各区域大小的参数 1. 了解 JVM 内存有什么好处 所有的 Java 开发人员可能会遇到这样的困惑:我该为堆内存设置多大空间呢?OutOfMemoryError 的异常到底涉及到运行时数据区的哪块区域?该怎么解决呢? 其实如果你经常解决服务器性能问题,那么这些问题就会变的非常常见,了解 JVM 内存可以帮助我们在服务器出现性能问题的时候,快速的了解哪块内存区域出现了问题,以便快速的解决生产故障。 2. JVM 主要组成部分 JVM 主要由 类加载器 、运行时数据区 、执行引擎和本地库接口四部分组成。 JVM 工作的流程大致就是:首先由类加载器将我们的 .class 文件加载进运行时数据区,然后 JVM 会在堆中创建一个对应类的 Class 对象,但由于我们的字节码只是 JVM 的一套指令集规范,并不能直接交给底层的操作系统去执行,所以这里就需要用到特定的字节码解析器执行引擎将我们的字节码解析成底层操作系统可以执行的机器指令,然后交由 CPU 去执行,在执行的过程中可能还需要用到其他语言的本地库接口进而完成整个程序的功能。 3.