精简Java运行环境 GreenJVM

Apache
Java
Windows
2009-05-27
鹏凌三千

GreenJVM是一系列jre精简实现集合,它能够轻松的令java虚拟机实现绿色应用。

GreenJVM的实现原理非常简单,主要操作过程可分为三部分:

1、去除虚拟机中不被程序调用的类。 2、压缩虚拟机体积,减少空间占用。 3、制作一个能够检测本地环境的启动壳,取代java.exe加载jvm,并在执行时释放虚拟机。

就技术角度而言,这三项可说毫无新意可言,但从实用角度来说,却能令臃肿的虚拟机“瘦”下来,免除普通用户安装的烦恼,从而实现java程序的绿色发布。

精简后的jre在桌面应用中一能维持在5MB-3MB,非桌面应用则可能降低到2MB以下。

2009年4月12日更新,GreenJVM-0.1.5版BUG修订

此 问题由网友反馈,内容如下[下载的GreenJVM-0.1.5 无法运行程序,rt.pack200没有解压,手工解压后也不能运行],经查原因在于GreenJVM对于pack200解压时路径空格未经处理,导致当 用户将GreenJVM丢在桌面等含有空格的文件夹时将无法运行,现已修正。

在此特别鸣谢反映此问题的不知名网友。

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时,以下设定皆无效)

SET_START_INIT=true

2. //使用的初始界面图片

SET_START_IMAGE=init.bmp

3. //设置true时初始窗体将自动居中,同时top及left无效

SET_START_LOCATION_AUTO=true

4. // 设置初始窗体在桌面的X轴

SET_START_LOCATION_LEFT=100

5. // 设置初始窗体在桌面的Y轴

SET_START_LOCATION_TOP=100

6. // 设定初始窗体显示时间

SET_START_TIME=1000

2008年8月21日-26日更新GreenJVM-0.1.1(即0.1.1.0) to 0.1.3(即0.1.1.3),内容如下:

1、提供原始GreenJVM.exe执行文件。

2、提供原始vm.cfg文件配置方式。

3、新增SET_LOCAL_JRE_UPDATE项,通过此项可以命令本地JRE自动更新。

4、新增7z格式压缩包解压支持,建议使用此格式进行虚拟机压缩。

0.1.1.5版配置文件如下:

LOON

//设定系统JRE自动更新

SET_LOCAL_JRE_UPDATE=false

//虚拟机解压方式,目前提供有7Z、RAR、ZIP三种主流压缩方式的解压,建议使用压缩比最高的7z方式

SET_UNPACK_METHOD=7z

//虚拟机压缩包名称,要求配置在vm.cfg同路径下

SET_VM_NAME=jre_abridgment.pack

//选填,当初始化结束后.允许执行一个bat文件

//SET_START_INIT_BAT=run.bat

//检测本地jvm版本,低于期望值时使用自带jvm,否则以本地虚拟机优先运行

SET_START_REQUIRE_VERSION=1.6

//环境变量中的JavaHome路径

SET_START_ENV=JAVA_HOME

//期望加载的jar,多包以';'分隔

SET_START_JAR_PATH=AVGSimple.jar

//期望执行的main类

SET_START_MAIN_CLASS=org.loon.simple.avg.start.Main

//设定注册表令开机时自动加载我们的main类

SET_START_MAIN_CLASS_AUTO_LOAD=false

//程序启动前使用初始logo窗体(此项为false时,以下设定皆无效)

SET_START_INIT=false

//选填,使用的初始logo窗体图片

//SET_START_IMAGE=init.bmp

//设置true时初始logo窗体将自动居中,同时top及left无效

SET_START_LOCATION_AUTO=true

//设置初始logo窗体在桌面的X轴

SET_START_LOCATION_LEFT=150

//设置初始logo窗体在桌面的Y轴

SET_START_LOCATION_TOP=150

//设定初始logo窗体显示时间

SET_START_TIME=1000

{GreenJVMMake}是一个非常简单的Java应用,仅有6KB。它能够记录Java应用程序与JRE中rt.jar的依赖关系,进而仅以其依赖类生成一个新的rt.jar文件,从而最大限度精简JRE体积,建议其与GreenJVM配和使用。

加载中

评论(1)

暂无评论

暂无资讯

5
回答
GreenJVM的网友评论

GreenJVM是一系列jre精简实现集合,它能够轻松的令java虚拟机实现绿色应用。 GreenJVM的实现原理非常简单,主要操作过程可分为三部分: 1...

2009/12/11 11:38

没有更多内容

加载失败,请刷新页面

没有更多内容

GreenJVM-0.1.5及其应用示例集成发布

GreenJVM是一个专为绿化Java应用而存在的小程序,以C++开发。它的执行文件体积很小仅仅150KB,本身也是一个基于JNI的Java应用。GreenJVM真正的核心文件只有2个,一是GreenJVM.exe(执行文件), 一...

2009/05/26 07:11
740
0
我的JRE瘦身心得

由于个人兴趣,一直喜欢用Java写一些客户端的小工具,而且对SWT更是有些偏好,所以一般使用Eclipse+WindowBuilder进行程序的开发。程序开发完了,自己用的话在Eclipse中执行就好了。有些小工...

2010/10/05 21:08
5K
0
谁说Swing不适合做End Users Desktop应用来着?

很多人批评Swing做的东西很丑陋,并且需要需要jre才能运行,因此Swing不适合做桌面应用了! 在人们都在疯狂的崇拜web,除了生孩子之外所有的事情都放到了web上的时候,有这么一部分人,他们依...

2010/09/02 10:52
473
0
JAVA上百实例源码以及开源项目

简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着...

2014/11/30 12:06
2.3K
9

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部