littlebot
Published on 2025-04-11 / 1 Visits
0

【源码】基于C语言的JamVM Java虚拟机

项目简介

JamVM是一个符合JVM规范版本2(蓝皮书)的Java虚拟机。相较于大多数其他虚拟机,它极为小巧,在PowerPC上精简后的可执行文件约220K,在Intel上约200K,且支持完整规范,具备对象终结、软/弱/虚引用、Java本地接口(JNI)和反射API等功能。

项目的主要特性和功能

  1. 跨平台支持:便于移植到新架构,已在多种操作系统和架构上构建并测试,如Linux(PowerPC、i386、ARM、AMD64、MIPS)、Mac OS X/Darwin(PowerPC、PowerPC64、i386、ARM)、BSD变体(FreeBSD、OpenBSD、KFreeBSD)、Solaris/OpenSolaris(x86)。
  2. 优化设计:采取一系列优化措施提升速度和减少空间占用,包括使用本地线程(POSIX线程)、直接指针作为对象引用、高效的细粒度锁、两字对象头、支持多级优化的执行引擎、停止世界垃圾回收器等。
  3. 类库支持:设计使用GNU类路径Java类库,JamVM 1.5.4与Classpath版本0.98兼容。
  4. 功能完备:支持类加载器、JNI和动态加载、完整的对象终结、软/弱/虚引用的垃圾回收、类和类加载器卸载等功能。

安装使用步骤

安装

查看INSTALL文件获取完整安装说明。

使用

  1. 运行JamVM无需设置环境变量。默认安装在/usr/local/jamvm/bin ,将此路径添加到系统的PATH环境变量后,可直接运行jamvm命令。
  2. 类路径设置:可使用-classpath(或-cp)选项在JamVM命令行指定用户类位置,也可通过CLASSPATH环境变量指定。若两者都未指定,类路径默认为当前目录。若指定了-classpath选项,CLASSPATH将被忽略。
  3. 系统类加载:系统类(GNU Classpath和JamVM的VM类)通过系统类加载器加载。默认搜索GNU Classpath安装目录和JamVM的安装位置,也可用-Xbootclasspath命令行选项或BOOTCLASSPATH变量覆盖。
  4. 本地库搜索:默认在GNU Classpath安装目录和当前目录搜索本地库,可使用LD_LIBRARY_PATH环境变量指定额外目录。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】