首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用JLINK

如何使用JLINK
EN

Stack Overflow用户
提问于 2020-04-15 08:29:18
回答 1查看 554关注 0票数 2

我们正在研究如何升级到Java 9,一个新的特性是JLINK生成我们自己的JRE,这与我们的应用程序非常匹配。

我对此有一些天真的疑问:

  • ,在这种情况下,我们应该这么做吗?我理解微型服务的好处,但是如果一个网络application?
  • are大公司真的在使用它,或者他们主要使用的是JDK?
  • ,如何维护JLINK呢?如果better/easier?

与我们的应用程序兼容的话,我们是否应该在每个新的Java发行版(以及对于Docker映像.)重新构建

  • ,这不是总是graalVM吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-21 15:57:35

jlink的目的是使Java应用程序可以轻松地移植到其他机器上,而不需要安装JVM。您没有发送jars并使用本地java命令运行jars(这可能与程序编译时使用的Java版本不匹配),而是将应用程序作为一个独立包含的映像发布,该映像不仅包括您的代码,而且还包括JVM的代码(以及运行应用程序所需的部分)。

压缩后,一个典型的、不太大的jlink应用程序将只有大约50 is (同样,这包括JVM)。

现在,关于你们的问题:

--在这种情况下,我们应该这样做?

如果您不希望在预安装应用程序的地方预先安装兼容的JVM,并且您也不会从发布尽可能小的应用程序(这将仅仅是应用程序包含的一组jars )中获得什么好处,那么就不会有什么好处。

是真正使用它的大公司,还是主要使用通常的JDK?

我不能肯定地回答这个问题,但由于jlink是一个相对较新的工具,我不希望很多大公司已经在使用它。

这将随着时间的推移而改变,因为jlink可以帮助您,正如您所提到的,使非常流行的Java微服务更易于部署。

如何维护JLINK?我们是否应该在每个新的Java版本(对于Docker映像也是如此)重新构建它.

您只需选择使用哪个JDK编译您的应用程序,jlink (它是JDK的一部分)将为您构建它。要升级您交付的JVM,只需升级用于构建的JDK。

我建议经常升级它,因为JDK通常每个季度都会提供大量的安全修复。

如果graalVM与我们的应用程序兼容,那么它不是总是更好/更容易吗?

使用GraalVM或其他JDK发行版的选择似乎与使用jlink是正交的,除非您的意思是使用GraalVM而不是jlink映像构建本地映像?在这种情况下,我想说jlink在这个阶段更可靠:如果您使用jlink构建应用程序,一切都将如出一辙,而GraalVM的本机映像仍然是相当试验性的,许多普通的Java应用程序将无法处理我到目前为止所做的一些小实验中的本地映像,而无需付出很大的努力.如果您的应用程序使用本机映像,那么它确实有一些好处,比如图像大小和内存消耗都更小,启动速度更快.但是在JVM温暖之后,它的峰值性能可能会更低,因为它不能像一个完整的JVM那样执行JIT。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61224447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档