深入探索Java 9模块化系统:实践体验分享

更新:11-20 名人轶事 我要投稿 纠错 投诉

大家好,感谢邀请,今天来为大家分享一下深入探索Java 9模块化系统:实践体验分享的问题,以及和的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

一旦你描述了所依赖的外部模块,在编译时,它会自动检查这些模块是否已经在模块路径中,如果没有,就会报错。

强化封装

该模块除了原有的访问修饰符public、protected、private、default形成的访问限制外,还加强了一层访问控制。除非模块通过exports关键字公开某些包,否则即使是公共类也无法从外部访问。另外值得注意的是,以前甚至可以使用反射调用setAccessible(true)来随意调用私有方法,但这在JPMS下不起作用。

项目实验

基于以上基础知识,我在原来托管在github上的开源项目underscore.string.java上创建了jigsaw的分支underscore.string.java-jigsaw,并尝试了单个模块的使用。

基本步骤

在src/main/java/目录下新建module-info.java,引入gradle插件org.gradle.java.experimental-jigsaw。修改.travis.yml以支持java9编译

1. 模块描述文件

module com.lambeta.underscorestring {

出口com.lambeta;

需要番石榴;

}为了方便别人调用,需要一个较短的名字,并且因为最好唯一,所以使用com.lambeta.underscorestring。该模块导出包com.lambeta。事实上,我的项目只有一个包。此外,它还需要guava 模块。

2. gradle 插件

gradle如何支持java9的模块系统,这篇文章已经详细讲解了。我最终选择使用该插件的实验版本,因为它相对简单。

插件{

id "org.gradle.java.experimental-jigsaw" 版本"0.1.1"

}

javaModule.name="com.lambeta.underscorestring"

javadoc {

排除=["模块信息.java"]

}通知gradle该模块的名称是com.lambeta.underscorestring。这最适合与gradle 的多模块项目一起使用。

javadoc的配置主要是为了执行javadoc任务,出现了module not found: guava的错误。这应该是gradle javadoc 中的一个错误。 Maven项目中也有类似记录,稍后解决。但现在,跳过这个文件。

3. CI 服务

语言: java

jdk: oraclejdk9

sudo: 假

dist: 值得信赖

脚本:

"./gradlew 检查-i"

插件:

主机:

- 兰贝塔构建

用户评论

百合的盛世恋

终于开始了解 Java 的模块化了!

    有20位网友表示赞同!

淡抹丶悲伤

Java9 模块化的概念很有意思,期待学习更多。

    有18位网友表示赞同!

良人凉人

这篇文章能让我入门吗?

    有16位网友表示赞同!

♂你那刺眼的温柔

想了解一下模块化在实际开发中的应用场景。

    有5位网友表示赞同!

素衣青丝

这篇小试能否详细介绍 Java9 新的功能呢?

    有9位网友表示赞同!

一生荒唐

一直对 Java 的 modularity 比较感兴趣,看下有没有什么好的案例分享。

    有12位网友表示赞同!

夜晟洛

学习起来,这听起来很新颖!

    有9位网友表示赞同!

执念,爱

模块化开发是不是提高了项目的性能和可维护性呢?

    有17位网友表示赞同!

寻鱼水之欢

Java9 模块化系统的优势在哪里?

    有17位网友表示赞同!

有阳光还感觉冷

看下这个实验如何应用在了实际项目中。

    有16位网友表示赞同!

陌上花

我对 Java 的更新一直很关注,看看这次的模块化有什么变化。

    有16位网友表示赞同!

龙吟凤

想了解一下在使用模块化系统的时候有哪些需要注意的地方?

    有14位网友表示赞同!

开心的笨小孩

Java9 模块化系统对开发人员的要求有哪些改变呢?

    有20位网友表示赞同!

羁绊你

对于初学者来说,学习 Java 的模块化需要多久时间呢?

    有12位网友表示赞同!

代价是折磨╳

希望以后的文章能更加详细地介绍 Java 模块化的应用。

    有15位网友表示赞同!

采姑娘的小蘑菇

学习了之后能否提升代码的复用率吗?

    有9位网友表示赞同!

泡泡龙

对新手朋友来说,Java 9 模块化的入门教材有哪些推荐?

    有10位网友表示赞同!

如梦初醒

这篇文章能不能分享一些实际应用的模块化代码案例呢?

    有19位网友表示赞同!

孤独症

了解一下 Java9 模块化系统与其他语言的模块化方法有何异同之处。

    有6位网友表示赞同!

念旧是个瘾。

我想知道在企业级项目中使用Java 9 模块化的效果怎么样。

    有19位网友表示赞同!

【深入探索Java 9模块化系统:实践体验分享】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活

上一篇:365天早餐食谱大挑战:每天不一样的美味早餐 下一篇:探寻岁月痕迹:我们的旅程之旅