Java 类加载与初始化

委派、加载、验证、准备、初始化:静态字段先默认值,再执行初始化。。

App请求先向父加载器委派;JDK7/8中间为Extension,9起为Platform。父未找到应用Box后由App定义类。链接包含验证、准备和解析;本例非final static int x在准备阶段为0,初始化执行x=7。解析可延迟,加载不等于初始化。

主要特点

  • HotSpot教学逻辑图;区域不是精确物理地址。方法区是规范概念,元空间只存类元数据等;静态字段随Class镜像在堆中。JIT逃逸分析可能消除分配;本例按逻辑对象说明。解析可延迟,不强制发生在初始化前。

如何使用Java 类加载与初始化

  1. 当前是就绪画面。开始演示会按当前参数执行一次操作;回放准备过程请从头播放。
  2. 每次操作独立一轮。从头播放重播本轮,当前继续从所选步骤接着播;步骤菜单与时间轴可定位,历史菜单可回看上一轮。
  3. 方向键 ← → 可单步,空格键播放或暂停。

数据与隐私

所有计算都在你的浏览器里完成,不连接任何数据库,也不会把你输入的内容上传到任何地方。

相关工具

  • 计算机原理可视化 - 原「数据结构可视化」。36个可交互场景:数据结构、Java集合与JVM/GC/线程池、MySQL索引/MVCC/执行恢复、TCP/UDP、分布式事务;逐步字幕、慢速播放和面试讲解。

查看像素鸭AI全部在线工具

可对照的关键步骤(随参数进入不同分支)

class Box { static int x = 7; }
// preparation: 0; initialization: 7

官方实现与参考

正在把工具准备好

马上就好,请稍等一下…