java -- 虚拟机和内存

时间:2022-12-23 16:31:40

从大方向来分:
栈内存,堆内存,方法区,本地方法栈,程序计数器

java从存储数据的角度来分:

寄存器(register):最快的存储区,由编译器根据需求进行分配,不由认为控制.

堆栈(statck):存放基本数据类型和引用别名

堆(heep):new出来的东西

静态存储(static storage):存放静态成员static定义的

常量存储:(constant storage):存放字符串常量和基本类型常量(final)

非RAM存储

对于字符串:其对象的引用都用存储在栈中的,如果在编译期已经创建好的就存储在常量池中,如果运行期(new出来的)才能确定的就存储在堆中.

对于equals相等(字符串值相等)的字符串,在常量池中永远只有一份,在堆中可以有多份.