尘埃落定,JDK 11 确定将引入 Shebang #! 符号

Posted ImportNew

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了尘埃落定,JDK 11 确定将引入 Shebang #! 符号相关的知识,希望对你有一定的参考价值。


来源:王练 ,

www.oschina.net/news/96735/jdk11-supoport-shebang


按计划,JDK 11 将于 9 月发布。随着时间的临近,越来越多的 JEP 正被不断被添加至 JDK 11 的开发列表中。


2017 年 12 月 1 日,来自 Oracle 的开发者 Jonathan Gibbons 创建了 JEP 330 草案,名为 “Launch Single-File Source-Code Programs”,主要是改进 Java Launcher 以支持一个命令执行单个 Java 源代码文件。换句话说,在条件满足的情况下,可以简单地直接编译并运行单文件程序,而不再需要调用 javac ,也不需要打包 jar 文件。


比如说,可直接运行:


java HelloWorld.java


而不再需要:


javac -d <memory> HelloWorld.java

java -cp <memory> hello.World


此外,JEP 330 还引入了通常在 Unix 系统脚本中使用的 Shebang 和相关技术,将支持使用该机制来执行 Java 程序,例如:


#!/path/to/java --source version


在描述中,Jonathan Gibbons 表示该 JEP 的目标不是为了改变 Java 语言规范(JLS)或 javac 来接纳 shebang,也不是为了将 Java 语言演变为通用脚本语言。而是为了更纯粹的编译小型程序,降低开销。



2018 年 5 月 17 日-24 日,JEP 330 草案在邮件列表中发起评审,由于观点存在分歧,讨论较为激烈,导致延长一周的评审时间一直到 5 月 31 日。6 月 1 日,Java 首席架构师 Mark Reinhold 表示虽然不是每个提交者都对这个 JEP 完全满意,但大家基本已达成共识,JEP 330 将被正式添加至 JDK 11 中。


At this point not every Committer is completely happy with this JEP, but it appears to me that Jon has satisfactorily addressed the issues raised thus far and updated the JEP accordingly.  I’ve therefore targeted this JEP to JDK 11.


- Mark


看完本文有收获?请转发分享给更多人

关注「ImportNew」,提升Java技能

以上是关于尘埃落定,JDK 11 确定将引入 Shebang #! 符号的主要内容,如果未能解决你的问题,请参考以下文章

在 Linux 和 BSD 中使用和不使用 shebang 执行 Bash 脚本

JDK 11 将引入低延迟 GC,大幅度缩短 GC 暂停时长

Shebang Notation:Windows 和 Linux 上的 Python 脚本?

AMD 授权,中国开始生产自主设计 x86 CPU;JDK 11 将引入低延迟 GC

22岁大学生获谷歌天价offer,年薪千万!JDK 11将引入低延迟GC;三星AI实力强大

Python shebang线[重复]