Java创建对象内存图
现有一个Person类,对其创建对象进行内存分析
public class Person {
String name;
int age;
//无参构造函数,不写自己也会有
public Person() {
}
//有参构造函数,设置以后若想再想用无参构造必须要自己设置
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void method(){
System.out.println("method方法被执行");
}
}
下面是主类
public class Test {
public static void main(String[] args) {
Person person = new Person();//创建一个对象
person.name = "小明";
person.age = 18;
person.method();
System.out.println(person.name);
System.out.println(person.age);
Person person1 = new Person();//创建另一个对象
}
}
内存分析如下图:
分析:
方法区主要存跟class相关的
栈内存是跟主程序运行相关的
堆内存都是存放对象的
以上都是简单描述