JVM
文章平均质量分 95
刘索隆ʕ•ᴥ•ʔ
摆烂吧
展开
-
JVM笔记(四):并发篇
并发篇文章目录并发篇一、线程安全与锁优化1.Java线程安全`1` 不可变`2` 绝对线程安全`3` 相对线程安全`4` 线程兼容`5` 线程对立2.线程安全的实现方法`1` 互斥同步(一)synchronized(二)Lock`2` 非阻塞同步`3` 无方案同步3.锁优化`1` 自旋锁与自适应自旋`2` 锁消除`3` 锁粗化`4` 轻量级锁`5` 偏向锁一、线程安全与锁优化1.Java线程安全不把线程安全当作一个非真即假的选项,从线程安全的程度上由强到弱可以排序为: 不可变,绝对线程安全,相.原创 2021-10-10 16:13:30 · 198 阅读 · 0 评论 -
JVM笔记(三):垃圾回收篇
垃圾回收篇文章目录垃圾回收篇一、垃圾回收算法与引用1.判断对象已死(标记垃圾算法)`1` 引用计数算法`2` 可达性分析算法`3` 真正的死亡2.垃圾回收算法`1` 垃圾回收分类`2` 标记-清除算法`3` 复制算法`4` 标记-整理算法`5` 分代收集算法`6` 增量收集算法`7` 分区算法3.HotSpot垃圾回收算法细节`1` 根节点枚举`2` 安全点与安全区域`3` 记忆集与卡表`4` 写屏障`5` 并发可达性分析4.相关概念`1` System.gc()`2` 内存溢出`3` 内存泄漏`4`.原创 2021-10-08 20:28:33 · 280 阅读 · 0 评论 -
JVM笔记(二):字节码与类加载篇
字节码与类加载篇文章目录字节码与类加载篇一、编译器与执行引擎1.编译器2.Java中的语法糖`1` 泛型(一)自动拆装箱,增强for循环与可变长参数(二)条件编译(三)Lambda原理3.执行引擎`1` 执行引擎执行方式`2` 逃逸分析带来的优化(一)逃逸(二)栈上分配内存(三)锁消除(四)标量替换`3` 分层编译`4` 解释执行与编译执行`5` 解释器与编译器(一)解释器(二)即时编译器`6` 热点代码与热点探测`7` 基于栈的指令集与基于寄存器的指令集二、方法调用1.非虚方法与虚方法2.调用指令3.原创 2021-10-07 21:10:35 · 316 阅读 · 0 评论 -
JVM笔记(一):内存管理篇
内存管理篇文章目录内存管理篇一、HotSpot虚拟机对象探秘对象的创建1.类加载检查2.分配内存3.初始化零值4.设置对象头5.执行init方法对象的内存布局1.对象内存信息2.分析对象占用字节3.结构图对象的访问定位1.访问方式二、Java内存模型与线程Java内存模型1.交互操作以及注意事项2.8种内存交互操作3.使用规则与注意事项4.volatile特性==1== 可见性==2== 不保证原子性==3== 禁止指令重排序5.double,long的非原子性协定6.原子性,可见性与有序性7.先行发.原创 2021-10-05 21:52:28 · 262 阅读 · 0 评论