站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题J2SE 1.4.2增强功能与改变

J2SE 1.4.2增强功能与改变

摘要: java,j2se,vm,awt

J2SE 1.4.2增强功能与改变

J2SE 1.4.2beta版本新鲜出炉,本文来介绍此版本的主要新功能与新的改变。

虚拟机

运行时性能<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

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(在cache开启的情况下),如果applet在一个有多个class文件的JAR文件中,并且如果这些类中有一个调用了javax.crypto.Cipher.getInstance()方法,那么存取到同一个JAR文件的请求操作将失败并抛出“java.lang.IllegalStateException:Zip file closed”,现在这个bug已修正。

Java Plug-in技术

Java Plug-in现在支持Mozilla 1.1及其以后版本。

在本次版本中ActiveX Bridge技术被重新实现。它允许JavaBean像ActiveX控件一样显示在ActiveX容器中。与以前不同的是,开发者要使用ActiveX Bridge必须重新封装他们的bean。

JSObject现在可以返回正确的DOM元素类型。

Java Web Start 1.4.2

实现了当JAWS每次运行时,自动检测电脑中所有已注册的JRE。

不仅是JNLP URL,连.html和.jnlp文件现在可以直接在JAWS应用程序管理器中开启和标记为书签。

Java工具

JPDA(Java Platform Debugger Architecture)

新的接口功能增加到JVMDI中,允许多线程的suspend和resume执行。这个功能也同样增加到了JVMPI中。它们是:

jvmdiError SuspendThreadList(jint reqCount, jthread *reqList, jvmdiError *results)

jvmdiError ResumeThreadList(jint reqCount, jthread *reqList, jvmdiError *results)

另外,现在还实现了先前在JVMDI中没有实现的接口功能:

jvmdiError GetOwnedMonitorInfo(jthread thread, JVMDI_owned_monitor_info *infoPtr)

jvmdiError GetCurrentContendedMonitor(jthread thread,jobject *monitorPtr)

Java编译器(javac)

增加了-classpath命令选项的同义命令-cp。

增加了-Xmaxerrors和-Xmaxwarns命令选项去限制最大打印在Java控制台的错误和警告数。

Javac还修复了一些生要的Bug.,如不再错误的检测重复的local类的宣告等。

Javadoc工具

增加了几个新的命令选项。



↑返回目录
前一篇: What's New in J2SE 1.5 ? -- Interview on Joshua Bloch
后一篇: 用 Java 2 标准版本 (J2SE) 1.4 进行 Internet 安全编程