其中最引人注目的是Hot Spot VM型的核 心类数据共享(class data sharing)特性。
Class data sharing就是把一些每个VM都需要用到的基础类库(主要是rt.jar)编译后存放在本地(jre/bin/client/classes.jsa),
在多个VM中 共 享,这样下个实例启动后就不再需要再次加载多达数兆的rt.jar。
对桌面应用来说这可是效果明显,Eclipse,Jbuilder这些你惯常使用的应用不光内存占用减少,小程序还有望摆脱启动速度慢的'恶' '名'。除了让内存厂家'大' '骂'之外,java程序员也多了一条发财的路子,现在小型的shareware用java来写也不是不可能了。原来没人愿意用java来写Unix管道风格的小程序,驻留在Windows托盘的小型程序也很少,而现在程序启动的代价已经可以完全支持这种应用了。 如果你使用JRE Installer安装,会自动启动class data sharing功能,也可以用java -Xshare:dump命令来初始化,用-Xshare:on/off参数来开关这个特性。
我也一直在找这样的一个 跨平台的 系统托盘 库, 比如:可以同时在 windows 和 linux 下运行.但现在还没有这样的库存在(至少我还没有找到) 网上有一个 trayicon 项目,实现的是 windows 下的系统托盘库,但可惜没有 linux 下的实现.希望很快就有了. 哪位老大懂 X11 编程的,可以写一个封装一下.windwos 平台的实现很简单,网上到处都是.
https://jdic.dev.java.net/ 有一个跨平台的tray icon api. 其实linux上的kde,gnome都有system tray.可以做系统托盘式程序,上面的api可以生成相同代码的跨平台系统托盘式程序.怎么这个帖子变成夸JDK1.5了,我来说JDK1.5的坏话:jdk1.4里没问题的程序: public class Test15{ public static void main(String[] args){ StringBuffer sb=new StringBuffer(); sb.append("dfasfd").append(354).append("dfa"); System.out.println(sb); } }在jdk1.5里能过吗?????试一下,不要想当然.至少两个编译错.
其中最引人注目的是Hot Spot VM型的核 心类数据共享(class data sharing)特性。
如果你使用JRE Installer安装,会自动启动class data sharing功能,也可以用java -Xshare:dump命令来初始化,用-Xshare:on/off参数来开关这个特性。
哪位老大懂 X11 编程的,可以写一个封装一下.windwos 平台的实现很简单,网上到处都是.
有一个跨平台的tray icon api.
其实linux上的kde,gnome都有system tray.可以做系统托盘式程序,上面的api可以生成相同代码的跨平台系统托盘式程序.怎么这个帖子变成夸JDK1.5了,我来说JDK1.5的坏话:jdk1.4里没问题的程序:
public class Test15{
public static void main(String[] args){
StringBuffer sb=new StringBuffer();
sb.append("dfasfd").append(354).append("dfa");
System.out.println(sb);
}
}在jdk1.5里能过吗?????试一下,不要想当然.至少两个编译错.
另,你的程序使用JDK1.5命令行中编译是没有任何问题的,但是你在JB或者Eclipse中低版本中可能有问题,这只是说明JB和Eclipse的低版本对JDK1.5不支持而已。相信在新版本中这个问题会被修正的。
可以启动JAVA程序
同时eclipse的awt库也支持系统托盘的创建
不过有好多动态库
归根结底还是jni调用。
在 Java 代码部分是跨平台的就可以了.只需要在不同的系统下使用不同的库(.dll 或 .so)就可以了