S-04
虚拟机探索器
VmExplorer
可视化字节码执行过程。观察栈式虚拟机如何执行字节码指令,理解跨平台运行的原理。
挑战进度: 0 / 5
挑战 1: 第一个值
将数字 10 压入栈中
步骤 0/10
字节码程序
支持指令:PUSH, POP, ADD, SUB, MUL, STORE var, LOAD var, PRINT
📚操作数栈
空栈
使用 PUSH 指令压入值
使用 PUSH 指令压入值
📦变量表
无变量
使用 STORE 指令存储值
使用 STORE 指令存储值
📤输出
无输出
使用 PRINT 指令输出
使用 PRINT 指令输出
指令执行
·PUSH 10
·PUSH 20
·ADD
·STORE x
·LOAD x
·PUSH 5
·SUB
·PUSH 2
·MUL
·PRINT
💡 栈式虚拟机
栈式虚拟机使用栈来传递参数,而不是寄存器。这种设计简单高效: PUSH 将值压入栈顶,ADD/SUB/MUL 从栈顶弹出两个值计算后将结果压回栈。 STORE 将栈顶值存入变量,LOAD 将变量值压入栈。 Java 字节码、Python 字节码等都采用这种架构。
关联教材
以下教材与本沙盒涉及的抽象层级相关,建议系统学习:
关联教材章节
以下教材章节与本沙盒涉及的抽象层级相关,建议配合阅读:
第7章深入理解计算机系统
链接
欢迎来到灰色地带
静态链接目标文件符号解析重定位
第8章深入理解计算机系统
异常控制流
操作系统:唯一的使命就是帮助程序运行
异常进程系统调用信号
第9章深入理解计算机系统
虚拟内存
假装我们有用不完的物理内存
虚拟地址页表TLB内存映射
第10章深入理解计算机系统
系统级I/O
务必搞清楚你自己正在和整个系统的哪一层打交道
文件描述符RIO包I/O重定向
第12章深入理解计算机系统
并发编程
并发与并行,傻傻分不清楚?
线程互斥锁信号量生产者-消费者
第6章计算机系统要素
汇编器
从助记符到机器码
符号解析代码生成
第7章计算机系统要素
虚拟机(上)
栈式机器
栈操作算术指令内存访问
第8章计算机系统要素
虚拟机(下)
控制流
标签分支函数调用
第10章计算机系统要素
编译器(上)
语法分析
词法分析递归下降
第11章计算机系统要素
编译器(下)
代码生成
中间代码目标代码
第12章计算机系统要素
操作系统
让一切运转
内存管理调度文件系统
第7章数据密集型应用系统设计
事务
数据库的原子操作
ACID隔离级别快照隔离
学习路径推荐
建议按以下顺序学习,循序渐进掌握计算机科学:
前置沙盒(建议先学习)
使用说明
- •调整参数观察行为变化,实时反馈
- •状态自动编码到 URL,可直接分享给他人
- •支持键盘操作(Tab 切换、方向键调整)