Java6新特性
Pluggable Annotation Processing API
可拔插注解处理API:用于编译时处理注解,而不是在运行时处理注解。
在运行时,我们仍然可以使用反射来分析注解并自定义行为。
编译时的注解处理是完全不同的概念。注解处理器(Annotation Processor)是javac内置的一个用于编译时扫描和处理注解的工具。简单的说,在源代码编译阶段,通过注解处理器,我们可以获取源文件内注解相关内容。通过javac
process,我们可以插入自定义注解“处理器”(一个Java类),并可以执行以下操作。
- 根据代码中批注提供的信息,我们可以进行一些验证并发出自定义错误/警告。错误将导致编译失败。这意味着我们可以增加更多的编译时类型安全性。我们还可以执行一些设计规则。
- 生成新代码并创建.java文件,新文件同样由编译器编译,也同样会被注解处理器处理。实际上,我们可以创建任何类型的文件,例如 properties/resources 等。通常是自动产生一些有规律性的重复代码。
推荐链接:
Java Pluggable Annotation Processor
https://www.baeldung.com/java-annotation-processing-builder
https://github.com/sockeqwe/annotationprocessing101
对 WebService 支持的增强
透过 JAX-WS 改善的网络服务支持(JSR 224)。
推荐链接:
JAX-RPC 2.0被更名为 JAX-WS 2.0
JDBC 4.0
支持 JDBC 4.0 (JSR 221)。
JAXB 升级
将 JAXB 升级到版本2.0:包括 StAX 解析器的集成。扩展:Java XML解析器 、 Java XML指南
Java Compiler API
Java编译器API (JSR 199):允许Java程序以写程序的方式选择和调用Java编译器的API。
脚本语言支持
脚本语言支持(Scripting Language Support)(JSR 223):用于与脚本语言紧密集成的通用API,以及内置的 Mozilla JavaScript Rhino 集成。
Rhino作为JDK脚本引擎对JavaScript支持部分包含到甲骨文JDK 1.6中,但将被Nashorn继承取代包含到OpenJDK 1.8中。