摘要: 1、堆介绍 一个JVM实例只需要一个堆内存,堆内存的大小是可以调节的。类加载器在读取类文件之后,需要把类、方法、常变量放在堆内存中,保存所有引用类型的真实信息,以Execution Engine执行。 堆逻辑上由“新生区+养老区+元空间”三部分组成,物理上由“新生区+养老区”两部分组成。 新生区是类 阅读全文
posted @ 2021-01-27 15:58 又又又8 阅读(270) 评论(0) 推荐(0) 编辑
摘要: HotSpot VM 目前使用最广泛的虚拟机 HotSpot使用指针的方式来访问对象 Java堆中会存放访问类的元数据(元数据:描述数据的数据,即模板)地址 reference直接存储对象的地址 阅读全文
posted @ 2021-01-27 12:20 又又又8 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 栈管运行,堆管存储 Java栈在线程创建时创建,它的生命周期跟随线程的生命周期,线程结束占内存也就释放 线程私有,不存在垃圾回收机制 8种基本类型的变量+对象的引用类型+实例方法都是在函数的栈内存中分配的 栈帧(方法压入栈之后叫栈帧)中主要存储3类数据: 本地变量:输入参数和输出参数以及方法内变量 阅读全文
posted @ 2021-01-27 11:35 又又又8 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 方法区绝不是放方法的地方,它存储一个类的结构信息 方法区是一种规范,在不同虚拟机中的实现不一样,最典型的就是永久代和元空间 Java 7中:方法区 f = new 永久代(); Java 8中:方法区 f = new 元空间(); 阅读全文
posted @ 2021-01-27 09:58 又又又8 阅读(56) 评论(0) 推荐(0) 编辑