Java对象内存分析
对象的产生分析:
堆内存空间 | 栈内存空间 |
---|---|
保存真正的数据,对象的属性信息 | 保存堆内存的地址,拥有堆内存的操作权 |
new关键字:开辟新的堆内存
申明了对象,却没有用new关键字为其开辟堆内存空间,会出现NullPointerException,此异常是引用数据类型(数组,类,接口)才有的异常,以后出现此异常就检查有没有实例化。
引用传递分析:一个堆内存,可以被多个栈内存引用。
Person per2 = per1 ; per1真正保存的是一个堆内存地址,所以传递的是一个堆内存的地址,这就是引用传递。