一、先了解一下内存的划分
1、java中的内存划分主要有两部分组成:
2、怎么调整内存大小呢 想要调整内存大小,主要就是调整堆内存空间大小:有以下三个参数
- “Xms” :初始内存(初始为物理内存的六十四分之一)
- “Xmx”:最大分配内存(初始值为物理内存的四分之一)
- “Xmn”:年轻代堆内存大小的空间
进行修改:java -Xms XXXM -Xmx XXXM -Xms XXXM testDemo 这个testDemo是随便的一个类
3、Java的内存回收机制 简单点来说:
- 新的对象保存在Eden区中,之后此对象保存在年轻代(进行从Gc,MinorGC回收)中,在进行gc后,所有留下来的对象保存到旧生代(主Gc,Maior Gc回收)中去。
- 如果再有新对象,从年轻代中回收,再找到旧生代中去回收,最后进行全部的垃圾扫描(Full GC),最后不行就报错了。
4、面试题
GG是什么?如何操作
- Gc是垃圾收集,对于Gc操作可以利用Runtime类gc方法手工方法释放,或者java自己来收。
5、Runtime是什么
- Runtime使用了单利设计模式,每一个JVM进程只会存在有一个Runtime类
- Runtime提供有gc方法,可以进行垃圾回收
|