Java 11 快要來了,編譯 & 運行一個命令搞定!

Java 11 立刻要來了,原定於 9 月發佈,還有不到 3 個月了,敬請期待更多新功能被加入到 11 當中,本文本講的是 JEP 330 這個新特性。java

化繁爲簡,一個命令編譯運行源代碼

看下面的代碼。微信

// 編譯
javac Javastack.java

// 運行
java Javastack

在咱們的認知裏面,要運行一個 Java 源代碼必須先編譯,再運行,兩步執行動做。而在將來的 Java 11 版本中,經過一個 java 命令就直接搞定了,如如下所示。工具

java Javastack.java

然而,這也並無什麼卵用。咱們大部分開發工做都在 IDE 工具中,全部的編譯運行過程都由 IDE 完成的,真正用到命令行來編譯、運行的場景真的很是少。固然,若是你是記事本大神,請收下這個功能。命令行

從另一面來看,這是否是意味着 javac 要退出歷史舞臺了呢?不會。由於,仍是須要編譯源代碼的命令的,而不是直接運行。code

支持 Shebang #! 符號運行 Java 程序

Shebang #! 這是什麼鬼?這也是 JEP 330 裏面的相關技術,它能支持在 UNIX 系統腳本中運行 Java 程序,如如下代碼所示。教程

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

JEP 330 總結

Oracle JEP 330 這個特性只是爲了爲了編譯和運行小型的 Java 應用程序而提供的,而不是使用 Java 變成成能通用性語言。這個特性評審時就飽受爭議,但最終達成共識確認會被加入到 Java 11 新版本當中。開發

參考資料:https://securityonline.info/jdk-11-will-introduce-shebang-symbol/get

推薦:Spring Boot & Cloud 最強技術教程it

掃描關注咱們的微信公衆號,乾貨天天更新。io

image

相關文章
相關標籤/搜索