黑马JVM总结(三十)

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

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

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

通过jps找到进程id:

打开进程工具

可以看到类C在虚拟机里

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

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

(2)类加载-初始化

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

(3)类加载-练习1

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

(4)类加载-练习2

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

相关推荐
HwJack2020 小时前
Flask+SQLite简易后端数据存储实现原理
jvm·sqlite·flask
Dicky-_-zhang20 小时前
Redis集群模式详解与实战配置
java·jvm
Kiling_070421 小时前
面向对象和集合编程题 ( 一 )
jvm·windows
上弦月-编程21 小时前
Java类与对象:编程核心解密
java·开发语言·jvm
Dicky-_-zhang21 小时前
线上故障排查与应急响应实战:从零开始建立你的SRE体系
java·jvm
大大杰哥21 小时前
从 Volatile 到 ThreadLocal:Java 线程安全机制备忘
java·开发语言·jvm
AI人工智能+电脑小能手21 小时前
【大白话说Java面试题 第67题】【JVM篇】第27题:生产环境服务器变慢,诊断思路和性能评估谈谈?
java·服务器·jvm·面试
Dicky-_-zhang1 天前
服务网格Istio mTLS配置实战
java·jvm
Dicky-_-zhang1 天前
服务网格实战:Istio与Linkerd对比选型与落地实践
java·jvm
存在的五月雨1 天前
JVM 入门学习笔记(内存模型 / GC / 类加载机制)
jvm·笔记·学习