JVM-内存

JVM中,内存分为stack和heap。
1. stack是jvm的内存指令区。管理简单,速度快,每次push或pop定长的数据或指令。java基本类型,指令代码,常量都保存在stack。由于Stack的内存管理是顺序分配的,而且定长,不存在内存回收问题
2. heap是jvm的内存数据区。管理复杂,每次分配不定长内存空间保存对象的实例,实际保存对象实例的属性值,属性类型和对象本身的类型标记,并不保存对象方法,因为方法是指令,保存在stack中。在heap中为对象实例分配好内存后,需要在stack中保存一个4Byte的heap内存地址,用来定位对象实例在heap中的位置,便于查找。Heap 则是随机分配内存,不定长度,存在内存分配和回收的问题
JVM-内存

你可能感兴趣的:(jvm)