Metascala 基于 Scala 的 JVM,我瞬间凌乱了

简介:

Metascala 是使用 Scala 编写的极小 metacircular Java Virtual Machine (JVM)。Metascala 大约有 3000 行的 Scala 代码,但是是完整的 JVM,可以解析自己。使用 Scala 编写,编译为 Java 字节码,Metascala JVM 要求一个主机 JVM 才可以运行。

Metascala 的目的是创建一个 JVM 平台,使用 3000 行 Scala 代码编写,比 1,000,000 行的 C/C++ 代码更便捷更容易完成。Metascala 可以构成一个标准的实现 HotSpot,更容易实现一些有趣的特性,比如 continuations, isolates 或者 value classes。3000 行的代码可以让你:

  • 字节码解析器,包括所有运行时数据结构
  • 一个 stack-machine,作为 SSA 注册机制字节码转换器
  • 一个自定义的 heap
  • 实现部分的 JVM 原生接口

文章转载自 开源中国社区 [http://www.oschina.net]

相关文章
|
分布式计算 Java 编译器
关于jvm范型和scala implicit隐式参数以及classTag[T] typeTag[T]的一点思考
关于jvm范型和scala implicit隐式参数以及classTag[T] typeTag[T]的一点思考
206 0
|
SQL 存储 NoSQL
JVM 上数据处理语言的竞争:Kotlin, Scala 和 SPL
基于JVM的开源数据处理语言主要有Kotlin、Scala、SPL,下面对三者进行多方面的横向比较,从中找出开发效率最高的数据处理语言。本文的适用场景设定为项目开发中常见的数据处理和业务逻辑,以结构化数据为主,大数据和高性能不作为重点,也不涉及消息流、科学计算等特殊场景。......
296 0
JVM 上数据处理语言的竞争:Kotlin, Scala 和 SPL
|
SQL Java 数据处理
JVM 上数据处理语言的竞争:Kotlin, Scala 和 SPL
JVM 上数据处理语言的竞争:Kotlin, Scala 和 SPL
341 0
|
Java Scala Kotlin
JVM语言生态结构原理图 从Java,Kotlin,Scala,Groovy等语言的编译、执行全过程图示解析
JVM语言生态结构原理图 从Java,Kotlin,Scala,Groovy等语言的编译、执行全过程图示解析 JVM语言生态 by 陈光剑.png
1247 0
|
缓存 前端开发 安全
|
6月前
|
Arthas 存储 算法
深入理解JVM,包含字节码文件,内存结构,垃圾回收,类的声明周期,类加载器
JVM全称是Java Virtual Machine-Java虚拟机JVM作用:本质上是一个运行在计算机上的程序,职责是运行Java字节码文件,编译为机器码交由计算机运行类的生命周期概述:类的生命周期描述了一个类加载,使用,卸载的整个过类的生命周期阶段:类的声明周期主要分为五个阶段:加载->连接->初始化->使用->卸载,其中连接中分为三个小阶段验证->准备->解析类加载器的定义:JVM提供类加载器给Java程序去获取类和接口字节码数据类加载器的作用:类加载器接受字节码文件。
653 55
|
1月前
|
存储 缓存 Java
我们来说一说 JVM 的内存模型
我是小假 期待与你的下一次相遇 ~
215 4
|
1月前
|
存储 缓存 算法
深入理解JVM《JVM内存区域详解 - 世界的基石》
Java代码从编译到执行需经javac编译为.class字节码,再由JVM加载运行。JVM内存分为线程私有(程序计数器、虚拟机栈、本地方法栈)和线程共享(堆、方法区)区域,其中堆是GC主战场,方法区在JDK 8+演变为使用本地内存的元空间,直接内存则用于提升NIO性能,但可能引发OOM。