![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
文章平均质量分 69
技术小结-李爽
这个作者很懒,什么都没留下…
展开
-
jvisualVM加载VirsualGC插件
jdk_1.8.0_60原创 2017-12-18 21:59:53 · 1580 阅读 · 2 评论 -
jvm内存模型
jvm是什么?与操作系统什么关系?与tomcat等容器什么关系?jvm内存模型分几块? 粗略分:方法区、堆、栈 详细分:方法区、堆、本地方法栈、虚拟机栈、程序计数器 堆还可以再分为:老年代、新生代、伊甸园区(s0,s1)。 来张图就一清二楚,一目了然了: //TODO:上图jvm对于内原创 2017-12-15 21:46:40 · 363 阅读 · 2 评论 -
jvm的OOM
在jvm内存模型中,除了程序计数器,其他区域都可以发生GC。也都可能出现内存溢出问题。之所以会出现内存溢出的现象,是因为程序运行过程中,内存回收不了的时候,就会出现内存溢出的问题。 关于内存溢出和内存泄漏,两个概念,它们有什么区别? 内存泄漏是在使用引用计数法标记垃圾对象的时候,出现了循环引用的情况,致使这些垃圾对象无法被GC清除。这种情况叫做内存泄漏。 内存溢出。原创 2017-12-17 20:04:35 · 488 阅读 · 2 评论 -
jvm类的加载过程
类的加载过程是类的生命周期中的一部分。 类的生命周期分为5个阶段:加载、连接、初始化、使用、卸载。 类的加载过程详细分为5个阶段。分别是加载、验证、准备、解析、初始化。 加载:加载二进制.class文件等。 验证:对加载的信息进行合法性验证,避免对虚拟机自身造成危害。 准备:为静态变量分配内存。 解析: 初始化:原创 2017-12-18 15:41:26 · 617 阅读 · 1 评论 -
jvm的GC算法总结
上篇文章了解了jvm的内存模型,那么问题来了:为什么要分区、分代管理呢?也就是jvm对于内存的管理的依据是什么? 答案是:对象的生命周期。对象的生命周期是对象从加载,创建,使用,销毁的过程。 jvm基于生命周期进行了两方面的管理:分配内存,回收内存。 1、分配内存是在类加载的时候以及程序运行的时期。 类加载的过程是怎么样的? //T原创 2017-12-17 19:57:18 · 345 阅读 · 2 评论