1.Desktop类和SystemTray类
DeskTop类允许一个Java应用程序启动本地的另一个系统默认应用程序去处理URI或文件请求。
SystemTray类关联桌面系统托盘的一些操作。
2.JAXB2与STAX
JAXB是Java Architecture for XML Binding的缩写,可以将一个Java对象转变成为XML格式,反之亦然。
3.Compiler API
现在我们可以用JDK6 的Compiler API(JSR 199)去动态编译Java源文件,Compiler API结合反射功能就可以实现动态的产生Java代码并编译执行这些代码,有点动态语言的特征。
这个特性对于某些需要用到动态编译的应用程序相当有用, 比如JSP Web Server,当我们手动修改JSP后,是不希望需要重启Web Server 才可以看到效果的,这时候我们就可以用Compiler API来实现动态编译JSP文件,当然,现在的JSP Web Server也是支持JSP热部署的,现在的JSP Web Server通过在运行期间通过Runtime.exec 或ProcessBuilder 来调用javac 来编译代码,这种方式需要我们产生另一个进程去做编译工作,不够优雅而且容易使代码依赖与特定的操作系统;Compiler API通过一套易用的标准的API提供了更加丰富的方式去做动态编译,而且是跨平台的。
4.轻量级Http Server
JDK6 提供了一个简单的Http Server API,据此我们可以构建自己的嵌入式Http Server,它支持Http 和Https 协议,提供了HTTP1.1的部分实现,没有被实现的那部分可以通过扩展已有的Http Server API来实现,程序员必须自己实现HttpHandler接口,HttpServer 会调用HttpHandler 实现类的回调方法来处理客户端请求,在这里,我们把一个Http 请求和它的响应称为一个交换,包装成HttpExchange类,HttpServer负责将HttpExchange传给HttpHandler实现类的回调方法
HttpServer hs = HttpServer.create(new InetSocketAddress(8888), 0); //设置HttpServer的端口为8888
hs.createContext("/lj", new MyHandler()); //用MyHandler类内处理到/lj的请求
hs.createContext("/lj", new MyHandler()); //用MyHandler类内处理到/lj的请求
5.Java DB内嵌数据库系统
一个纯 Java 实现、开源的数据库管理系统(DBMS),源于 Apache 软件基金会(ASF)名下的项目 Derby。它只有 2MB 大小,对比动辄上 G 的数据库来说可谓袖珍。但这并不妨碍 Derby 功能齐备,支持几乎大部分的数据库应用所需要的特性。
http://www.ibm.com/developerworks/cn/java/j-lo-jse65/