今天早上来看到了6.0的特性。收藏了。
初探Java SE 6: 一个桌面赢家
一个有着丰富的Java经验的开发者试用了一下Java SE 6 Beta,并且认为Java SE 6 有希望成为桌面开发的一次革命。
by Eric Bruno (Translated by Xu Ting)
刚刚发布的Java Standard Edition 6 (Java SE 6,也被称为Mustang)beta版完整的包括了预定的新特性,对于主流的应用来说,已经足够稳定。我在第一时间下载并尝试了这个新?动物?,并且被它全新的桌面特性所震撼。除了Java平台一贯以来的命名方式上的改变(去掉了2),它还包含了包含了很多值得探索一下的新特性。这些新特性可以分为两类:桌面和核心。
桌面上的改进主要集中在用户界面(UI)性能,以及,用本地化的接口与OS的桌面整合。核心部分则集中在提高开发人员的生产性,以及Java程序的可管理性上。Sun的Mustang团队也对Web Service以及安全性方面作出了显著的改进。
不管怎么样,无论你是一个应用程序开发人员,还是一个系统管理者,或者提供独立的工具,或者是一个安全专家,Java SE 6都为你准备了些东西。这片文章主要是详细讨论了一些我试用过了的有趣的特性。
有关Java核心的新特性以及改进。
关于Java 核心部分,我们认为是部分((语言和工具)对所有的Java而言都是很基础的东西,包括从界面API到服务端API库。下面我将按照不同的分类来讨论这些与Java核心相关的特性。
开发人员的生产性
新的Java编译器API允许你从一个Java应用程序中去编译另外的Java源程序。在这样的编译的过程中,应用程序将根据计算出来的依赖关系去访问那些相关的API库文件,这个过程也会产生Warning,Error以及其他一些在编译的时候会产生的消息。虽然这个功能是我不太会常去用的,但是我很快发现了一种用法。比如:我在我的应用程序A中,快速的用这个特性来编译A的数据访问层代码。我可以用我的代码去生成并且编译我在A程序中要去访问的数据库表的类,最终的结果可以是一个从Ant脚本中生成出来的JAR文件。这样最显而易见的一个事实就是我可以在自己的程序中去重新编译生成这些重要的文件,至少我可以不需要改动应用程序。
Java Scripting,是在Java SE6中实现了的JSR223。这是一个脚本框架,提供了让脚本语言来访问Java内部的方法。你可以在运行的时候找到脚本引擎,然后调用这个引擎去执行脚本。这个脚本API允许你为脚本语言提供Java支持。另外,Web Scripting Framework允许脚本代码在任何的Servlet容器(例如Tomcat)中生成Web内容。
对于调试,Java平台的调试器(JPDA)已经提供了死锁诊测,并且可以为产生了死锁的对象生成堆栈信息。另外,Java SE 6允许在一个运行中的JVM上,添加不同的诊断工具 。
应用程序管理
Java SE 6中对内存泄漏增强了分析以及诊断能力。当遇到java.lang.OutOfMemory异常的时候,可以得到一个完整的堆栈信息,并且当堆已经满了的时候,会产生一个Log文件来记录这个致命错误。另外,JVM还添加了一个选项,允许你在堆满的时候运行脚本。(这也就是提供了另外一种方法来诊断错误)
增强的JMX 监视API在MBean的属性值传入了一个特定的参数的时候,允许这个应用程序发送一个事件通告。(这里的属性值可以在很复杂的类型中)
对于Solaris 10的用户,为Solaris提供的Hotspot JVM中,提供了一种通过Solaris DTrace(这是个系统的调试工具)来追踪显示JVM内部的活动情况,包括垃圾收集,类装载,线程,锁等等。我在JavaOne上得到了一个第一手的 DEMO,这个DEMO所显示的能追踪到的详细情况简直是太棒了。比如,当一个应用程序运行的时候,DTrace允许可以在任何地方中止代码,查看所有被载入内存的库(不仅仅是Java的类库,甚至是系统级别的库),并且可以单部跟踪到Solaris的内核中去,甚至可以直达硬件!Java新提供的这个工具为全世界提供了一种系统级别的追踪调试手段。我还记得以前我在Solaris的JVM上经常会收到一些Signal8这样的错误,这个特性将会省去我许多的猜测。
Web services
Java SE 6 包含了一些支持Web Services的新API。XML 数字签名API,允许你为基于Java上的Web Services数据提供加密的可能。Java-XML Web Services (JAX-WS)2.0API更新的以前称为JAX-RPC的API库。增强的Java-XML Binding (JAXB)2.0包含了对XMLSchema的支持,以及将某个Class绑定到一个Schema上去。最后, Streaming API for XML (STaX)提供了一个双向API,这个API可以通过一个事件流来读取或者写入XML,其中包括跳过某个部分,然后直接关注与文档中的另外一个小部分的能力。
安全
Java SE 6的安全部分,整合了GSS/Kerberos的操作API,LDAP上的JAAS认证,以及一个?请求安全认证?的框架,这个框架允许应用程序从一系列的协议中选择一种?请求安全认证?所用的协议。
桌面特性以及改进
Java长久以来,一直被认为是一个一流的服务器端软件的语言,但是桌面GUI应用上只能是二流地位。 Sun的Java桌面工作小组正在努力改变这个现状。通过调用系统的GUI接口,来更好的显示Java 的GUI应用。他们的努力不仅改善了Java SE 6中的GUI性能,也改变了一些Java GUI应用程序的行为。(比如提供了DnD的支持)
Java SE 6中的桌面新特性,大部分 都来自于JDesktop Integration Components(JDIC)项目。JDIC项目为Java的应用程序提供了访问OS底层本地桌面GUI接口的方法,例如浏览器,Email编辑器,文件类型绑定,系统托盘,阴应用程序启动,打印等等。 下面是那些Java SE 6中最显著的一些桌面特性。
* 启动界面的支持。启动界面(Splash Screens)是一个应用程序启动的时候,用户等待的时候给用户看的界面。Java SE 6中的启动界面甚至可以在JVM启动之前显示出来。
* JFC以及Swing中的改进:
o Java SE 6通过调用Windows的API,不仅提高了 GUI的性能,也保证了在当前以及以后的Windows版本中的兼容
o 增强的布局管理包含了一个可定制的布局管理,另外还包含了一些使得GUI元素布局的时候更加简单的方法。
o Java SE 6中显著的增强了Swing控件的托拽功能,并且是可以定制的。
o 真正的双缓冲,提供了快速,平滑的图形效果。
* 系统托盘的支持。在java.awt包中,增加了SystemTray和TrayIcon两个类,它们允许你在Windows或者使用GNome 的Linux的系统托盘区,添加图标,提示信息,弹出菜单。系统托盘区是所有的应用程序都共享的区域,通常在屏幕的右下角。通过系统的动作和事件可以允许你的Java应用程序去相应在托盘区的鼠标事件。我发现这个特性也同样对我的服务器程序非常有用,比如,我可以通过桌面API,非常轻松的启动一个浏览器,并且打开这个服务器程序的管理界面(当然,是HTML页面)。在Linux或者Window上,我再也不需要自己输入管理界面的URL和端口号了,只要简单的点击一下托盘图标就可以:)
* JTable支持打印了
* Java 2D方面增强了许多。 主要是在字符显示上,尤其在LCD的显示屏上。整合了许多字体反锯齿的设定来保证平滑的显示文字。
* 新的java.awt.Desktop包。Java SE 6中这个新的包目标是让Java 的GUI应用程序成为?一等公民?。有了这个包,Java的应用程序可以启动默认的浏览器和邮件客户端,并且整合了一些通用桌面应用程序的启动。例如启动OpenOffice,然后打开,编辑,打印一些制定的类型。Desktop包通过action事件来实现的,你可以将这些Action整合到你的应用程序中去。
* 国际化。Java SE 6提供了一些本地化特性的可扩充性,比如日期格式,Unicode文字的一致性,资源簇等等。
一场Java桌面革命
Java SE 6提供了许多的特性,改进,bug修改等 (这些可以参考我的另外一篇翻译),本文旨在对Java这个即将到来的重要版本之前做一个历史的记录。 这个改动涉及到了Java SE如此多的方面,乃至几乎所有的Java应用程序都会被波及到,包括那些Java EE的应用程序。
Java SE 6有潜力成就一场桌面革命,就如同Java 2成就了一场服务器革命。最好是现在就为这场即将到来的风暴做好准备,让你自己成为革命的先锋人员。
Eric Bruno is a New York-based consultant who has built high-volume Web applications, database systems, and real-time transactional systems in Java and C++. Visit www.ericbruno.com for more about him.
Posted in Java Tech | No Comments »
New features in Java SE 6.0
Monday, March 6th, 2006
A few days ago, Sun just released Java SE 6.0 Beta. And I had viewed the release notes and some articles discussed the new features .
Here is a translation about the new features and enhancement list provided by Sun officially. And I had translated this to Chinese(Simplified Chinese.)
The original document is placed HERE.
Here is the translation.
#Thanks to Zou, he helped me review this translation.
#There are some features about the compiler and VM are remained as original, because I am short at this areas. If you have any suggestions, please leave your comments of send a mail to my mailbox: tonny.xugmail.com
TOTO.net braket
Just another WordPress weblog
Blog Technical Articles Photos Resume
Java SE 6.0(代号?Mustang")是即将面世的下一版本Java。相比较J2SE 5.0,添加了许多重要的特性和增强功能,这些新特性和增强功能如下面的列表。
所有的条目都按照涉及范围以及所属的组件分类。第一列表示了修改涉及的范围。
* JSR - 表示这是实现了某一项JSR(Java标准需求)的重大特性
* API - 表示新添加的API
* IMP - 表示没有增加新的API,只是作了一些类似性能增强的改进。
请注意:这是个Beta里程碑,?Mustang?还在继续开发中。这些都是JSR270中的内容。JSR270本身并没有定义新的特性,但是它列举了一系列的其他JSR或者是正在进行评审中的需求。?Mustang?的最终发布版的目标是包含JSR270中所有的特性,但是不保证(有些已经商议通过的特性可能最终不会在?野马?版本中实现)。
分享到:
相关推荐
**JDK6的新特性** Java Development Kit (JDK) 6是Java编程语言的一个重要版本,它在2006年发布,引入了一系列创新特性和改进,极大地提升了开发人员的效率和应用程序的性能。以下是对JDK6主要新特性的详细解析: ...
JDK8新特性 JDK8是Java开发平台的最新版本,自从1995年Java的诞生以来,Java已经发展了二十多年, Java仍是企业和开发人员的首选开发平台。JDK8新特性课程内容包括了解Java发展史、Lambda表达式、接口的增强、函数...
6. **JDK7新特性<六> 监听文件系统的更改** 这个特性允许程序注册监听文件或目录的改变,当文件系统发生变动时,可以立即响应,增强了实时性和效率,特别是在文件监控应用中非常有用。 7. **JDK7新特性<七> 遍历...
JDK1.5新特性
JDK6的新特性 JDK6的新特性之一_Desktop类和SystemTray类 JDK6的新特性之二_使用JAXB2来实现对象与XML之间的映射 JDK6的新特性之三_理解StAX JDK6的新特性之四_使用Compiler API JDK6的新特性之五_轻量级...
jdk8新特性,百度云盘。jdk8新特性,百度云盘。jdk8新特性,百度云盘。
jdk5、jdk6新特性系统介绍.chm 系统、全面 本人自己整理的资料
以下是对JDK6主要新特性的详细说明: 1. **嵌入式数据库 Derby**: JDK 6包含了Apache Derby,一个轻量级、嵌入式的Java关系型数据库。开发者可以直接在应用程序中集成数据库,无需额外安装和配置,这简化了开发和...
JDK 1.7,全称为Java Development Kit的第七个主要版本,引入了一系列新特性,旨在提高开发效率、增强性能并提供更好的编程体验。以下是对这些新特性的详细讲解: 1. **Switch语句支持字符串**: 在JDK 1.7之前,...
以下是JDK1.5中的主要新特性及其详细解释: 1. **泛型(Generics)**:泛型是JDK1.5引入的最大变革之一。它允许在类、接口和方法中使用类型参数,提高了代码的类型安全性和重用性。泛型帮助程序员在编译时检查类型...
jdk8新特性.md
根据给定文件的信息,我们可以提炼出关于 JDK6 的最新特性及其与 JBoss Enterprise Application Platform 4.3 的兼容性相关的知识点。以下是对这些知识点的详细阐述: ### 标题:JDK6 的最新特性和支持的相关系统...
JDK6是Java Development Kit的一个重要版本,它引入了许多新特性以增强开发人员的生产力和应用程序的性能。以下是对JDK6中13个新特性的详细解释: 1. **Desktop类**:这个类提供了与操作系统进行交互的能力,使得...
**JDK1.8 API 中文文档及新特性详解** JDK1.8,也称为Java Development Kit 8,是Java编程语言的一个重要版本,它引入了许多创新特性,旨在提高开发者的生产力和代码效率。这份PDF文档详细讲解了JDK1.8的API中文...
视频教程地址:http://www.gulixueyuan.com/course/56
Jdk8新特性例子,内容包含 接口默认方法, 函数引用, java.util.stream api 和java.time api map的新增方法等。例子采用记事本编写,下载者需自行下载jdk8安装并配置好环境,编译(javac)运行(java)
例如,JDK6可能用于兼容旧项目,JDK7可能适用于需要利用其特定功能的项目,而JDK8由于其强大的新特性,成为了现代Java开发的首选。 总之,JDK6、JDK7和JDK8在Windows 64位环境下安装和使用,是Java开发者的必备工具...
1.8 新特性 1. 速度更快 – 红黑树 2. 代码更少 – Lambda 3. 强大的Stream API – Stream 4. 便于并行 – Parallel 5. 最大化减少空指针异常 – Optional
1.增强的for循环【foreach{}迭代数组或集合】 格式:for(变量的类型 变量名:集合变量名 ){} 注意:集合变量可以是数组或实现了Iterable接口的集合类 2.静态导入(这样调用一个静态方法的时候就不需要【类名....
JDK6,也称为JDK 1.6,是Oracle公司发布的一个重要版本,它在2006年推出,提供了许多新特性并改进了旧的功能。在本文中,我们将深入探讨JDK6的主要特点和包含的文件内容。 首先,JDK6引入了许多关键的新特性,以...