JVM
分析JVM源码之Thread.interrupt系统级别线程打断
目录一、interrupt的使用特点二、jvm层面上interrupt方法的本质三、ParkEvent对象的本质四、Park()对象的本质五、利用jni实现一个可以被打断的MyThread类六、总结一、interrupt的使用特点[详细]
2021-06-30 09:53 分类:编程语言-
深入理解JVM垃圾回收算法
目录一、垃圾标记阶段1.1、引用计数法 (java没有采用)1.2、可达性分析算法二、对象的finalization机制2.1、对象是否\"死亡\"三、使用(MAT与JProfiler)工具分析GCRoots3.1、获取dump文件3.2、GC Roots分析四、垃圾清除[详细]
2021-06-17 09:51 分类:编程语言 -
Java JVM运行时数据区(Run-Time Data Areas)
1、官网概括 引用官网说法: The java Virtual Machine defines various run-time data areas that are used during execution of a program. Some of these data areas are created on Java Virtual Machine start[详细]
2021-06-05 09:30 分类:编程语言 -
-
浅谈JVM之使用JFR解决内存泄露
简介 虽然java有自动化的GC,但是还会有内存泄露的情况。当然java中的内存泄露跟C++中的泄露不同。[详细]
2021-06-04 09:32 分类:编程语言 -
浅谈JVM系列之从汇编角度分析NullCheck
一个普通的virtual call 我们来分析一下在方法中调用list.add方法的例子: public class TestNull {[详细]
2021-06-04 09:27 分类:编程语言 -
浅谈JVM系列之JIT中的Virtual Call
Virtual Call和它的本质 有用过PrintAssembly的朋友,可能会在反编译的汇编代码中发现有些方法调用的说明是invokevirtual,实际上这个invokevirtual就是Virtual Call。[详细]
2021-06-04 09:25 分类:编程语言 -
-
详解JVM之运行时常量池
class文件中的常量池 之前我们在讲class文件的结构时,ExbpYcAaTp提到了每个class文件都有一个常量池,常量池中存了些什么东西呢?[详细]
2021-06-03 09:48 分类:编程语言 -
浅谈JVM之java class文件的密码本
简介 机器可以读,人为什么不能读?只要我们掌握java class文件的密码表,我们可以把二进制转成十六进制,将十六进制和我们的密码表进行对比,就可以轻松的解密了。[详细]
2021-06-03 09:46 分类:编程语言