首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

由jlink生成的自定义JRE对于最小的jre具有较大的大小

由jlink生成的自定义JRE对于最小的JRE具有较大的大小是因为自定义JRE包含了应用程序所需的所有依赖库和模块,以及Java运行时环境的核心组件。这样做的优势是可以将应用程序与特定版本的Java运行时环境捆绑在一起,确保应用程序在不同的环境中具有一致的运行结果。

自定义JRE的应用场景包括但不限于以下几个方面:

  1. 简化部署:自定义JRE可以将应用程序与所需的Java运行时环境打包在一起,简化了应用程序的部署过程,减少了对目标环境的依赖。
  2. 提高性能:自定义JRE只包含应用程序所需的组件,减少了不必要的库和模块的加载,从而提高了应用程序的启动速度和运行效率。
  3. 加强安全性:自定义JRE可以排除不必要的组件,减少了潜在的安全风险,提高了应用程序的安全性。
  4. 管理依赖:自定义JRE可以将应用程序所需的依赖库和模块打包在一起,方便管理和维护。

腾讯云提供了一系列与自定义JRE相关的产品和服务,其中包括:

  1. 云服务器(CVM):提供了灵活的虚拟机实例,可以在云上部署自定义JRE和应用程序。
  2. 云容器实例(CCI):提供了轻量级的容器实例,可以快速部署和管理自定义JRE和应用程序。
  3. 云原生应用平台(TKE):提供了容器编排和管理的平台,可以方便地部署和管理自定义JRE和应用程序。
  4. 云函数(SCF):提供了无服务器的函数计算服务,可以运行自定义JRE和应用程序的函数。

更多关于腾讯云的产品和服务信息,请访问腾讯云官方网站:https://cloud.tencent.com/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Java 基础 Docker 镜像从 674MB 缩减到 58MB 经验分享

尤其是在使用 Java 进行开发时,生成 Docker 镜像往往会相对较大,这不仅影响了部署速度,还增加了网络传输负担和存储成本。因此,如何精简镜像大小成为了每个开发者亟待解决问题。...本文将深入探讨如何通过 jlink 工具生成更小 Java 运行时环境(JRE)镜像,并自动化整个过程。我们将分析不同模块依赖关系,确保仅包括运行应用程序所需最小模块。...使用 jlink 构建自定义 JRE 镜像jlink 是一个工具,可用于创建仅包含运行应用所需模块自定义运行时镜像。 如果你应用不与数据库交互,则无需在镜像中包含 java.sql 模块。...:我们有两个阶段,第一阶段用于使用 jlink 构建自定义JRE镜像,第二阶段用于将应用打包在一个精简Alpine镜像中。...目前镜像大小依然较大,这是因为在 jlink 命令中使用 --add-modules ALL-MODULE-PATH 时,我们包含了运行应用程序所需所有模块,但我们并不需要所有模块。

4510
  • Jpackage-制作无需预装Java环境Jar可执行程序

    JAR 包要在预装 JRE 环境系统上执行。如果没有预先安装 JRE 环境,又想直接运行 Java 程序,该怎么办呢?...jpackage 命令 jpackage 命令是从 Java 14 开始提供,可以帮助我们为模块化或非模块化 Java 应用程序生成指定系统平台可执行程序,而不用预先安装 JRE 环境。...如何做到呢? 我们知道 Java 程序必须在 JRE环境才能运行, jpackage 其实是把 JRE 和 JAR 文件以及所有必要依赖项一起打包生成指定平台可执行程序。...例如 Windows 上 exe 或 macOS 上 dmg。每种格式都必须构建在其运行平台上,没有跨平台支持。工具还提供了常见自定义操作,如应用名,应用图标等。...接着,介绍了 jpackage 工具(从 Java 14 版本开始提供),该工具可以打包 JAR 文件和必要 JRE 环境,生成适用于 Windows、Linux、MacOS 可执行程序,使得 Java

    55810

    深度解析Java 9核心新特性

    避免对文章进行过度解读,因为每个人知识结构和认知背景都不同,没有一种通用解决方案。 对于文章观点,不必急于评判。融入其中,审视自我,尝试从旁观者角度认清我们成长阶段。...} } 9. jlink工具(JEP 282) jlink是一个新命令行工具,它允许开发者创建一个轻量级、针对特定应用程序Java运行时映像。...通过指定所需模块和依赖关系,jlink可以生成一个包含最小运行时环境映像,这有助于减小应用程序部署大小并提高其启动速度。这对于构建微服务、容器化应用程序或嵌入式系统特别有用。...jlink主要通过命令行使用,用于创建一个自定义Java运行时映像: jlink --module-path /path/to/jmods --add-modules java.se --output...custom-jre 这条命令会创建一个包含Java SE模块自定义JRE到custom-jre目录。

    17200

    Java9新特性——module模块系统

    模块整理工具,用于将一系列模块聚合、优化,打包到一个自定义镜像中。...这时输出jre就是一个完整可用jre,他和原生jdk大小相差很大: $ du -sh $JAVA_HOME jre 493M /Library/Java/JavaVirtualMachines/.../jre/bin/java -m hello Hello java9 modular. jlink还提供了一个launcher开关,可以将我们模块编译成和java命令一样可执行文件,放在 jre/...jlink开关很多,功能不仅于此,如下可以将已经很小jre继续压缩: $ jlink -p $JAVA_HOME/jmods:jmods --add-modules java.base,hello...模块应用场景 首先,最突出用法,就是使用jlink打包自定义镜像,分发到小计算单元中运行,如docker,嵌入式设备。 其次,将来必定会有越来越多容器来支持直接运行模块。

    3.1K20

    Java平台,标准版Oracle JDK 9中新功能

    只包含一组指定模块及其所需模块自定义配置。 重新组织JDK和JRE运行时映像以适应模块,并提高性能,安全性和可维护性。...JEP 282:jlink:Java连接器 组合并优化一组模块及其依赖关系到自定义运行时映像,如JEP 220中定义。...该jlink工具在组装过程中定义了用于转换和优化插件机制,以及用于生成替代映像格式。它可以创建为单个程序优化自定义运行时。JEP 261将链接时间定义为在编译时间和运行时间之间可选阶段。...在此版本之前,在Windows和Linux上,Java应用程序基于像素进行了大小和渲染,即使在可以具有传统显示器二至三倍像素密度HiDPI显示器上也是如此。...此系统属性值可能为2,2.2或3.您必须在应用程序加载GTK +之前设置此属性,并且不得与较早另一个工具包加载GTK +版本冲突。 显示自定义关于和首选项窗口。

    1.6K70

    做了个Java打包工具,可以双击启动了!

    但是用Swing开发软件相比C/C++一个很大劣势就是,Java打包出来文件不能直接运行,需要使用JRE(Java runtime environment)才能运行,如果使用软件的人没有JRE,也不能运行软件...当前Java程序打包分发几种方案:使用当下最火GraalVM,将Jar包编译成二进制可执行文件。使用JLink打包,将jar包编译成二进制可执行文件。...使用Exe4J生成启动器,然后使用压缩软件制作自解压压缩包。编写批处理,然后再用压缩软件制作自解压压缩包。仅分发Jar包,让使用者安装JRE,然后使用命令启动Jar包。...以上方案都有不同优缺点:技术方案优点缺点GraalVM性能提升,减少资源损耗,安全性高构建耗时,调试困难,不好支持反射Jlink二进制文件,比携带环境更轻量级构建复杂,调试困难,体积大Exe4J降低使用门槛...,有更好体验,便于调试体积大,需要JRE运行1,不适合做小工具批处理降低使用门槛,配置灵活,易于更新,便于调试体积大,需要JRE运行,不适合做小工具仅Jar包分发文件小,容易更新没有JRE电脑上不能运行

    17510

    Java 答疑:JDK 11(Java 11)之后没有 JRE 目录,环境用户变量配置解决方法

    前言 我们之前 JDK 1.8 版本乃至以下版本压缩包下载解压后直接运行会生成 JDK、JRE 两个目录文件,但从 Java 11 之后,只有 JDK 目录文件生成,没有单独 JRE 目录文件,...这时有需要同学就可以通过命令行方式手动生成 JRE。...PATH 变量指向 JDK bin 目录。 如果切实需要 JRE 同学或者是了解如何生成 JRE 目录同学可以参考本文内容。...安装目录,执行如下命令: bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre 具体如下图所示: 这时我们可以看到...查看本地安装 Java 版本如下图所示: ---- 总结 本文给大家介绍了如何在 JDK 13 等高版本 JDK 中生成 JRE

    3.4K20

    「Spring」Boot Docker 认证指南(上)

    具有一些但不是全部特性bash。...jrejdk另一个可以让您获得更小映像技巧是使用JLink,它与 OpenJDK 11 捆绑在一起。...JLink 允许您从完整 JDK 中模块子集构建自定义 JRE 分发,因此您不需要 JRE 或 JDK基础图像。原则上,这将使您获得比使用openjdk官方 docker 图像更小总图像大小。...此外,您自己基本映像中自定义 JRE 不能在其他应用程序之间共享,因为它们需要不同自定义。...因此,您所有应用程序可能都有较小图像,但它们仍然需要更长时间才能启动,因为它们没有从缓存 JRE 层中受益。最后一点突出了图像构建者一个非常重要问题:目标不一定总是尽可能地构建最小图像。

    1.4K20

    JDK11下载安装、JRE生成、环境配置

    二、安装 三、生成JRE 1、安装目录 找到jdk安装目录 2、jdk11安装目录里面我们可以看到是没有jre,但是我们在之后可能是会需要用到Jre。所以需要使用命令来生成jre目录。...在Jdk目录下打开cmd模式 执行命令: bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre 执行完后...,这一点是和Jdk8是不一样,大家请注意,之前我也是按照配置jdk8方式写,看到成功了就没在意了。...%\bin;%JAVA_HOME%\jre\bin 五、测试 在cmd命令模式下输入 java 、javac、java -version 三个命令 均可正常反馈,就证明是配置成功啦。...六、自言自语 电脑出现问题,将系统重置了,不过也趁着这次事故,将所有要装软件教程都出上一遍。感觉这周又可以冲一次勤写标兵啦。 也是锻炼自己吧。突然感觉这个事故,也没有那么让人烦啦。

    3.7K10

    jdk16下载与安装教程win10(如何安装window7系统)

    大家好,又见面了,我是你们朋友全栈君。...简介 在JDK1.8之后下一个稳定版本就是JDK11,所以下面教大家安装JDK11 第一步:下载 拉至页面到底部,选择如下版本下载,然后它可能要Oracle帐号才能下载,这时百度 Oracle帐号 ,...control命令,这一步目的是打开控制面板(怕有的小朋友不知道环境变量在哪改才写生成jre文件 11之后jdk下没有jre文件,但是我们可以自动生成,这里用找到CMD后,...进入你jdk安装目录,然后执行以下命令生成jre文件 bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre...(多说一句,我是因为安了几个版本jdk,所以要到安装目录下bin下执行java -version才能看到最新11版本,要不然还是1.8) 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn

    52120

    JAVAFX(一) java Module 模块化简介

    这样使用者就不需要再单独安装jdk/jre了, 加上java9之后javamodule化, 可以最大程度上精简jre, 虽然是精简了,但实际上,大家可以看到, 每次我在群里面发包,还是接近100MB...踩想砸电脑.....) java Module 模块化和非模块化区别,在代码体现上就是module-info.java区别 ?...,然后可以对应实例化,或者调用实例中方法 Jlink 在java 模块化中, jlink命令是核心,其作用就是把jdk中我们需要模块抽出来, 把我们自己引入模块给打包一起,然后生成一个image(可运行镜像...我们只需要知道这个命令作用即可,生成之后文件如下: ?...jlink作用,我们可以用上图表示, 把项目的requires打包到lib中modules中, 把jdk中相关命令打包到 image文件夹中.

    2.4K10

    【极光系列】windows安装JDK11详细教程

    01 本地开发安装JDK11 1.下载jdk11版本包 tips:下载地址https://repo.huaweicloud.com/java/jdk/ 2.安装jdk11服务 双击解压后jdkexe运行文件...3.路径选择 tips:一般不安装在C盘,修改路径,接着直接next #使用管理员身份打开cmd命令,进入刚才安装jdk目录 E: cd E:\java_11\ #生成jre目录文件 bin\jlink.exe...--module-path jmods --add-modules java.desktop --output jre 4.设置环境变量 此电脑–属性–高级系统设置–环境变量–找到系统变量path–选择新建...–把jdk与jre目录均加上 5.多版本JDK共存 进入oracle目录,如我是C:\ProgramData\Oracle\Java\javapath,删除该目录下所有 java.exe,javaw.exe...文件,后续就会按照环境变量顺序默认选择jdk11,如果想切换回jdk8,只需要把jdk8环境变量移动到jdk11环境变量之前即可 6.验证安装成功与否 打开cmd命令行,执行java -version

    89510

    搭建 sonarqube 代码质量扫描环境

    从包含@layer行到包含@endlayer行之间所有代码不进行扫描,对于一些误检或者我们不想改变代码,可以自定义两个标记把他们包含起来,这样这些代码就不会参与扫描了 在指定文件中不检查某些规则...安装 jre 运行环境 下载 JDK java 11 以后没有单独jre安装包,需要安装jdk,然后通过命令生成 https://www.oracle.com/java/technologies/downloads.../ 安装 JDK 生成 Jre 目录 进入JDK安装目录C:\Program Files\Java\jdk-17.0.2,执行以下命令 bin\jlink.exe --module-path jmods...--add-modules java.desktop --output jre 生成 Jre 目录在 C:\Program Files\Java\jdk-17.0.2\jre 安装 sonarlint...:node可执行文件路径配置 在我们开发过程当中,推荐大家使用各种代码检查工具,对代码质量进行管理,这样可以帮我们避免很多低级或者不合理异常,尤其是对于经常出错同学,这是一个养成良好代码书写习惯很好方式

    2.1K50

    Dockerfile 之最小化 Java 镜像常用技巧

    本文将介绍精简容器镜像必要性并以基于 spring boot java 应用为例描述最小化容器镜像常用技巧。...通过这种方式优化后镜像大小为 459MB。 使用 distroless 作为基础镜像 虽然通过多阶段构建能减小最终生成镜像大小,但 459MB 体积仍相对过大。...使用 alpine 作为基础镜像 如果您确实有 attach 容器需求,又希望最小化镜像大小,可以选用 alpine 作为基础镜像。...将稳定且体积较大内容置于镜像下层,将变动频繁且体积较小内容置于镜像上层。虽然该方式无法直接精简镜像体积,但充分利用了镜像缓存机制,同样可以达到加快镜像构建和容器部署目的。...对于类似 distroless 这样无法 attach 或者不方便 attach 容器,建议您将它们日志中心化存储,以便问题追踪和排查。

    5.9K40
    领券