Java 11即将发布的功能–启动单文件源程序
Java 11即將完成,并且進入了下降階段 。 好像在幾周前就發(fā)布了Java 9,而在這里,距離發(fā)布Java 11不到幾個月。 鑒于Java的新發(fā)行過程和時間表,這將變得司空見慣。 不管那是好事,我們都將其擱置一旁。
這里列出了Java 11中的更改??。 這些是此版本中的一些不錯的增強功能。 我非常興奮的其中兩個是:
– HTTP客戶端(標準) http://openjdk.java.net/jeps/321 ,它將HTTP客戶端API作為Java語言的一部分引入。
–啟動單文件源代碼程序http://openjdk.java.net/jeps/330
在本文中,我將介紹“啟動單文件源代碼程序”功能。 此增強功能旨在實現(xiàn)的目的是使運行包含單個文件的Java代碼變得容易,該文件中包含“ main()”方法。
假設(shè)您在org / myapp目錄下的HelloWorld.java文件中有一個簡單的HelloWorld程序,如下所示:
package org.myapp;public class HelloWorld {public static void main(String[] args) throws Exception {System.out.println("Hello World!");} }現(xiàn)在,沒有建議的功能,為了運行該程序,用戶必須首先使用javac命令對其進行編譯:
javac org/myapp/HelloWorld.java成功編譯后,您可以運行java命令來執(zhí)行程序:
java org.myapp.HelloWorld因此,這是一個兩步過程。 即使對于初學者來說,它看起來也是微不足道的,但是不僅對于初學者,甚至對于經(jīng)常使用Java的開發(fā)人員,它仍然可以變得更加簡單。
Java 11發(fā)布后(或者如果您想立即嘗試,可以從http://jdk.java.net/11/獲取早期訪問版本),我們可以按以下方式運行上述程序(作為單個命令) :
java org/myapp/HelloWorld.java注意這里的區(qū)別:
1.一,我們不再使用javac命令來顯式編譯源代碼
2.現(xiàn)在,將Java命令的路徑傳遞到源文件(org / myapp / HelloWorld.java)的路徑,而不是之前用來傳遞全限定類名的路徑。
這種差異雖然很小,但很重要,因為通過Java命令傳遞的文件名以.java擴展名結(jié)尾的文件路徑后,它現(xiàn)在“了解”它現(xiàn)在必須在內(nèi)部做任何必要的事情(例如編譯源代碼)。 當然,這樣的文件應該包含常規(guī)/有效的Java代碼,并帶有頂級類,該頂級類公開“ public static void main(String [])”方法。
此外,就像常規(guī)Java程序一樣,您可以像以前一樣繼續(xù)將應用程序特定的參數(shù)傳遞給該程序。 例如,對于下面顯示的計算器程序,在org / myapp / Calculator.java文件中:
package org.myapp;public class Calculator {public static void main(final String[] args) throws Exception {final int sum = Integer.parseInt(args[0]) + Integer.parseInt(args[1]);System.out.println(args[0] + " + " + args[1] + " = " + sum);} }您可以按以下方式傳遞程序參數(shù):
java org/myapp/Calculator.java 2 4其中2和4作為程序參數(shù)傳遞,您將看到如下輸出:
2 + 4 = 6此功能還增加了對“ shebang”文件的支持,這些文件應具有有效的Java代碼以及“ shebang”。 就個人而言,我不太喜歡該功能的這一特定方面。 但是,好消息是, JDK團隊從社區(qū)中獲得了反饋,并提出了該功能的這一附加方面,即非侵入性(用于已經(jīng)處理Java源文件的工具/命令),如果我們不這樣做,我們中的一些人可能會忽略這一點。不想使用它。 何時/如何使用“ shebang”文件用于此功能的詳細信息在鏈接的JEP-330中進行了說明 。
到目前為止,盡管Java 11尚未發(fā)布,但我一直在使用早期訪問版本,并在我的一些常規(guī)工作中廣泛使用此功能,有時會涉及到一些簡短的程序來幫助重現(xiàn)問題。 我通常不使用IDE來執(zhí)行此類操作,因此能夠?qū)Υ祟愇募l(fā)出單個命令并執(zhí)行它們是一個值得歡迎的增強功能。
翻譯自: https://www.javacodegeeks.com/2018/07/java-11-upcoming-features.html
總結(jié)
以上是生活随笔為你收集整理的Java 11即将发布的功能–启动单文件源程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机编程入门先学什么最好如何学习电脑编
- 下一篇: 曝华为L2HC 3.0蓝牙协议即将公布!