
JVM
文章平均质量分 91
JVM知识点学习
逸枚俗人
不要盲目相信这篇博客中的内容
展开
-
类加载子系统之类的生命周期(待完善)
文中大量图片来源于。原创 2024-04-30 18:00:48 · 386 阅读 · 0 评论 -
类加载子系统之类加载器(待整理)
调用 findLoadedClass 方法,判断这个类是否已经被加载过。若没有被加载,才进行后续处理在没有被加载的情况下,优先委托给父加载器,让父加载器进行加载上面都没有找到的情况下,调用 findClass 方法(默认抛出异常,自定义类加载器需要重载该方法)查找该类,然后调用 resolveClass 方法进行解析。总结:loadClass 方法总得来说分两步,(1)找到字节码的位置,(2)解析// 1. 检查类是否已加载Class<?try {原创 2024-04-29 10:30:51 · 921 阅读 · 1 评论 -
Java对象在堆和栈上的存储以及Java方法调用的原理
下面分别是 -5 和 5 的补码表示复习点:给定一个负数,写出其补码。原创 2024-04-29 02:16:13 · 1304 阅读 · 0 评论 -
理解字符串常量池(JVM)
使用 jclasslib 插件打开字节码,选择,左侧过滤后的内容即为字符串常量池方法区是逻辑概念,永久代和元空间是方法区的实现。int、doubleIntegerString1"abcd"中的 s 是常量,但中的 s 并不是常量,同样中的 num 也不是常量。原创 2024-04-20 01:02:35 · 1350 阅读 · 0 评论 -
从局部变量表和操作数栈的角度来看 i *= ++i
如果我是编译器的设计者,对于这个字符串的解析,至少存在着以下两种可能性:而无论是对于 还是对于 ,还是可以存在着两种可能性(假设 的初值 10):下面通过 jclasslib 来查看栈帧的局部变量表以及字节码指令来验证上面两个结论局部变量表和操作数栈解释:Java 源代码和字节码的对应关系:原创 2024-04-18 21:13:26 · 416 阅读 · 0 评论