探索 Rubinius:用 Ruby 实现的 Ruby
1. Rubinius 简介
Rubinius 是 Ruby 的另一种实现方式,与 JRuby 类似。它的一大特点是,其内部大部分源代码是用 Ruby 编写的,而非仅使用 C 或 Java。像 Array、String 和 Integer 等内置类,Rubinius 都是用 Ruby 代码实现的。这为开发者提供了一个独特的学习 Ruby 内部机制的机会。如果你对某个 Ruby 特性或方法的工作原理不确定,无需具备 C 或 Java 编程的专业知识,只需阅读 Rubinius 中的 Ruby 代码就能找到答案。
此外,Rubinius 还包含一个用 C++ 编写的复杂虚拟机。这个虚拟机负责执行你的 Ruby 程序,支持即时编译(JIT)和真正的并发,并采用了复杂的垃圾回收算法。
2. Rubinius 的组成部分
Rubinius 主要由两大部分组成:
- Rubinius 内核 :用 Ruby 编写,实现了很多 Ruby 语言特性,包括许多内置核心类(如 String 和 Array)的定义。该内核会被编译成字节码指令并安装到你的计算机上。
- Rubinius 虚拟机 :用 C++ 编写,执行来自 Rubinius 内核的字节码指令,并执行一系列其他底层任务,如垃圾回收。Rubinius 可执行文件包含这个虚拟机的编译后的机器语言版本。
以下是 Rubinius 内部结构的图示:
graph LR
超级会员免费看
订阅专栏 解锁全文
13

被折叠的 条评论
为什么被折叠?



