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 #! 這是什麼鬼?這也是 JEP 330
裏面的相關技術,它能支持在 UNIX 系統腳本中運行 Java 程序,如如下代碼所示。教程
#!/path/to/java --source version
Oracle JEP 330
這個特性只是爲了爲了編譯和運行小型的 Java 應用程序而提供的,而不是使用 Java 變成成能通用性語言。這個特性評審時就飽受爭議,但最終達成共識確認會被加入到 Java 11 新版本當中。開發
參考資料:https://securityonline.info/jdk-11-will-introduce-shebang-symbol/get
推薦:Spring Boot & Cloud 最強技術教程it
掃描關注咱們的微信公衆號,乾貨天天更新。io