JVM 原理分析及调优
来源:互联网 发布:淘宝男士防晒衣 编辑:程序博客网 时间:2024/06/05 15:33
New(年轻代)
1、堆内存
2、用来存放JVM刚分配的Java对象3、(a):Eden用来存放JVM刚分配的对象
(b):Survivor1
(c):Survivro2:两个Survivor空间一样大,当Eden中的对象经过垃圾回收没有被回收掉时,会在两个Survivor之间来回Copy,
当满足某个条件,比如Copy次数,就会被Copy到Tenured。显然,Survivor只是增加了对象在年轻代中的逗留时间,增加了被垃圾回收的可能性。
4、当年轻代内存满时,会引发一次普通GC,该GC仅回收年轻代。需要强调的时,年轻代满是指Eden代满,Survivor满不会引发GC
Tenured(年老代)1、堆内存
2、年轻代中经过垃圾回收没有回收掉的对象将被Copy到年老代
4、当年老代满时会引发Full GC,Full GC将会同时回收年轻代、年老代
永久代(Perm)1、虚拟机直接分配(XX:PermSize -XX:MaxPermSize 等参数调整其大小)
2、永久代存放Class、Method元信息,其大小跟项目的规模、类、方法的量有关,一般设置为128M就足够,设置原则是预留30%的空间。
4、当永久代满时也会引发Full GC,会导致Class、Method元信息的卸载
内存泄漏及解决方法:
1.系统崩溃前的一些现象:
每次垃圾回收的时间越来越长,由之前的10ms延长到50ms左右,FullGC的时间也有之前的0.5s延长到4、5s
FullGC的次数越来越多,最频繁时隔不到1分钟就进行一次FullGC
年老代的内存越来越大并且每次FullGC后年老代没有内存被释放
之后系统会无法响应新的请求,逐渐到达OutOfMemoryError的临界值
0 0
- JVM 原理分析及调优
- JVM原理及调优
- jvm的工作原理及调优
- jvm的工作原理及调优
- Jvm原理及调优学习
- JVM原理及参数调优
- jvm性能分析及调优
- JVM原理调优
- JVM(JAVA虚拟机)调优及原理
- JAVA应用JVM原理及参数调优笔记
- jvm内存调优及原理的学习笔记
- Tomcat性能调优及JVM内存工作原理
- JVM 堆内存设置原理技术详解及案例分析
- JVM 源码分析之 System.currentTimeMillis 及 nanoTime 原理详解
- JVM原理分析
- JVM原理分析
- JVM原理简单分析
- JVM原理浅谈分析
- 对form表单post的研究
- 限制提交次数
- Oracle:如何使用PL-SQL 11.0连接远程Oracle12c服务器?
- [USACO1.2]方块转换 Transformations
- android基础-单元测试—junit
- JVM 原理分析及调优
- 开发中遇到的错误
- IDAuthority
- 实验3 Android UI 任务:手机信息页面
- Leetcode 155
- iOS微信分享不触发回调函数onResp()解决方法
- 导入java项目出现下面的错误The project cannot be built until build path errors are resolve
- 关于ssh
- Mysql命令模式导入XXX.sql文件