摘要:
一、堆的核心概述 1.堆与进程 堆针对一个JVM进程来说是唯一的。也就是一个进程只有一个JVM实例,一个JVM实例中就有一个运行时数据区,一个运行时数据区只有一个堆和一个方法区。 但是进程包含多个线程,他们是共享同一堆空间的。 一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。 Ja 阅读全文
![4.堆](https://img2022.cnblogs.com/blog/2229560/202204/2229560-20220406090753357-161727843.png)
摘要:
一、虚拟机栈 1.简介 1.1虚拟机栈的出现背景 由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的【如果设计成基于寄存器的,耦合度高,性能会有所提升,因为可以对具体的CPU架构进行优化,但是跨平台性大大降低】。 优点是跨平台,指令集小,编译器容 阅读全文
![3.虚拟机栈](https://img2022.cnblogs.com/blog/2229560/202204/2229560-20220406090700544-384880118.png)
摘要:
1.前言 本节主要讲的是运行时数据区,也就是下图这部分,它是在类加载完成后的阶段 当我们通过前面的:类的加载 –> 验证 –> 准备 –> 解析 –> 初始化,这几个阶段完成后,就会用到执行引擎对我们的类进行使用,同时执行引擎将会使用到我们运行时数据区 类比一下也就是大厨做饭,我们把大厨后面的东西( 阅读全文
![2.运行时数据区概述及线程](https://img2022.cnblogs.com/blog/2229560/202204/2229560-20220406090610675-1864082318.png)