![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM原理
未来谁可知
这个作者很懒,什么都没留下…
展开
-
jvm回收细节分析
jvm回收细节分析 我们都知道判断一个对象是否存活的方法有两种!1.可达性分析 2. 引用计数法 第二种不用说大家都知道会有一个循环引用的问题,所以引进了可达性分析的办法 可达性分析 分析的是GC Roots根节点对象, 那么什么是根节点对象呢 栈中有引用的局部变量,临时变量等 方法区中的常量引用的对象,静态变量 类对象,异常对象还有系统类加载器等都算 从根节点引用搭上一条链关系的对象都是可达的,反之则为不可达对象,但是要明白并不是说,可达性分析完就马上回收不可达对象,还要判断对象是否可以执行fi原创 2020-08-11 22:18:28 · 81 阅读 · 0 评论 -
jvm中对象的解析
1. 对象的创建 首先会去检查这个new指令是否能在常量池中找到一个符号引用,并且检查符号引用的类是否已经被加载链接初始化,没有的话先类加载,类加载完,就会为对象分配内存了,实际上是把一块确定的内存从java堆里划分出来,(这里我感觉是TLAB技术)】 TLAB:提前先默认固定划分堆内存的1%,然后防止内存分配时指针碰撞,如果不够,再向剩余的堆内存进行申请 1.1 分配内存方式 指针碰撞 假定内存都是规整的,使用过的放在一边,没有的放一边,中间放着一个分配指针,分配内存的话就是把指针向空间内存方向移动对原创 2020-08-11 11:23:00 · 191 阅读 · 1 评论 -
了解JVM垃圾回收器
了解JVM垃圾回收器 1. 7种垃圾回收器 种类 回收器名字 串行 Serial ,Serial Old 并行 ParNew,Parallel SCavenge,Parallel Old 并发: CMS,G1 按照分区的划分 Young G : Serial ,Parallel SCavenge,ParNew, Old G: Serial Old,Parallel Old,CMS G1是两个都可以, 可以利用-XX:+PrintCommandLineFlags -XX:+原创 2020-06-22 09:50:21 · 170 阅读 · 1 评论 -
JVM学习笔记
1.JVM的位置 2.JVM体系结构 3.类加载器作用:加载Class文件 根加载器Root(最终执行)扩展加载器EXC应用加载器APP自定义加载器 4.双亲委派机制 1 类模板通过类装载器,然后类加载器收到类加载的请求, 2 将这个请求向上委托给父类加载器取完成,一直向上委托,直到启动类加载器 3 启动类加载器检查是否能够加载当前这个类,能加载就结束,使用当前加载器,否则,抛出异常,通知子...原创 2020-03-03 13:58:58 · 142 阅读 · 0 评论