Java中,字符串以String类的对象形式存储在内存中,内存分为堆栈和堆两部分。堆内存中有字符串常量池,用于存储唯一的字符串字面量。堆栈内存中存储变量和对象引用。创建字符串对象有两种方式:字符串字面量和使用new关键字。通过“==”运算符比较物理地址,通过equals函数比较内容。使用字符串字面量节省内存空间,但常量池大小有限。使用new关键字创建对象可以释放不需要的对象,但会增加JVM负担。
JVM内存结构经历了多次变化。从JDK1.6到1.8,字符串常量池从方法区移出;JDK7开始,部分永久代数据转移至Java Heap和Native Heap;JDK8中,永久代被完全移除,类的元数据信息转移至本地内存的Metaspace。
完成下面两步后,将自动完成登录并继续当前操作。