![java安装](https://img-blog.csdnimg.cn/img_convert/39f44e390e7f4db53da775df3a343265.png)
java安装
为什么我不能仅构建一个.EXE?
首次引入Java时,主流编程语言大多要么编译成独立的可执行文件(例如C / C ++,COBOL),要么在解释器中运行(例如Perl,Tcl)。 对于许多程序员而言,Java对字节码编译器和运行时解释器的需求是思想上的转变。 编译模型使Java比“脚本”语言更适合于业务编程。 然而,运行时模型要求在每台目标计算机上部署合适的JVM并使其可用。
人们对此有些生气(至少我记得这样做!)。 早期的Web论坛以及后来的StackOverflow问题都吸引了很多开发人员,他们在寻找将Java应用程序作为“本地”可执行文件发布的方法。 为了避免在部署之前在目标计算机上安装Java运行时。
几乎从一开始就有解决方案。 Excelsior JET是一种提前(AOT)Java编译器,可提供或多或少的C ++样式体验。 但是,由于许可成本高达数千美元,所以它一直是一个小众选择。 在免费啤酒方面,有Launch4j和JDK 8的javapackager工具。
这些使您可以将Java Runtime Environment与启动程序可执行文件捆绑在一起,以使用该JRE启动应用程序。 但是,嵌入JRE大约会增加200兆字节。 由于技术原因以及棘手的许可问题,很难对此进行缩减。
Java 9来了
Java 9中最广为人知的新功能是新的模块化系统,称为Project Jigsaw 。 如果没有完整的书籍,则此内容的全部范围也适用于许多博客文章。 简而言之,新的模块系统是关于隔离代码块及其依赖性的。
这不仅适用于外部库,甚至适用于Java标准库本身。 这意味着您的应用程序可以声明它真正需要的标准库的哪些部分,并可能排除所有其他部