尘埃落定,JDK 11 确定将引入 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 语言演变为通用脚本语言。而是为了更纯粹的编译小型程序,降低开销。

215347_kDAl_2896879.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值