JVM
文章平均质量分 89
java虚拟机
意田天
一件事,做到极致,也算成功
展开
-
JVM---垃圾回收器CMS 和G1解析
CMS 和G1解析CMS 和G1解析基本概念CardTableCSetRSet(G1)CMS清理过程1. 初始标记(CMS-initial-mark)2. 并发标记(CMS-concurrent-mark)3. 重新标记(CMS-remark)4.并发清理(CMS-concurrent-sweep)线程角度理解G1介绍G1特点新老年代比例GC何时触发MixedGCMixedGC的过程初始标记并发标记最终标记筛选回收相关问题标记算法三色标记算法漏标产生漏标打破漏标RSet与赋值的效率 CMS 和G1解析 基本原创 2021-07-22 15:39:56 · 16072 阅读 · 1 评论 -
JVM---一个简单的压栈和弹栈操作指令解析
JVM-一个简单的压栈和弹栈操作指令解析 i++ 操作 package com.cyc.jvm.c4_RuntimeDataAreaAndInstructionSet; public class TestIPulsPlus { public static void main(String[] args) { int i = 8; i = i++; // i = ++i; System.out.println(i); } } //原创 2021-06-27 15:52:06 · 11515 阅读 · 0 评论 -
JVM---Java内存屏障和JMM
Java内存屏障-JMMJava内存屏障-JMM硬件层数据一致性伪共享乱序问题如何保证特定情况下不乱序volatile的实现细节synchronized实现细节 Java内存屏障-JMM 硬件层数据一致性 协议很多 intel 用MESI https://www.cnblogs.com/z00377750/p/9180644.html 现代CPU的数据一致性实现 = 缓存锁(MESI …) + 总线锁 伪共享 读取缓存以cache line为基本单位,目前64bytes 位于同一缓存行的两个不同数据,被两个原创 2021-06-26 17:15:50 · 18798 阅读 · 0 评论 -
JVM----类加载和初始化
JVM-类加载和初始化 类加载-初始化 loading 把class文件加载到内存 linking Verification:校验class文件是否符合标准 preparation:给静态变量赋默认值,如给static int i = 8赋值为i=0 resolution:常量池中的用到的那些符号引用要准换成能访问到的内存地址 initializing :这时候才会调用静态代码块给静态变量赋值 类加载器 loading jvm中所有的class都是被classloader加载到内存 以上几个类原创 2021-06-08 22:58:16 · 19358 阅读 · 4 评论