Java 模块化项目 Jigsaw 能否重回正轨?

简介:

模块化的粉丝们会很高兴的听到这一消息,Jigsaw项目已经重新提上日程,至少也是部分回到了正轨。

今年7月的早些时候,甲骨文首席Java架构师Mark Reinhold在他的一篇题为“《Jigsaw项目:第二阶段》”的博文中告诉我们,在“过去的几年里”,jigsaw项目“处于一个探索阶段,在这个阶段中,我们设计并建立了一种特别的方式来处理需求的草案集。”

回溯到2011年6月,最初曾打算将Jigsaw包含在Java 7的发布中,该宏伟计划由两个主要的部分组成。第一部分是一个几乎可以与OSGi竞争的模块化框架。第二部分是将Java平台本身真正地拆分成多个可挑选组合的模块。

但是最终该项目却公布了将会推迟到Java 8。然而这个计划却再次搁浅,Reinhold在他的博文“Jigsaw项目:没搭上这趟火车”中请求JSR 337 (Java 8)专家组再次将Jigsaw项目的发布延期至Java 9。根据甲骨文宣布的两年Java周期和Reinhold的博文“安全的火车”来看,该版本目前已计划在2016年早期发布。在那不久后,Jigsaw项目的延期请求便得到了批准。

通过查看Reinhold的计划,可以看到Jigsaw项目原有的范围在经历了多次“减数分裂”后成为了四个JEP(Java改进建议):

1.提出一个具体的JDK模块化结构;

2.根据以上结构重新组织JDK源代码(不包括二进制文件);

3.第三个建议是将二进制映像文件进行模块化;

4.第四个JEP是将为Java自身引入模块化系统,这将与模块化系统JSR保持一致。

你可以通过Jigsaw项目的“目标和需求”文档来了解更多该项目的最新动向。也可以加入jigsaw-dev邮件列表来参与该项目的持续讨论。

Java 9早期版本的二进制文件已经可以在java.net上进行下载。Java 9 JSR目前尚未提交,这使得一些开发者很想知道下一班火车会不会又跳过这一站。

相关文章
|
2月前
|
Java
使用IDEA创建项目运行我的第一个JAVA文件输出Helloword
本文介绍了如何使用IDEA(IntelliJ IDEA)创建一个新的Java项目,并运行一个简单的Java程序输出"Hello Word"。文章详细展示了创建项目的步骤,包括选择JDK版本、设置项目名称和路径、创建包和类,以及编写和运行代码。最后,还展示了如何通过IDEA的运行功能来执行程序并查看输出结果。
129 4
使用IDEA创建项目运行我的第一个JAVA文件输出Helloword
|
1月前
|
关系型数据库 MySQL Java
【MySQL+java+jpa】MySQL数据返回项目的感悟
【MySQL+java+jpa】MySQL数据返回项目的感悟
42 1
|
1月前
|
编解码 Oracle Java
java9到java17的新特性学习--github新项目
本文宣布了一个名为"JavaLearnNote"的新GitHub项目,该项目旨在帮助Java开发者深入理解和掌握从Java 9到Java 17的每个版本的关键新特性,并通过实战演示、社区支持和持续更新来促进学习。
75 3
|
3月前
|
Java 测试技术 API
Java新纪元:模块化设计重塑开发体验,让代码如艺术品般优雅!
【8月更文挑战第30天】Java模块化设计是一种通过将应用程序分解为独立、可重用模块来提高代码可维护性和可扩展性的方法。其核心是自Java 9引入的Java Platform Module System(JPMS)。模块化设计增强了封装性,简化了依赖管理和系统维护,并通过按需加载模块提升了性能。每个模块有明确职责和接口,通过`module-info.java`文件定义。实战示例展示了如何创建和使用模块。最佳实践包括明确模块职责、减少依赖、使用模块描述符及模块化测试,从而构建健壮、可维护的应用程序。
50 2
|
3月前
|
IDE Java 开发工具
Java系统中的错误码设计问题之为Java项目中的错误消息提供国际化支持如何解决
Java系统中的错误码设计问题之为Java项目中的错误消息提供国际化支持如何解决
46 0
|
1天前
|
Java Android开发
Eclipse 创建 Java 项目
Eclipse 创建 Java 项目
11 4
|
6天前
|
SQL Java 数据库连接
从理论到实践:Hibernate与JPA在Java项目中的实际应用
本文介绍了Java持久层框架Hibernate和JPA的基本概念及其在具体项目中的应用。通过一个在线书店系统的实例,展示了如何使用@Entity注解定义实体类、通过Spring Data JPA定义仓库接口、在服务层调用方法进行数据库操作,以及使用JPQL编写自定义查询和管理事务。这些技术不仅简化了数据库操作,还显著提升了开发效率。
17 3
|
9天前
|
前端开发 Java 数据库
如何实现一个项目,小白做项目-java
本教程涵盖了从数据库到AJAX的多个知识点,并详细介绍了项目实现过程,包括静态页面分析、数据库创建、项目结构搭建、JSP转换及各层代码编写。最后,通过通用分页和优化Servlet来提升代码质量。
22 1
|
1月前
|
JavaScript 前端开发 Java
解决跨域问题大集合:vue-cli项目 和 java/springboot(6种方式) 两端解决(完美解决)
这篇文章详细介绍了如何在前端Vue项目和后端Spring Boot项目中通过多种方式解决跨域问题。
313 1
解决跨域问题大集合:vue-cli项目 和 java/springboot(6种方式) 两端解决(完美解决)
|
16天前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。