一。
实例化对象的内存图
1.一个对象创建,首先在方法区生成类和方法代码,然后调用main方法,入栈,new时,在堆中创建对象,调用成员变量和方法时,分别指向方法区的地址
2.方法执行完成后,出栈
二,字符串池说明:1.位于内存当中的一小块空间(在堆中),保存若干个字符串地址值
2.字符串池中不会出现重复的对应的地址,保证字符串不会重复
3.凡是直接双引号的字符串,默认都在池中,new出来的字符串,不在池中
4.字符串池内存模型
三,字符串是不可以变的。字符串就是对象
String str = "hello";
str = "world";
System.out.pringln(str)//输出helloworld,指的是堆中的两个字符串拼起来的。即栈中的str, 指向堆中的"hello"和“world”,这两个字符串本身是没变的。