![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM相关
奋斗的小杨
这个作者很懒,什么都没留下…
展开
-
Java8默认垃圾收集器介绍
如何确认自己的JDK使用的哪个垃圾收集器?在可以用jvm参数,打印自己的jdk版本和收集器信息 -XX:+PrintCommandLineFlags -version测试代码-指定参数启动/** * @author yangyuanliang * @version 1.9 * @date 2022/4/25 20:34 */public class JvmGC { public static void main(String[] args) { System.out.原创 2022-04-25 20:50:53 · 6077 阅读 · 0 评论 -
JAVA堆溢出OOM场景模拟及排除过程
模拟过程加参数定义最大堆空间和最小堆空间 -Xms20m -Xmx20m 加参数在堆溢出dump出当前的堆快照-XX:+HeapDumpOnOutOfMemoryError上代码import java.util.ArrayList;import java.util.List;/** * @author yangyuanliang * @version 1.9 * @date 2022/4/24 21:49 */public class HeapOOM { stati原创 2022-04-24 22:28:09 · 1490 阅读 · 1 评论 -
JVM垃圾回收机制
垃圾检测引用计数法:在java中 使用的用计数的方式完成垃圾回收,每个对象都有一个引用计数器,当有引用连接至对象的时,引用计数加1,当引用离开作用域或者为null的时候,引用计数器减1,虽然管理引用计数的开销不大,但这项开销在整个程序的生命周期中将持续的发生,垃圾回收器会在全部对象的列表上遍历,当发现某个引用计数为0的时候,就释放其占用的内存空间(但是引用计数器模式会在计数器为0 的时原创 2017-09-30 10:51:49 · 192 阅读 · 0 评论 -
JVM内存机制
虚拟机遇到一个new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过,如果没有必须先执行相应的类加载过程。在类加载检查通过后,虚拟机将为新生对象分配内存,对象所需内存的大小在类加载完成后便可完全确定,为对象分配空间的任务等同与把一块确定大小的内存从Java堆中划分出来。内存的划分:主要分为指针碰撞和空原创 2017-09-30 09:29:28 · 207 阅读 · 0 评论