继近日发布的Java 7之后,InfoQ有幸采访到了Oracle Fusion中间件小组的开发副主席Adam Messinger以了解此次发布及Oracle对未来Java 8计划的详细信息。
InfoQ:能否向读者介绍一下Oracle对于Java未来的整体规划? Oracle将会继续与其他小组合作来发展Java,这包括一些大公司,如IBM,也包括一些个人;通过一些组织进行协作,从JCP(负责API及各种规范)到Oracle资助的各个开源小组,如GlassFish和OpenJDK以及其他一些参与者如Eclipse。总体说来,就是Java平台将会继续发展,成为面向各个层次***的**、高可靠、高性能的技术。
你只需查看Oracle发布的关于Java产品的开发范围就能了解到Oracle的**。Java SE 7已经发布,同时Java SE 8也在进行当中GlassFish已经发布了3.1版,并且计划今年底发布新的版本;JavaFX 2.0也快完成了、Java EE 7也呼之欲出、NetBeans 7也于近日发布,这都表明了我们现在的发展势头。当然了,Oracle Fusion Middleware和Oracle Exalogic Elastic Cloud等产品都是基于Java的。
InfoQ:你认为Java 7中*有意思或是*重要的特性有哪些呢?
我认为大多数***都会觉得Project Coin中的语言变化是*有用的。这些变化(诸如switch语句中可以使用字符串、菱形操作符、多catch异常以及带有资源的try语法等)对***来说都是很有帮助的,因为所有这些特性的一个共同点就是他们都增强了现有源代码的可读性。这些变更的项目**Joe Darcy还开发了一个注解处理器,这样***就可以扫描现有的代码以使用新的带有资源的try语法来替换掉老式,有时很容易导致错误的代码,而且新的语法更加紧凑。
我还要强调一下新的Filesystem API, 它公开了现代文件系统的一些关键特性,如文件变化通知与符号链接,还支持更快速的块操作,比如搜索目录树等。我认为这些特性是*为重要的。
我认为*有意思的特性当属新的Fork/Join API,它有助于***们编写出能够并行运行的应用。过去,只有针对**服务器编写数据或算法密集型应用的***们才会在意应用是否是并行运行的,因此也会更加充分利用多核/多处理器架构的所有能力,但现在我们看到带有四核芯片的台式机也都是普通之物了,双核的笔记本和智能手机也成为了标配。用不了多久,更多的***们将会考虑并行程序设计了。
InfoQ:NIO 2向Java引入了真正的异步I/O API。为何说这是很重要的呢?它的使用场景有哪些? 异步I/O是编写高可伸缩的I/O密集型应用的一把利器。它与非阻塞I/O有几分相似,后者属于*初的NIO的一部分,在Java SE 1.4中被引入进来。非阻塞I/O非常适合于处理大量的开放网络连接,但却不适合于随机访问的I/O设备,如磁盘驱动等。异步I/O既适合于连续设备,也能胜任随机访问设备,它非常适合于某些应用架构。与非阻塞I/O一样,我认为很多***并不会直接使用异步I/O API,但一旦使用就会发现它的价值所在。