尘埃落定,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 语言演变为通用脚本语言。而是为了更纯粹的编译小型程序,降低开销。
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
本文来自云栖社区合作伙伴“开源中国”
本文作者:王练
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
小型系统如何“微服务”开发
提到“微服务”,我相信网上各种“微服务”的演变案例都会给人一种“因大而分”的前提错觉,这可能会导致许多的“小白”产生没有机会接触“大项目”而对“微服务”可望而不可及也。当然,这种错觉的产生可能更多来源自于各种“微技术”的“层出不穷”所以“眼花缭乱”,例如Spring Cloud。虽然“大项目”机会不多,但也阻止不了“钉子们”通过教程把微技术跑一遍来装饰自己可以“微”起来的自信。 “微”只是一种正常思维逻辑 想当年,入行如赶集,同样作为小白,能把SSH框架跑一遍竟然能给自己带来无比强大的工作自信。谁没个“资本”年龄,只可惜自身的“浮躁”逼退了当年追求“本质”的淡定和沉稳。在网互联网崭露头角的年代,系统的焦点可能不在于“单体”应用的“横向分布”,更多在于对整体业务的“竖向分层”。无论横分还是竖分,“分”的本质其实就是因为“重”。“分而治之”应该算是人类最基本的思维逻辑。只不过“分”的具体实现还得归咎于站在我们对立面的是什么问题。 互联网是把“业务”从线下往线上迁移的主要推力,在这个互联网初始发展阶段,需要体现的可能是线上业务的完整性,因此业务的厚度成为了瓶颈,所以对业务逻辑层次的垂直划分可...
- 下一篇
10月17日云栖精选夜读 | 1024 快到了,你想要怎么过?
夏日渐远,秋风飒爽,又一年寒冬将要临近。在广阔无垠的水蓝色星球上生活着一群可爱的工程师,他们也将迎来属于自己的节日:1024程序员日。 没错,10月24日,属于程序员们的共同节日,以此向改变世界、固执地坚持对于知识、技术和创新不断追求的技术人表示致敬。 热点热议 1024 快到了,你想要怎么过? 作者:技术小能手 发表在:阿里技术 逆天!波士顿动力再出视频,机器狗大跳火星哥热舞 作者:技术小能手发表在:新智元 提起几大编程语言的创造者,你脑中浮现的是什么? 作者:技术小能手发表在:开源中国 知识整理 Java内存模型及GC原理 作者:技术小能手发表在:Java程序员联盟 示例解读 Python 2 和 Python 3 之间的主要差异 作者:技术小能手发表在:开源中国 深度学习第20讲:CNN经典论文研读之GoogLeNet Inception网络 作者:技术小能手发表在:Python爱好者社区 解耦重构 Internet BGP SDN 作者:技术小能手发表在:SDNLAB 教程 | 手把手教你在本地构建Nervos AppChain全家桶 作者:技术小能手发表在:数据派THU 美文...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Red5直播服务器,属于Java语言的直播服务器
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装