GreenJVM是一系列jre精简实现集合,它能够轻松的令java虚拟机实现绿色应用。
项目地址:http://code.google.com/p/greenvm/
GreenJVM的实现原理非常简单,主要操作过程可分为三部分:
1、去除虚拟机中不被程序调用的类。
2、压缩虚拟机体积,减少空间占用。
3、制作一个能够检测本地环境的启动壳,取代java.exe加载jvm,并在执行时释放虚拟机。
就技术角度而言,这三项可说毫无新意可言,但从实用角度来说,却能令臃肿的虚拟机“瘦”下来,免除普通用户安装的烦恼,从而实现java程序的绿色发布。
精简后的jre在桌面应用中一能维持在4MB-2MB,非桌面应用则可能降低到1MB以下。
2009年3月30日更新GreenJVM-0.1.5,内容如下:
1、变更jvm.dll加载模式,支持中文路径。
2、调整默认加载参数,避免因环境差异而产生的本地图形设备调用异常。
3、支持jar的2次解压缩,当通过pack200将jar压缩为后缀名“pack200”的文件时,GreenJVM将自动尝试使用unpack200解压执行目录及子目录中所有该后缀文件。
4、增加参数“SET_START_INIT_BAT”,通过此参数可设定一个批处理文件于GreenJVM启动同时执行。
5、更改0.1.4版[乱数球体]运行示例为[Java版AVG游戏开发入门示例0.1.1](增加FPS显示),在无jre的xp、2000、2003等Windows环境下测试运行正常。
2008年9月6日更新GreenJVM-0.1.4(即0.1.1.4),内容如下:
1、增加参数"SET_START_MAIN_CLASS_AUTO_LOAD",当此项为真时,程序将设置main函数于注册表,于开机时自动执行。
2、增加初始化界面设置,参数集合如下:
1. //程序启动前使用初始界面(此项为false时,以下设定皆无效)
2. SET_START_INIT=true
3. //使用的初始界面图片
4. SET_START_IMAGE=init.bmp
5. //设置true时初始窗体将自动居中,同时top及left无效
6. SET_START_LOCATION_AUTO=true
7. // 设置初始窗体在桌面的X轴
8. SET_START_LOCATION_LEFT=100
9. // 设置初始窗体在桌面的Y轴
10. SET_START_LOCATION_TOP=100
11. // 设定初始窗体显示时间
12. SET_START_TIME=1000
2008年8月21日-26日更新GreenJVM-0.1.1(即0.1.1.1) to 0.1.3(即0.1.1.3),内容如下:
1、提供原始GreenJVM.exe执行文件。
2、提供原始vm.cfg文件配置方式。
3、新增[SET_LOCAL_JRE_UPDATE]项,通过此项可以命令本地JRE自动更新。
4、新增7z格式压缩包解压支持,建议使用此格式进行虚拟机压缩。