一、Java内存的构成
详细解释一下Young区:
Java内存分为 堆内存(heap)和 Permanent区。
这里还有一个本地内存的概念: ·本地内存(native memory):
也就是说,整个物理机的内存可以说由以下部分构成: 物理内存 = Java 内存 + 本地内存 + 操作系统保留的内存
二、垃圾回收(Garbage Collection,GC)
1、为什么要垃圾回收
2、垃圾回收(GC)的分类
3、垃圾回收(GC)的产生过程
4、垃圾回收的回收器
三、Java内存的调优参数 -Xmx1024m:
-Xms1024m:
-Xmn512m:
-Xss128k:
-XX:NewRatio=4
-XX:SurvivorRatio=4:
-XX:MaxPermSize=16m:
-XX:MaxTenuringThreshold=0:
总结如下图:
四、内存分配中会出现的错误 关于内存最常见的错误应该是这两个:
2、内存泄露
-
Vector
v new= Vector( 10); -
for
( inti 1;= i 100;< i++) - {
-
Object
o new= Object(); - v.add(o);
-
o
= null; -
}//此时,所有的Object对象都没有被释放,因为变量v引用这些对象。
实际上这些对象已经是无用的,但还被引用,GC就无能为力了(事实上GC认为它还有用),这一点是导致内存泄漏最重要的原因。”
3、补充一个:PermGen space Error五、总结