JVM
Java 虚拟机
狂奔的小棕棕
这个作者很懒,什么都没留下…
展开
-
JVM进阶(三) 内存分配与回收策略
虚拟机中的堆分为年轻代和年老代。永久代是非堆内存,它又叫做方法区(一般的说法),主要存储已被加载的类信息、常量、静态变量。而该区域在java8已被删除,取而代之的是元空间。堆是整个Java内存模型中占用最大的一部分,而且不是连续的。当有需要分配内存的时候,一般有两个方法分:指针碰撞和空闲列表。该部分的内存回收是由虚拟机的垃圾收集器GC进行管理的。 堆是存放对象以及数组的...原创 2020-03-26 18:34:16 · 164 阅读 · 0 评论 -
JVM进阶(二) JAVA堆
User user = new User();对象的引用存放在栈中,对象存放在堆中。堆的存储结构和栈是不同的,堆在内存中并不是一块连续的区域,它是分散的(物理上是分散,但逻辑上是连续的,大家好好体会一下);虚拟机通过栈中引用的指引在堆中找到所需要的对象。 在虚拟机遇到一条new的指令的时候,经过一系列的操作过后虚拟机就要为该新生对象分配内存空间了,那么问题来了,这么散,虚拟机要怎么知道如...原创 2020-03-26 18:06:26 · 145 阅读 · 0 评论