java内存的创建,管理和消亡

来源:互联网 发布:帝国cms 头条 编辑:程序博客网 时间:2024/04/28 15:54

今天先列个大纲:

1、一般数据类型,直接创建,引用类型:new关键字;

2、Java内存模型(JMM)。一定要从并发模型->Java内存模型->线程模型,这样的顺序理清JVM。;

3、Java语言级内存模型:栈(线程独有)、堆(多数是共享内存,支持hotspot机器快速创建对象的原理,也有一小部分是线程独有)、方法区(静态类和变量,共享),常量池(如string.intern()、integer...,共享)。JMM管理共享内存和本地内存之间的数据交换;

4、GC。新生代(eden,survivor1,survivor2):minorGC、老年代:full GC、持久代:full GC;

5、full GC(stop-the-world)目前支持5中gc算法:serial 串行gc、parallel 并行gc、并行老年代、并发(分类标记-清楚)、G1

6、jstat内存监控;

7、top等机器监控;

8、根据监控信息,进行JVM优化。-Xms:堆启动是大小;-Xmx:堆最大大小;-XX:newRatio=2(new:old=1:2);-XX:survivorRatio=4(eden:survivor=4:2);JDK1.8之前:-XX:MaxPermSize:最大持久代,-XX:PermSize:持久大大小;JDK1.8:-XX:MetaspaceSize:元数据大小,不再包括常量池

0 0