编程进阶网 编程进阶网
首页
  • 在线工具
  • JSON工具
  • 文本工具
  • 图片处理
  • 文档转化
  • 代码压缩
  • 加解密
  • 时间日期
  • 网络工具
  • 颜色设计
  • 二维码
  • 开发实用
  • 计算机组成原理
  • 操作系统原理
  • 网络协议原理
  • 数据库系统原理
  • 序卷导读
  • 数据本质
  • 运行模型
  • 并发设计
  • 内存真相
  • 交互系统
  • 面向对象
  • 设计原则
  • 设计模式
  • 系统架构
  • 体系建设
  • 代码品质
  • 方案设计
  • 稳定可靠
  • 工程运维
  • 性能优化
  • 数据结构导论
  • 线性结构详解
  • 树哈希结构论
  • 容器设计实战
  • 经典算法思想
  • 工程案例剖析
  • 算法题库精练
  • C语言入门
  • C综合案例
  • C专栏博客
  • C标准集库
  • C++入门教程
  • C++综合案例
  • C++专栏博客
  • C++编程技巧
  • Java入门教程
  • Java综合案例
  • Java专栏博客
  • Go入门教程
  • Go综合案例
  • Go专栏博客
  • Go开发技巧
  • JavaScript入门
  • JavaScript案例
  • JavaScript高级
  • Android库解读
  • Android专栏
  • iOS ObjC入门
  • iOS Swift入门
  • iOS入门精通
  • Web之Html手册
  • Web之TypeScript
  • Web之Vue高级进阶
  • Linux之QML入门
  • Linux之QT核心库
  • Python教程
  • Shell&Bash教程
  • 工具脚本
  • 自动化脚本
  • 质量保障
  • 产品思考
  • 软实力
  • 开发流程
  • Git应用
  • 技术模版
  • 技术规范
  • Markdown
  • Mermaid
  • 开源协议
  • 毛选解读
  • 自我精进
  • 关于我
  • 自我精进
  • 职场管理
  • 职场面试
  • 心情杂货
  • 友情链接

杨充

专注编程 · 终身学习者
首页
  • 在线工具
  • JSON工具
  • 文本工具
  • 图片处理
  • 文档转化
  • 代码压缩
  • 加解密
  • 时间日期
  • 网络工具
  • 颜色设计
  • 二维码
  • 开发实用
  • 计算机组成原理
  • 操作系统原理
  • 网络协议原理
  • 数据库系统原理
  • 序卷导读
  • 数据本质
  • 运行模型
  • 并发设计
  • 内存真相
  • 交互系统
  • 面向对象
  • 设计原则
  • 设计模式
  • 系统架构
  • 体系建设
  • 代码品质
  • 方案设计
  • 稳定可靠
  • 工程运维
  • 性能优化
  • 数据结构导论
  • 线性结构详解
  • 树哈希结构论
  • 容器设计实战
  • 经典算法思想
  • 工程案例剖析
  • 算法题库精练
  • C语言入门
  • C综合案例
  • C专栏博客
  • C标准集库
  • C++入门教程
  • C++综合案例
  • C++专栏博客
  • C++编程技巧
  • Java入门教程
  • Java综合案例
  • Java专栏博客
  • Go入门教程
  • Go综合案例
  • Go专栏博客
  • Go开发技巧
  • JavaScript入门
  • JavaScript案例
  • JavaScript高级
  • Android库解读
  • Android专栏
  • iOS ObjC入门
  • iOS Swift入门
  • iOS入门精通
  • Web之Html手册
  • Web之TypeScript
  • Web之Vue高级进阶
  • Linux之QML入门
  • Linux之QT核心库
  • Python教程
  • Shell&Bash教程
  • 工具脚本
  • 自动化脚本
  • 质量保障
  • 产品思考
  • 软实力
  • 开发流程
  • Git应用
  • 技术模版
  • 技术规范
  • Markdown
  • Mermaid
  • 开源协议
  • 毛选解读
  • 自我精进
  • 关于我
  • 自我精进
  • 职场管理
  • 职场面试
  • 心情杂货
  • 友情链接
  • README
  • 序卷方法论

  • 数据的本质

  • 运行时模型

    • README
      • 🎯 这一卷要回答什么
      • 📖 篇章总览(8 篇)
      • 🔗 知识脉络
      • 🌉 与其他卷的承接
      • 💡 学完你能回答
      • 🛣 推荐阅读顺序
    • 1.类加载机制核心原理
    • 2.对象创建核心流程
    • 3.对象和函数访问原理
    • 4.调用栈与栈帧设计
    • 5.字节码虚拟机执行
    • 6.JIT与运行时优化
    • 7.反射元编程核心设计
    • 8.异常机制设计原理
  • 并发的设计

  • 内存的真相

  • 交互和系统

  • 内功
  • 运行时模型
杨充
2026-05-14
目录

README

# 第 2 卷|运行时模型

从类到对象,从加载到执行——程序运行时究竟发生了什么?


# 🎯 这一卷要回答什么

写了多年代码,你真的理解下面这些"日常动作"吗?

  • 一行 new User(),从字节码到内存中的对象,CPU 究竟做了多少事?
  • obj.method() 这句调用,编译期和运行时谁来决定该调谁?为什么 C++ 要 vtable,Java 要 itable?
  • 函数调用栈到底装了什么?为什么递归过深会栈溢出?尾调用为何能"无栈递归"?
  • 同一份字节码为什么能跨平台运行?JVM、V8、Lua VM 的本质差异在哪?
  • 为什么 JVM 服务"跑一会儿才进入状态"?JIT 究竟做了什么把性能拉起来?
  • class.getDeclaredField("x").set(obj, 1),反射看似"魔法",背后是不是真的违反了访问控制?
  • 异常机制凭什么能"穿透"多层函数?"零成本异常"的零成本到底零在哪?

第 2 卷把"运行时"从黑盒拆开,让你能在脑中画出 new 对象、调函数、抛异常的每一帧 CPU 状态。


# 📖 篇章总览(8 篇)

序号 文档 核心矛盾
2.1 类加载机制核心原理 (opens new window) 类加载五阶段做了什么?双亲委派为何而生?
2.2 对象创建核心流程 (opens new window) new 一个对象,从字节码到内存究竟有多少步?
2.3 对象和函数访问原理 (opens new window) 直接指针 vs 句柄、静态分派 vs 动态分派、vtable vs itable
2.4 调用栈与栈帧设计 (opens new window) 栈帧 / ABI / 栈展开 / 尾调用 —— 调用关系的物理痕迹
2.5 字节码虚拟机执行 (opens new window) 栈式 vs 寄存器式、解释器演进、跨平台的真相
2.6 JIT与运行时优化 (opens new window) 热点检测、内联、逃逸分析、去优化的乐观哲学
2.7 反射元编程核心设计 (opens new window) Java 反射 / C# Emit / JS Proxy / Python 元类的共同本质
2.8 异常机制核心设计 (opens new window) 错误码 / 异常 / Result —— 三种错误处理范式的根本权衡

# 🔗 知识脉络

类加载是"准备",对象创建是"诞生",方法访问是"行动",调用栈是"骨架",字节码 VM 是"心脏",JIT 是"肌肉记忆",反射是"自我修改",异常是"应急通道"——这是程序运行时的完整画卷。


# 🌉 与其他卷的承接

  • 承接第 1 卷:第 1 卷讲数据怎么被"表示",本卷讲数据怎么被"组织"成类和对象、并被运行时执行。
  • 通往第 3 卷:理解了调用栈与对象布局,才能理解第 3 卷"对象 header 里 mark word 的锁状态"和"协程为什么需要自己的栈"。
  • 通往第 4 卷:堆里的对象会被 GC 管理,本卷的对象布局是第 4 卷 GC 算法的前置知识。

# 💡 学完你能回答

  • 为什么 Spring 启动 5s 中的 4s 都在做类加载?怎么优化?
  • new 在 JVM 里是不是原子的?多线程并发 new 会不会出问题?
  • 一次普通函数调用,CPU 实际执行了多少条指令?
  • 为什么解释执行慢?JIT 把哪些"假设"变成了"事实"?
  • 反射真的慢吗?慢在哪?JIT 能优化掉多少?
  • Hot Reload、热修复、字节码增强(ASM、Javassist),它们工作的原理是不是同一个?
  • 异常路径为什么比正常路径慢上百倍?

# 🛣 推荐阅读顺序

2.1 类加载("准备")
  ↓
2.2 对象创建("诞生")
  ↓
2.3 方法访问("行动")
  ↓
2.4 调用栈("骨架")
  ↓
2.5 字节码 VM("心脏")
  ↓
2.6 JIT("肌肉记忆")
  ↓
2.7 反射("自我修改")
  ↓
2.8 异常("应急通道")
上次更新: 2026/06/28, 17:55:19
9.数据解析设计思想
1.类加载机制核心原理

← 9.数据解析设计思想 1.类加载机制核心原理→

最近更新
01
科学方法实践论法
06-28
02
辩证思维矛盾论法
06-28
03
毛选中的调查观念
06-28
更多文章>
Theme by Vdoing | Copyright © 2019-2026 杨充 | MIT License | 鄂ICP备2024073355号-1 | 鄂ICP备2024073355号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式