黑马JVM总结(三十)

(1)类加载-连接-解析

new对象,会触发对象的解析和初始化

通过类加载器加载类C,这里只会进行类C的加载并不会导致类C的解析以及初始化,这样加载类C的时候类D也不会解析跟初始化

通过jps找到进程id:

打开进程工具

可以看到类C在虚拟机里

使用new 关键字,这样类D也加载了

解析:也就是将常量池中的符号引用解析为直接引用,符号引用仅仅是符号,并不知道类啊,方法,属性并不知道这些符号在内存的那个位置,经过解析以后,变成了这种直接引用,就能够确切的知道类啊,方法啊在内存中的位置了

(2)类加载-初始化

初始化阶段呢实际上去执行类的构造方法,cinit方法阶段

(3)类加载-练习1

a和b是基本类型,属于静态常量,他们都是在类连接的准备阶段进行赋值的并不会导致类的初始化,所以访问E不会别初始化,c是包装类不会在准别阶段完成赋值,在初始化会完成导致类的初始化

(4)类加载-练习2

只有用到LazyHolder的时候才会触发加载,连接,跟初始化

相关推荐
枫叶林FYL15 小时前
项目十:事件溯源仓储管理系统(WMS)
jvm·数据库·oracle
小江的记录本16 小时前
【JVM虚拟机】垃圾回收GC:垃圾判定算法:引用计数法、可达性分析算法(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·算法·spring·面试
Byron__16 小时前
JVM垃圾回收与调优核心面试笔记(引用计数/GC算法/CMS/G1/参数调优)
java·jvm·笔记·面试
jameslogo17 小时前
JVM入门
jvm
一只小白00019 小时前
【JVM | 第一篇】—— JVM内存区域详解
jvm
huohaiyu20 小时前
深入解析JVM核心原理与运行机制
运维·服务器·jvm
思麟呀1 天前
在C++基础上理解CSharp-4
开发语言·jvm·c++·c#
颖火虫盟主1 天前
Conan C++ 包管理工具深度解析
java·jvm·c++
tongluowan0071 天前
jvm垃圾回收器 - CMS-已弃用的垃圾回收器
jvm·cms·垃圾回收器
light blue bird2 天前
主子表单控件图表带拖拽式控件工序管理组件
开发语言·jvm·信息可视化·桌面端winform