J2SE 1.4.2beta版本新鲜出炉,本文来介绍此版本的主要新功能与新的改变。
虚拟机
运行时性能
Client HotSpot编译器,主要在编译速度和footprint上的改善。
Server HotSpot编译器,在IA32平台上当处理器和操作系统支持时,使用SSE和SSE2指令。
更快的常数整除运算。
更快的浮点2次幂除法运算。
更快的NullPointerException处理。
核心内库
网络
针对http和https的NTLM认证现在在Windows平台上支持。
支持HTTP重定向到相对URL,而在1.4.2之前,我们要求重定向的URL必须是一个绝对URL地址。
New I/O(NIO)
原始Channel类(SocketChannel,ServerSocketChannel等)的finalize方法被移除了。
I/O
在Windows2000/XP上,Windows的locale的预设编码没有相应的ANSI代码页从utf-16le转换到utf-8。在这个版本中提供了用现存的ASCII文本编码的兼容性以及用这个locale处理输出系统的能力。
国际化
改变了Windows平台的安装程序,主要在所支持的locale上有所改变。现在有一个单个的安装程序,如果Windows系统只支持欧洲语系在预设情况下将安装对欧洲语系的支持。如果Windows系统支持至少一种非欧洲语系将安装对所有语系的支持。用户可以在安装时自定义安装另外的语系。
安全
许多新的证书和加密算法被加到这个版本中,如CA证书,AES(Advanced Encryption Standard),SHA-256,SHA-384和SHA-512哈希算法等。
综合库
JNDI
修复一些bug。
JNDI/LDAP服务现在提供对请求存取LDAP服务器时使用SSL连接的支持。
另外用户可以不用在LDAP URL中指定端口号。对于非SSL连接预设的端口号是389,而SSL连接预设的端口号是636。而在1.4.2之前的版本中所有连接的预设端口号都是389.。
用户界面
Java声音技术
在Windows和Solaris上现在支持Port。
现在支持ALSA(Advanced Linux Sound Architecture)。
同时在Lunux上capture/和playback现在已成为可能。
Java 2D技术
在1.4.2中已修正了许多的bug。所做的许多工作主要是加强在Window中对全屏幕的支持。还有如修正了字体的处理,还有在Linux中对24bit像素的支持,以及 IDE锁死的bug.等。
输入法
现在在1.4.2中捆绑了泰文输入法,但在预设情况下是关闭的。要启用它,可以将位于JRE的lib/im目录中的thaiim.jar移到lib/ext目录中。
在Windows XP上,你可能经历过这样的问题:例如不能切换输入法或输入法工具条不能显示。如果你遇到过这样的问题,请使用最新的Windows XP service pack。
AWT
修正了Windows2000和XP上,一个TextArea在设置了SCROLLBARS_BOTH时只显示一个垂直条的bug。
修正了在1.3.1和1.4中从一个Runnable运行模态窗口死锁的问题。
修正了在没有ANSI代码页时Windows输入法中无法输入文字的bug。
Swing
引入两个新的Look&Feel:Windows XP L&F和GTK+ L&F。
部署
启动时间的改善
最佳化了核心内库来提升启动时间。对于一个小规模的命令行应用程序,启动时间提升了30%;对于一个小规模的Swing应用程序,提升了14%到20%的启动时间。
Applet
在1.4.1中,从Applet的stop()或destroy()方法中调用一个模枋的弹出窗口可能导致一些问题,如NullPointerException,或是这个对话框不显示,甚至当Applet被销毁后对话框还存在,最坏的情况是Browser死掉。这些问题在1.4.2中已修复。
在1.4.1中,java.applet.getDocumentBase()返回一个包含这个Applet的文档的目录的URL。而在1.4.2中修正为返回这个文档自身的URL。同样的,java.applet.getCodeBase()返回Applet的URL,在1.4.2中现在修正为返回包含这个Applet的目录的URL。
在1.4.2中,当经由Java Plug-in部署一个applet(在c终飧隼嗫??