深入理解JVM
文章平均质量分 81
jvm 学习
yong man
学无止境
展开
-
JVM学习——第七篇:对象的内存布局
jvm对象内存布局原创 2021-12-23 09:20:59 · 193 阅读 · 0 评论 -
JVM学习——第六篇:内存溢出异常
一文了解JVM内存溢出原创 2021-12-15 15:39:55 · 1230 阅读 · 0 评论 -
JVM学习——第五篇:垃圾收集器
1、Serial收集器2、ParNew收集器3、Parallel Scavenge收集器4、Serial Old收集器5、Parallel Old收集器6、CMS收集器7、G1收集器原创 2021-12-14 17:40:40 · 336 阅读 · 0 评论 -
JVM学习——第四篇:垃圾与收集算法
1、如何判断垃圾 对于jvm来说只要对象不再被使用了,那它就是一个垃圾,就可以回收所占用的空间了。那如何判断对象是否不再被使用呢? 引用计数算法:在对象中添加一个引用计数器,对象被引用计数器+1,当引用失效则-1,任何时刻计数器为0,说明对象没有被引用可以回收。引用计数法思路很简单,但是缺陷也很明显,那就是循环引用:比如对象A里面引用了对象B,对象B里面又引用了对象A,就无法判断是否可以回收。 可达性分析算法: 从GC Roots根节点出发向下搜索,搜索...原创 2021-12-09 21:01:53 · 101 阅读 · 0 评论 -
JVM学习——第三篇:内存结构
深入学习jvm原创 2021-12-08 19:50:23 · 80 阅读 · 0 评论 -
深入理解JVM——第二篇:类加载子系统
1、从编译到执行1、跨平台JAVA源代码被编译为Class文件,Class文件运行在JVM上。而JVM是面向操作系统的,它负责把Class字节码解释成操作系统所能识别的指令并执行,同时也负责程序运行时内存的管理。2、.java(源)文件到代码执行过程 :编译-->加载-->解释-->执行 编译:将源码文件编译成JVM可以解释的class文件,编译过程会对源代码程序做【语法分析】【语义分析】【注解处理】等,比如对泛型的擦除和Lombok就是在编译...原创 2021-12-07 20:15:27 · 139 阅读 · 0 评论 -
深入理解JVM——第一篇:走进JVM
目录1、JVM简介2、学习JVM的目的3、JVM基本结构1、JVM简介Java语言的一个非常重要的特点就是与平台的无关性,而使用Java虚拟机(JVM)就是实现这一特点的关键。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。 JVM在JDK中的位置:...原创 2021-12-06 20:02:24 · 369 阅读 · 0 评论