jvm

来源:互联网 发布:虚拟内存 知乎 编辑:程序博客网 时间:2024/06/01 10:30

jvm相关

  • jvm相关

-XX:+PrintGCDetails 打印GC日志在控制台
-Xss 设置栈大小
-Xmx 设置最大堆大小:
-Xms 设置最小堆大小:JVM启动时所占用的操作系统内容大小。
java运行时先被分配-Xms制定的内存大小,并尝试在这么大小的内存中运行程序,确实无法满足时才会想操作系统申请更多的内存,直到达到-Xmx指定的最大内容,如果超过最大堆内存大小,抛出OutofMemoryError

通常将最大堆内存和最小堆内存设置为相同,这样减少minijor gc次数,甚至引发Full gc,

方法区:存放类的类型信息,常量池,方法信息等
方法区也叫永久区(持久代),-XX:MaxPermSize设置最大值,
-XX:PermSize设置初始大小


堆=新生代+老年代
新生代:-Xmn ,一般为整个堆空间的1/3


如果需要大量线程并发执行,设置较小的堆和栈值能提高线程数量


Heap = { Old + NEW = {Eden, from, to} },Old 即 年老代(Old Generation),New 即 年轻代(Young Generation)


可能导致Full GC的情况:

· 年老代(Tenured)被写满

· 持久代(Perm)被写满

· System.gc()被显示调用


0 0
原创粉丝点击