java 面向对象以内存管理

java 内存管理由JVM来管理java

一堆:ide

1存储new出来的对象(包括实例变量)this

 

2垃圾:没有任何引用所指向的对象,垃圾回收器(Gc)不定时到内存中去清扫垃圾, Gc的回收过程是透明的,不必定发现垃圾就马上回收能够调用System.gc()建议虚拟机尽      快     调度Gc来回收垃圾对象

 

3实例变量的生命周期:建立时存储在堆中,对象被回收时一并被收回blog

 

4内存泄漏:再也不使用的内存尚未被及时的回收生命周期

建议:若对象再也不使用时应及时将其引用设置为null内存

 

二栈:get

1存储正在调用的方法中的全部局部变量(包括方法的参数)虚拟机

2调用调用方法时会为该方法在栈中分配一块对应的栈帧,栈帧中包含方法的局部变量(包括参数),当方法调用结束时,栈帧被清除,局部变量一并被清除it

3局部变量的生命周期:

调用方法时存储在栈中,方法结束时与栈帧一并消失

三方法区:

1存储.class字节码文件(包括方法,静态变量)

2方法只有一份,经过this来区分具体的访问对象

 

几张关于堆栈方法区内存的大体图,适合基础学者用于理解。

堆方法区栈

相关文章
相关标签/搜索