
JVM
文章平均质量分 88
kwin_zhang
本博客上的所有文章仅供学习交流使用,无任何商业用途
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM之Java内存模型JMM(第五篇)
文章目录什么是JMM内存划分内存交互操作模型特征Volatile内存语义Final域的内存语义Happen-Before(先行发生规则)什么是JMM以下是百度百科给出的解释:内存模型描述了程序中各个变量(实例域、静态域和数组元素)之间的关系,以及在实际计算机系统中将变量存储到内存和从内存中取出变量这样的底层细节,对象最终是存储在内存里面的,这点没有错,但是编译器、运行库、处理器或者系统缓存...翻译 2020-03-10 15:45:54 · 185 阅读 · 0 评论 -
JVM之垃圾收集器(第四篇)
在介绍垃圾收集器之前,首先介绍以下这几个概念 1. Stop-the-world 它是指 JVM 由于要执行 GC 而停止了应用程序的执行,并且这种情形会在任何一种 GC 算法中发生。当 Stop-the-world 发生时,除了 GC 的线程以外,其他的线程均处于等待的状态,直到 GC 任务完成。 实际上,很多 GC 优化都是通过减少 Stop-the-world 的时间来提高程序的性能。 2. Safe-point 程序执行时并非在所有地方都能停顿下来开始 GC,只有在某些特定的位置才可以,这原创 2021-08-12 12:11:11 · 159 阅读 · 0 评论 -
JVM之GC(垃圾收集)(第三篇)
文章目录1 基础术语2 常见垃圾收集算法2.1 常见标记算法2.1.1 引用计数器算法2.1.2 可达性分析算法2.2 常见收集算法2.2.1 标记-清除算法2.2.2 标记-压缩算法2.2.3 复制算法2.2.4 增量算法2.2.5 分代收集算法红\color{#FF0000}{红}红 橙\color{#FF7D00}{橙}橙 黄\color{#FF0000}{黄}黄 绿\color{...原创 2020-03-08 22:50:48 · 198 阅读 · 0 评论 -
JVM之类加载机制(第二篇)
4 类加载机制4.1 类加载过程当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现这个类进行初始化。1. 加载加载,是指Java虚拟机查找字节流(查找.class文件),并且根据字节流创建java.lang.Class对象的过程。这个过程,将类的.class文件中的二进制数据读入内存,放在运行时区域的方法区内。然后在堆中创建java.lang.Cla...原创 2020-03-04 22:57:05 · 268 阅读 · 0 评论 -
JVM之内存结构分区(第一篇)
一、JVM 整体组成程序在执行之前先要把java代码转换成字节码(class文件),jvm首先需要把字节码通过一定的方式 类加载器(ClassLoader) 把文件加载到内存中 运行时数据区(Runtime Data Area) ,而字节码文件是jvm的一套指令集规范,并不能直接交个底层操作系统去执行,因此需要特定的命令解析器 执行引擎(Execution Engine)将字节码翻译成底层系统...原创 2020-03-04 22:01:09 · 253 阅读 · 0 评论