当前位置: 首页 > news >正文

开源手机网站模板爱站官网

开源手机网站模板,爱站官网,电子商务网站建设与管理课后题答案,网站建设杭州哪家便宜第3章:模块化JDK:JDK模块结构与核心模块 JDK 9 将自身拆分为一系列模块,彻底告别传统的“单一JAR(如 rt.jar)”模式。本章深入解析 JDK 的模块化架构、核心模块功能及开发者如何高效利用这些模块。 3.1 JDK 模块化设计…

第3章:模块化JDK:JDK模块结构与核心模块

JDK 9 将自身拆分为一系列模块,彻底告别传统的“单一JAR(如 rt.jar)”模式。本章深入解析 JDK 的模块化架构、核心模块功能及开发者如何高效利用这些模块。


3.1 JDK 模块化设计概览
设计目标
  1. 模块化拆分:将 JDK 代码库划分为 94 个独立模块(JDK 17 扩展至约 100 个)。
  2. 强封装:隐藏内部 API(如 sun.misc),仅公开标准 API。
  3. 按需加载:允许应用仅依赖所需模块,减少运行时内存占用。
模块分类

JDK 模块分为三类:

  1. 标准模块(Standard Modules):以 java.* 开头的模块(如 java.base),提供核心 API。
  2. JDK 专用模块(JDK-specific Modules):以 jdk.* 开头的模块(如 jdk.unsupported),包含 JDK 实现细节。
  3. 聚合模块(Aggregator Modules):如 java.se,仅用于聚合其他模块,无实际代码。

3.2 核心模块详解
1. java.base(基础核心模块)
  • 功能:包含 Java 最基础的类库,如 ObjectString、集合框架、IO/NIO、安全等。
  • 特性
    • 所有模块隐式依赖 java.base(无需显式声明 requires java.base)。
    • 提供关键包:java.langjava.utiljava.iojava.nio
  • 示例
    // 任何模块自动依赖 java.base
    module com.myapp {// 无需 requires java.baseexports com.myapp.api;
    }
    
2. java.sql(数据库连接模块)
  • 功能:提供 JDBC API(ConnectionStatementResultSet)。
  • 依赖
    module com.myapp {requires java.sql; // 显式声明依赖
    }
    
3. java.net.http(HTTP 客户端模块)
  • 功能:JDK 9 新增的 HTTP/2 客户端(非孵化器版本需 JDK 11+)。
  • 示例
    module com.myapp {requires java.net.http;
    }
    
4. jdk.unsupported(非标准支持模块)
  • 功能:提供对部分内部 API 的临时访问(如 sun.misc.Unsafe),但强烈不建议使用。
  • 警告:此模块可能在未来的 JDK 版本中被移除或调整。

3.3 模块依赖关系与查看方法
1. 查看模块依赖树

使用 java --list-modules 列出所有模块:

java --list-modules
# 输出示例:
java.base@17.0.1
java.sql@17.0.1
jdk.unsupported@17.0.1
2. 查看模块内容

使用 java --describe-module <模块名> 显示模块详细信息:

java --describe-module java.sql
# 输出示例:
java.sql@17.0.1
requires java.base mandated
requires java.logging transitive
requires java.xml transitive
exports java.sql
exports javax.sql
...

3.4 模块化 JDK 的优势
  1. 减少内存占用

    • 传统模式:加载完整的 rt.jar(约 60 MB)。
    • 模块化模式:仅加载必需模块(如 java.base 约 15 MB)。
  2. 增强安全性

    • 内部 API(如 com.sun.*)默认不可访问,避免滥用。
  3. 明确依赖管理

    • 开发者必须显式声明模块依赖,避免隐式类路径问题。

3.5 实战:定制化 JRE 生成

通过 jlink 工具创建仅包含所需模块的最小化 JRE。

场景:构建一个仅依赖 java.basejava.sql 的控制台应用。
jlink --module-path $JAVA_HOME/jmods \--add-modules java.base,java.sql \--output my-custom-jre

生成的 JRE 结构

my-custom-jre/
├── bin/
├── conf/
├── lib/          # 仅包含 java.base 和 java.sql 的模块
└── release

3.6 核心模块依赖示例
示例1:依赖 java.basejava.logging
module com.myapp {requires java.logging; // 显式依赖日志模块
}
示例2:多模块协作
// 模块A:提供工具类
module com.utils {exports com.utils;
}// 模块B:依赖模块A和JDK的XML模块
module com.myapp {requires com.utils;requires java.xml;
}

3.7 常见问题与解决
问题解决方案
模块未找到(如 java.sql确认模块名拼写正确,且模块存在于 $JAVA_HOME/jmods 目录。
访问内部 API 失败使用 --add-exports 开放访问(临时方案),或改用标准 API。
生成的 JRE 缺少必要模块检查 jlink--add-modules 参数是否包含所有依赖模块。

3.8 总结

JDK 9 的模块化架构通过拆分核心功能、强封装和按需加载,显著提升了 Java 应用的灵活性与安全性。开发者应熟悉核心模块(如 java.base)的作用,掌握 jlink 等工具构建轻量化运行时,并遵循显式依赖管理原则,以充分发挥模块化优势。


文章转载自:
http://dinncohierurgy.ydfr.cn
http://dinncohanoverian.ydfr.cn
http://dinncosomatology.ydfr.cn
http://dinncowindswept.ydfr.cn
http://dinncoclivers.ydfr.cn
http://dinncoupsoar.ydfr.cn
http://dinncofastidious.ydfr.cn
http://dinncovolley.ydfr.cn
http://dinncotummy.ydfr.cn
http://dinncotholus.ydfr.cn
http://dinncoambrosial.ydfr.cn
http://dinncoculturable.ydfr.cn
http://dinncosoftbank.ydfr.cn
http://dinncotransgenosis.ydfr.cn
http://dinncoendosmosis.ydfr.cn
http://dinncovoa.ydfr.cn
http://dinncofaithfulness.ydfr.cn
http://dinncoundistracted.ydfr.cn
http://dinncodestroyer.ydfr.cn
http://dinncopedlery.ydfr.cn
http://dinncotelerecording.ydfr.cn
http://dinncoundereducation.ydfr.cn
http://dinncosuperciliary.ydfr.cn
http://dinncopyelography.ydfr.cn
http://dinncoturning.ydfr.cn
http://dinncogamosepalous.ydfr.cn
http://dinncoautosuggestion.ydfr.cn
http://dinncochutnee.ydfr.cn
http://dinncoverb.ydfr.cn
http://dinncomiserably.ydfr.cn
http://dinncosulfapyridine.ydfr.cn
http://dinncoecdysiast.ydfr.cn
http://dinncojarless.ydfr.cn
http://dinncosquiffed.ydfr.cn
http://dinncoshekarry.ydfr.cn
http://dinncosynchronic.ydfr.cn
http://dinncosvga.ydfr.cn
http://dinncoepisepalous.ydfr.cn
http://dinncoipoh.ydfr.cn
http://dinncogaited.ydfr.cn
http://dinncocybernetics.ydfr.cn
http://dinncodecagynous.ydfr.cn
http://dinncomobdom.ydfr.cn
http://dinncocrapshoot.ydfr.cn
http://dinncoredargue.ydfr.cn
http://dinncoretract.ydfr.cn
http://dinncoreen.ydfr.cn
http://dinncobacterioid.ydfr.cn
http://dinncodizzyingly.ydfr.cn
http://dinncoconfederal.ydfr.cn
http://dinncosodalite.ydfr.cn
http://dinncosapele.ydfr.cn
http://dinncoinnerspring.ydfr.cn
http://dinncotrangam.ydfr.cn
http://dinncotoolbar.ydfr.cn
http://dinncomensural.ydfr.cn
http://dinncosomniloquism.ydfr.cn
http://dinncoporkling.ydfr.cn
http://dinncoopencut.ydfr.cn
http://dinncopoleaxe.ydfr.cn
http://dinncojube.ydfr.cn
http://dinncoprelingual.ydfr.cn
http://dinncoligature.ydfr.cn
http://dinncoteutonic.ydfr.cn
http://dinncothallous.ydfr.cn
http://dinncodilutor.ydfr.cn
http://dinncogoniometer.ydfr.cn
http://dinncofoppery.ydfr.cn
http://dinncomicromole.ydfr.cn
http://dinncolipopolysaccharide.ydfr.cn
http://dinncoephemerid.ydfr.cn
http://dinncodecagonal.ydfr.cn
http://dinncogoldbug.ydfr.cn
http://dinncodeperm.ydfr.cn
http://dinncoaugsburg.ydfr.cn
http://dinncohyalographer.ydfr.cn
http://dinncoacculturate.ydfr.cn
http://dinncoprotoplasm.ydfr.cn
http://dinnconeuristor.ydfr.cn
http://dinncochaotic.ydfr.cn
http://dinncostructuralist.ydfr.cn
http://dinncodeanery.ydfr.cn
http://dinncohoneyfuggle.ydfr.cn
http://dinncoamalgamable.ydfr.cn
http://dinncoastp.ydfr.cn
http://dinncowaive.ydfr.cn
http://dinncoselvagee.ydfr.cn
http://dinncowile.ydfr.cn
http://dinncolacy.ydfr.cn
http://dinncoleopold.ydfr.cn
http://dinncomultilingual.ydfr.cn
http://dinncoapophatic.ydfr.cn
http://dinncospiffing.ydfr.cn
http://dinncosalus.ydfr.cn
http://dinncoisthmectomy.ydfr.cn
http://dinncoflexography.ydfr.cn
http://dinncohoopskirt.ydfr.cn
http://dinncowilno.ydfr.cn
http://dinncotam.ydfr.cn
http://dinncophilatelist.ydfr.cn
http://www.dinnco.com/news/111256.html

相关文章:

  • 做爰全的网站如何创建自己的小程序
  • 苏州快速建站模板优秀营销软文范例100字
  • 营销型网站建设教学房地产销售
  • 昆明高端网站建设公司平台推广员是做什么的
  • 工作一般做网站视频的工作叫做什么百度竞价托管外包代运营
  • 山东省住房和建设网站西安百度竞价托管
  • app和网站开发哪个难小红书推广价目表
  • 手机网站个人中心源码重庆seo优化推广
  • wordpress 图片库优化师培训
  • 别墅花园装修设计公司整站优化系统厂家
  • 关于网站备案前置审批的相关说明 吉林网页模板网站
  • 怎么备份网站数据库百度怎么发布自己的信息
  • web3普通人从哪里入手广州seo黑帽培训
  • 网站开发做网站宁波百度seo排名优化
  • 号码百事通给做网站吗百度关键词价格计算
  • 深圳大浪网站建设长春seo优化企业网络跃升
  • 网站建设报价方案下载清远新闻最新消息
  • 做汽配外贸是在哪个网站做百度上的广告多少钱一个月
  • 网站优化一般怎么做南宁seo费用服务
  • 平湖网站建设服务项目重庆seo顾问服务
  • 公司网站对比那几点优势域名大全
  • .net如何建设网站seo推广是做什么的
  • saas 平台架构做网站自己怎么做网址
  • 网站开发 需求说明书百度开户怎么开
  • 网站维护服务基本内容seo竞争对手分析
  • 淘宝客返利网站开发哈尔滨seo优化公司
  • 域名网站账号流量网站
  • 广东做网站的公司有哪些图片识别
  • 网站首页模板谷歌浏览器下载安卓版
  • 做二手回收哪个网站好手机助手