Felix's BlogFelix's Blog
  • 首页
  • 提示
  • 基础环境整理
  • 计算机基础
  • Java
  • 数据库
  • 消息中间件
  • Spring
  • 其他框架
  • 其他
  • Java
  • 集合
  • JVM
  • 并发
  • 亿级流量 Java 高并发与网络编程实战
  • Spring Framework
  • Spring Boot
  • Spring Cloud
  • 分布式
  • 任务调度
  • MySQL
  • Redis
  • Elasticsearch
  • HugeGraph
  • ClickHouse
  • Kafka
  • RabbitMQ
  • ActiveMQ
  • Nats
  • Nginx
  • 核心软件
  • 后端
  • 前端
  • 测试
  • Unity
  • 我的菜谱
Series
Java JVM
JVM 基础
  • 第 1 章 走近 Java
自动内存管理
  • 第 2 章 Java 内存区域与内存溢出异常
  • 第 3 章 垃圾收集器与内存分配策略
  • 第 4 章 虚拟机性能监控、故障处理工具
  • 第 5 章 调优案例分析与实战
虚拟机执行子系统
  • 第 6 章 类文件结构
  • 第 7 章 虚拟机类加载机制
  • 第 8 章 虚拟机字节码执行引擎
  • 第 9 章 类加载及执行子系统的案例与实战
程序编译与代码优化
  • 第 10 章 前端编译与优化
  • 第 11 章 后端编译与优化
高效并发
  • 第 12 章 Java 内存模型与线程
  • 第 13 章 线程安全与锁优化

第 8 章 虚拟机字节码执行引擎

felix.shao2025-02-16

第 8 章 虚拟机字节码执行引擎

  • 8.1 概述
  • 8.2 运行时栈帧结构
    • 8.2.1 局部变量表
    • 8.2.2 操作数栈
    • 8.2.3 动态连接
    • 8.2.4 方法返回地址
    • 8.2.5 附加信息
  • 8.3 方法调用
    • 8.3.1 解析
    • 8.3.2 分派
  • 8.4 动态类型语言支持
    • 8.4.1 动态类型语言
    • 8.4.2 Java 与动态类型
    • 8.4.3 java.lang.invoke 包
    • 8.4.4 invokedynamic 指令
    • 8.4.5 实战:掌控方法分派规则
  • 8.5 基于栈的字节码解释执行引擎
    • 8.5.1 解释执行
    • 8.5.2 基于栈的指令集与基于寄存器的指令集
    • 8.5.3 基于栈的解释器执行过程

8.1 概述

8.2 运行时栈帧结构

8.2.1 局部变量表

8.2.2 操作数栈

8.2.3 动态连接

8.2.4 方法返回地址

8.2.5 附加信息

8.3 方法调用

8.3.1 解析

8.3.2 分派

  1. 静态分派
  2. 动态分派
  3. 单分派、多分派
  4. 虚拟机动态分派的实现

8.4 动态类型语言支持

8.4.1 动态类型语言

8.4.2 Java 与动态类型

8.4.3 java.lang.invoke 包

8.4.4 invokedynamic 指令

8.4.5 实战:掌控方法分派规则

8.5 基于栈的字节码解释执行引擎

8.5.1 解释执行

8.5.2 基于栈的指令集与基于寄存器的指令集

8.5.3 基于栈的解释器执行过程

Last Updated 2/16/2025, 4:13:06 PM

← 第 7 章 虚拟机类加载机制第 9 章 类加载及执行子系统的案例与实战 →

ON THIS PAGE
  • 8.1 概述
  • 8.2 运行时栈帧结构
  • 8.2.1 局部变量表
  • 8.2.2 操作数栈
  • 8.2.3 动态连接
  • 8.2.4 方法返回地址
  • 8.2.5 附加信息
  • 8.3 方法调用
  • 8.3.1 解析
  • 8.3.2 分派
  • 8.4 动态类型语言支持
  • 8.4.1 动态类型语言
  • 8.4.2 Java 与动态类型
  • 8.4.3 java.lang.invoke 包
  • 8.4.4 invokedynamic 指令
  • 8.4.5 实战:掌控方法分派规则
  • 8.5 基于栈的字节码解释执行引擎
  • 8.5.1 解释执行
  • 8.5.2 基于栈的指令集与基于寄存器的指令集
  • 8.5.3 基于栈的解释器执行过程