内存模型

内存区域

方法运行时进栈,执行完毕出栈

局部变量存放

new 出来的对象

成员变量存放

方法区

字节码文件

在JDK8取消永久代后,方法区变成了一个逻辑上的区域,这些类变量的内存实际上是分配在Java中的。

字符串 内存

String Table 串池

JDK7 开始,串池在堆内存当中

使用字符串常量时,先在串池当中找是否有需要的字符串,若没有则创建,有则直接使用

字符串对象

new String 的方式创建字符串,在堆内存当中,不会复用