YVM 已支持语言特性构建和运行关于JDK运行效果开发文档License 基于 C++ 的 Java 虚拟机

程序名称:YVM 已支持语言特性构建和运行关于JDK运行效果开发文档License

授权协议: MIT

操作系统: 跨平台

开发语言: C/C++

YVM 已支持语言特性构建和运行关于JDK运行效果开发文档License 介绍

中文
| English

YVM是用C++写的一个Java虚拟机,现在支持Java大部分功能,以及一个基于”标记清除算法”的并发垃圾回收器. 不过还有很多bug等待修复。
感兴趣的朋友pull request/fork/star吧!

支持语言特性

高级特性逐步支持中,可以开Issue提议或者直接PR

构建和运行

预置MSVC 2017工程文件,同时支持CMakeLists

  1. 配置 编辑src/Option.h,如果是Windows则

    define TARGET_WIN32

如果是Linux则

#define TARGET_LINUX
  1. 编译 如果使用MSVC,直接打开src/yvm.sln即可 如果使用CMakeLists

    $ cd yvm
    $ cmake .
    $ make -j4

  2. 运行

    –runtime为在YVM上运行的Java程序所必须的运行时,多个值用”;”分隔

    后面指定运行程序的全修饰名,如ydk.test.QuickSort

    ./yvm –runtime=C:\Users\Cthulhu\Desktop\yvm\javalib ydk.test.QuickSort

关于JDK

部分JDK类是JVM运行攸关的,但由于JDK比较复杂不便于初期开发,所以这里用重写过的JDK代替,源码参见javalib_src目录,编译后*.class文件位于javalib
目前重写过的JDK类有:

运行效果

  • helloworld

  • 快速排序

  • 异常调用栈轨迹

  • 原生多线程

  • Synchronized保护下的多线程

  • 垃圾回收

开发文档

Wiki中有很多详细的开发文档,如果想探索关于YVM的更多内容,请移步浏览:-)

License

Code licensed under the MIT License.

YVM 已支持语言特性构建和运行关于JDK运行效果开发文档License 官网

https://github.com/racaljk/yvm

相关编程语言

memcached-session-manager 将session存储到memchac...
Tomcat Native 这个项目可以让 Tomcat 使用 Apache ...
EasyTomcat 是一个用来帮助简化 Tomcat 和MySQL 管理...
riak-session-manager 是使用 Riak 来存储Tomcat se...
tomcat-redis-session-manager 是一个用来将 Tomcat...
这是一款在 Oracle 的 JDeveloper 开发环境下管理To...