模块化Java变革可能给IDE带来颠覆式影响
随着模块化Java进程的逐步推进,甲骨文公司正在通过一系列变化给开发人员与用户带来“显著影响”,其中包括与现有IDE之间的冲突,甲骨文公司一位高层Java业务官员指出。
在最近一篇题为《Jigsaw项目:模块化运行时镜像》的博文当中,甲骨文公司Java平台部门***架构师Mark Reinhold讨论了将模块化运行时镜像集成至Java当中、并通过JDK(即Java开发工具包)9早期版本build 41将其正式推出所带来的一系列变化与影响。“作为实现源代码重组的重要步骤,这一举措将给开发人员与终端用户带来显著影响。”
Reinhold同时强调了一系列具体变更,其中包括移除Endorsed-Standards Override机制从而将Java Community Process之外开发出的新型标准化版本纳入进来,同时在Java Virtual Machine中删除Extension机制以将Extension作为可选类使用。“我们意识到这些变更将给一部分应用程序造成直接影响,特别是对于那些依赖于JDK内部架构的IDE以及其它开发工具而言,”Reinhold表示。“我们认为这些变更能够切实改进性能表现、安全水平以及可维护能力,因此上述破坏性后果是完全值得的。我们已经与各大主要IDE维护方进行了沟通,从而确保他们了解与这些变更相关的信息。此外,我们也已经开始为其提供必要的辅助与支持。”
当被问及Java变更对于IDE的实际影响时,作为高人气Eclipse IDE缔造方的Eclipse基金会执行董事Mike Milinkovich指出,Eclipse仍然在针对Java 9制定发展规划。“不过,这显然代表着规模可观的庞大工作量,”Milinkovich表示,“而我们也欢迎来自甲骨文以及Java社区的贡献成果,旨在确保Eclipse能够为Java 9提供坚牢可靠的支持效果。”
Jigsaw项目的模块化改进在今年三月Java 8发布时就已经受到激烈批评。不过如今Jigsaw已经被正式推迟到了未来将发布的Java 9版本当中。在模块化机制的支持下应用程序能够只使用其运行所需的模块,从而带来显著的性能提升并为不同组件之间提供良好的安全隔离效果。这一举措的另一项目的在于让Java能够在小型设备上具备更理想的可扩展能力。
模块化调整的其它影响对象还包括JRE(Java SE运行时环境)以及具备相同结构的JDK镜像。“在此之前,嵌入在JRE当中的JDK镜像需要处于一个jre子目录当中; 而现在,JDK镜像则能够以运行时镜像的方式包含完成的开发工具以及曾经在JDK中出现过的其它项目的集合,”Reinhold解释称。
原本位于lib目录当中的用户可编辑配置文件如今拥有了新的conf目录。此外,内部文件rt.jar、tools.jar以及dt.jar也得到了移除,其中的内容将被保存在lib目录当中采用更高效格式的私有实现文件之内。新的内置NIO文件系统供应程序则可被用于访问保存在运行时镜像中的类与源文件。此前读取rt.jar及其它文件的工具需要直接更新至当前文件系统。与此同时,面向Java的实际模块系统将在Java Specification Request 376当中进行定义。
原文链接:http://www.infoworld.com/article/2859789/java/modular-javas-changes-could-break-ides.html
相关文章
- 从 Java 的角度初识 Go 语言 | 青训营笔记
- 从C和C++内存管理来谈谈JVM的垃圾回收算法设计-下
- StarRocks支持元数据加速桶配置(S3协议)
- Tomcat 与 Nginx,Apache的区别 ?
- Java:构建简单的速率限制器
- RAII技术:在Rust中实现带有守卫的自旋锁,支持一定程度上的编译期并发安全检查
- 从0到1 手把手教你建一个区块链
- Java:枚举类型
- java基于ssm开发的宠物商城宠物店源码
- Java基于springboot大学生宿舍寝室考勤人脸识别管理系统
- Java基于ssm师生实验课-实验室-实验设备预约系统源码
- Java并发基础面试题
- Java的动态代理与RPC
- Java-设计模式
- 关于Java中的时间处理,你真的了解吗?
- JAVA项目启动脚本编写及JVM启动参数的一些笔记
- 如何用 JAVA 实现一个基于 POI 的复杂表格导出工具类?
- 关于JAVA 中volatile使用的一些笔记
- 从零开始构建人脸识别模型(附实例和Python代码)
- JAVA自动拆装箱、equals与==比较