为发布一个单窗口桌面应用,不想带几十兆的jre.
按 java -jar -verbose:class test.jar >> 1.txt 进行抽取.复制.打包成新的rt.jar;
---------------------------------------------------------------
结果:
用新的jre(包含新抽取的rt.jar) 运行,
.\jre\java -jar test.jar
程序可以正常运行.没有错误 程序退出时,,进程里两个java.exe只有一个自动关闭掉.另一个java.exe进程不能自动关闭. 用本机原来的jre运行
java -jar test.jar
程序一切正常,退出时,两个java.exe都可以自动关闭. ---------------------------------------------------------------- 怀疑:
抽取rt.jar时,对rt.jar中垃圾收集,资源释放等的class没有抽取出来 请问:
1: rt.jar中负责释放相关资源的包或者类有 哪些?
2: 这种情况或者还有别的原因?
解决方案 »
- 求助 一个排序的问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 值传递,引用传递,作用域 混淆了
- 一个JAVA AWT的小问题,谢谢大侠们支持下
- 多线程怎样传递参数啊?
- java中处理表单,我写一个类,是继承httpServlet还是GenericSelet,另外是重载DoPost()方法还是DoGet?()方法还是Service()方法是
- 在别人开机后,用JAVA怎样能自动得到局域网上别人的机器名及IP。
- 高手请进,数字滚动摇奖 实现
- 如何判断一个点在一个矩形内?(20分)
- 急!急!急!
- java高手能否赐教???
- 【求助】 有关事件模型的问题
- 请问Java中JButton可不可以实现文字在图片的下方显示,而不是默认的右边
lang包中System;System$1;System$2
打包进去,没有变化;还是没有解决
Java是可以在运行时随时加载需要的类,当程序启动没有用到这些类时是不需要加载的,所以不会出现在-verbose里我的建议是:
1、你可以用别的性能测量工具,把所有功能都跑一遍,找齐全要加载的所有类
2、你可以从源代码下手,看看哪些是在运行时导入的
3、你可以使用小的JRE,类似2楼说的
不光rt.jar可以减肥