黑马JVM总结(三十)

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

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

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

通过jps找到进程id:

打开进程工具

可以看到类C在虚拟机里

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

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

(2)类加载-初始化

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

(3)类加载-练习1

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

(4)类加载-练习2

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

相关推荐
Polar__Star13 小时前
如何结合计划任务实现自动定时备份任务配置_全自动化运维管理
jvm·数据库·python
weixin_5806140018 小时前
如何提取SQL日期中的年份_使用YEAR或EXTRACT函数
jvm·数据库·python
2301_8135995518 小时前
SQL生产环境规范_数据库使用最佳实践
jvm·数据库·python
a95114164218 小时前
Go 中通过 channel 传递切片时的数据竞争与深拷贝解决方案
jvm·数据库·python
qq_1898070318 小时前
如何修改RAC数据库名_NID工具在集群环境下的改名步骤
jvm·数据库·python
zhangchaoxies18 小时前
如何检测SQL注入风险_利用模糊测试技术发现漏洞
jvm·数据库·python
zhangchaoxies19 小时前
CSS如何实现响应式弹性网格布局_配合media query修改flex-wrap属性
jvm·数据库·python
Polar__Star20 小时前
C#怎么操作Chart图表控件 C#如何用WinForms Chart控件绑定数据绘制统计图表【控件】
jvm·数据库·python
2401_8971905520 小时前
CSS如何制作数字滚动效果_利用transform位移数字
jvm·数据库·python
恼书:-(空寄20 小时前
JVM GC 日志分析 + 常见 GC 场景 + 实战参数调优
java·jvm