久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Java基礎(chǔ)教程(2)--Java開發(fā)環(huán)境

 印度阿三17 2018-10-07

一.JVM,、JRE和JDK的概念

??對于初學(xué)者來說,這三個術(shù)語出現(xiàn)的頻率很高,,而且有關(guān)這它們的問題在面試題中也會經(jīng)常出現(xiàn),。因此,理解它們的定義,、區(qū)別和聯(lián)系就顯得尤為重要,。在學(xué)習(xí)這幾個專業(yè)術(shù)語之前,我們先來了解一下Java代碼的編譯運(yùn)行過程,。
??機(jī)器語言是用二進(jìn)制代碼表示的,,能夠被計算機(jī)直接識別和執(zhí)行的一種機(jī)器指令的集合。也就是說,,通過機(jī)器語言,,我們可以直接操控電腦去做任何我們想要執(zhí)行的操作。但是,,由于機(jī)器語言是用二進(jìn)制表示的,,這就導(dǎo)致了它學(xué)習(xí)成本高、代碼晦澀難懂,、不便于調(diào)試等缺點(diǎn),。試想一下,寫代碼只用0和1,,每個指令都要查手冊,,而且一旦手誤寫錯一個數(shù)字,很難靠肉眼識別出來,,這對于程序員來說,,無疑是一件非常痛苦的事。
??高級語言是以人類的日常語言為基礎(chǔ)的一種編程語言,,使用一般人易于接受的文字來表示(例如漢字,、不規(guī)則英文或其他外語),,它的學(xué)習(xí)成本相對于機(jī)器語言來說大大降低,從而使程序編寫更容易,,亦有較高的可讀性,。編譯器是將高級語言翻譯成機(jī)器語言的軟件,使用高級語言編寫的代碼經(jīng)過編譯器翻譯以后得到電腦可以直接執(zhí)行的機(jī)器語言代碼,,這就相當(dāng)于變相地編寫機(jī)器語言,。電腦領(lǐng)域已經(jīng)發(fā)明了成百上千種編程語言,每種語言都有對應(yīng)的編譯器,。在編寫高級語言之前,,首先要確保電腦上已經(jīng)安裝了對應(yīng)的編譯器。
??高級語言大體上可分為編譯型語言和解釋型語言,。編譯型語言首先將源代碼通過編譯器生成機(jī)器語言代碼,,再由電腦運(yùn)行生成的機(jī)器語言代碼。像C和C 等都是編譯型語言,。解釋型語言不需要事先編譯,,直接將源代碼解釋成機(jī)器語言并立即執(zhí)行,每次執(zhí)行都需要重新翻譯,。像Python和JavaScript等都是解釋型語言,。
??Java語言是一種特殊的存在。Java源代碼(文件后綴名為.java)首先經(jīng)過編譯之后轉(zhuǎn)換為一種稱為Java字節(jié)碼的中間語言(文件后綴名為.class),,再由Java虛擬機(jī)對字節(jié)碼進(jìn)行解釋和執(zhí)行,。如果說它是編譯型語言,它編譯之后得到的并不是機(jī)器語言代碼,,無法直接運(yùn)行,,這與編譯型語言的定義相矛盾;但是如果說他是解釋型語言,,似乎也不太合理,,因?yàn)樗诮忉屩坝幸粋€編譯過程,。因此,,可以說它既是編譯型語言,又是解釋型語言,,也可以說它既不是編譯型語言,,又不是解釋型語言。
??現(xiàn)在回過頭來看JVM,、JRE和JDK的概念,。JVM(Java Virtual Machine,Java虛擬機(jī))是將Java字節(jié)碼解釋給本地系統(tǒng)運(yùn)行的軟件,。JVM是Java實(shí)現(xiàn)其平臺無關(guān)性特點(diǎn)的關(guān)鍵,。Java語言使用JVM屏蔽了與具體平臺相關(guān)的信息,,使得Java語言編譯程序只需生成在Java虛擬機(jī)上運(yùn)行的目標(biāo)代碼(字節(jié)碼),就可以在多種平臺上不加修改地運(yùn)行,。JVM在執(zhí)行字節(jié)碼時,,把字節(jié)碼解釋成具體平臺上的機(jī)器指令執(zhí)行。這就是Java的能夠“一次編譯,,到處運(yùn)行”的原因,。
??但是只有JVM還不能執(zhí)行字節(jié)碼,因?yàn)樵诮忉屪止?jié)碼的時候JVM需要調(diào)用解釋所需要的類庫,。JRE(Java Runtime Environment,,Java運(yùn)行時環(huán)境)是運(yùn)行Java程序所必需的環(huán)境的集合,包含JVM標(biāo)準(zhǔn)實(shí)現(xiàn)及Java核心類庫,。也就是說,,如果要運(yùn)行Java程序,那么電腦上必須安裝JRE,。
??安裝JRE之后,,我們就可以在電腦上運(yùn)行編譯好的Java程序了。這對于Java程序的用戶來說足夠了,,但是如果是Java開發(fā)人員,,那么只安裝JRE將無法進(jìn)行Java開發(fā),因?yàn)闊o法將Java源代碼編譯成字節(jié)碼,。JDK(Java Development Kit,,Java開發(fā)工具包)中包含了編譯Java源代碼的工具javac,提取Java文檔的工具javadoc等工具和JRE,。因此,,安裝JDK以后,我們既可以進(jìn)行Java的開發(fā),,也可以運(yùn)行Java程序,。下面這張圖很好地說明了這三者之間的關(guān)系:

二.安裝JDK

1.下載JDK

??正如上一篇文章中所說,我們選擇安裝JDK11,。這里是它的下載地址,。個人比較喜歡壓縮包的安裝方式,所以這里選擇windows64位的zip文件,。注意要勾選Accept License Aggrement,。

將下載的壓縮包解壓至任何你想要安裝的位置。這里我將解壓出的jdk-11文件夾放在了F盤的env文件夾下,。

2.配置環(huán)境變量

??接下來需要配置環(huán)境變量Path和JAVA_HOME,。首先介紹一下為什么需要配置這兩個環(huán)境變量。Path環(huán)境變量用來指定cmd中可執(zhí)行文件的搜索路徑,。編譯Java源代碼需要使用javac.exe,,運(yùn)行字節(jié)碼需要使用java.exe,,如果沒有配置這兩個可執(zhí)行文件的路徑,那么在cmd中使用這兩個命令時將會出現(xiàn)“xxx不是內(nèi)部或外部命令”的錯誤,。而JAVA_HOME環(huán)境變量則是用來定義JDK的安裝路徑,。在一個環(huán)境變量中可以使用其他環(huán)境變量的值,使用時需要在其他環(huán)境變量前后加%,。例如,,JDK的安裝路徑是F:\env\jdk-11,那么JAVA_HOME也需要配置為F:\env\jdk-11,。javac.exe和java.exe的路徑為F:\env\jdk-11\bin,,那么Path中只需要配置%JAVA_HOME%\bin即可。這樣做的一個好處是,,如果要切換或修改JDK的路徑,,只需要修改JAVA_HOME的值。另外一個需要配置JAVA_HOME的原因是,,許多組件依賴于Java的環(huán)境,,如果不配置JAVA_HOME環(huán)境變量,這些組件將會因?yàn)檎也坏絁ava的安裝路徑而報錯,,例如tomcat,、maven等。
??在許多其他有關(guān)配置JDK環(huán)境變量的教程中都配置了CLASSPATH,,但是從Java1.5開始就可以不配置這個環(huán)境變量了,,而且每篇教程里CLASSPATH的值都不一樣,有配置rt.jar的,,有配置dt.jar的,,也有配置tools.jar的,這對于初學(xué)者來說非常不友好,。這里我們選擇不配置CLASSPATH變量,。
??最后再來介紹一下系統(tǒng)變量和用戶變量。在配置每個環(huán)境變量時,,既可以將其配置在系統(tǒng)變量里,,又可以配置在用戶變量里。但是系統(tǒng)變量對所有用戶都有效,,而用戶變量只對當(dāng)前用戶有效,。并且系統(tǒng)變量的優(yōu)先級高于用戶變量,,也就是說如果一個環(huán)境變量在系統(tǒng)變量和用戶變量中都進(jìn)行了配置,,那么電腦將優(yōu)先使用系統(tǒng)變量。因?yàn)橄到y(tǒng)變量中有許多比較重要的環(huán)境變量,,所以我選擇在用戶變量中配置Path和JAVA_HOME變量,。
??如果是使用IDEA(一個JDK的集成開發(fā)環(huán)境,,下文會講到)進(jìn)行開發(fā)的話,Path變量是沒有必要配置的,,因?yàn)榭梢栽贗DEA中配置Java的安裝路徑,。但是為了演示在cmd中使用javac和java命令,我們將同時配置Path和JAVA_HOME變量,。
??下面是具體的配置步驟:
(1)右鍵我的電腦,,屬性,找到高級系統(tǒng)設(shè)置,;

(2)高級,,環(huán)境變量;

(3)在用戶變量中新建JAVA_HOME變量,,復(fù)制JDK的安裝路徑并粘貼到變量值,,確定;

(4)在用戶變量中編輯Path變量(如果沒有就新建),,填入%JAVA_HOME%\bin,,確定;

??之后一直點(diǎn)擊確定即可退出環(huán)境變量的配置,。至此,,JDK的環(huán)境變量就全部配置完成了。此時可以打開cmd測試一下(如果配置前已經(jīng)打開了cmd,,需要關(guān)閉并重新打開,,因?yàn)榄h(huán)境變量會在下一次打開cmd時才生效)。輸入javac -version和java -version,,看到如下輸出則表示配置成功:

三.第一個Java程序

??下面我們將編寫一個非常簡單的Java程序來體驗(yàn)Java代碼的編寫,、編譯和運(yùn)行。
??首先新建一個文本文檔,,然后編寫以下代碼:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

??保存,,然后將文件名修改為“HelloWorld.java”。打開cmd,,切換到這個文件所在的目錄(我將這個文件放在了F盤的根目錄下),,然后運(yùn)行javac HelloWorld.java進(jìn)行編譯,此時會在目錄中看到生成了一個HelloWorld.class文件,,這個文件就是編譯之后生成的字節(jié)碼,。接著運(yùn)行java HelloWorld(這里不用加.class后綴),命令行將會輸出“Hello,World!”,。

??這里看不懂沒有關(guān)系,,我們會在后面的文章中對每一個語法進(jìn)行介紹。

四.集成開發(fā)環(huán)境

??上一節(jié)中,我們已經(jīng)了解了如何從命令行編譯和運(yùn)行一個Java程序,,這是一個很有用的技能,。但是每次編譯和運(yùn)行都要手動輸入命令則會顯得有點(diǎn)麻煩。集成開發(fā)環(huán)境(Integrated Development Environment,,以下簡稱IDE)集成了這些功能,,在編寫完代碼后只需要點(diǎn)擊運(yùn)行按鈕,IDE將會在后臺自動為我們執(zhí)行這些命令并將輸出顯示在控制臺上,。當(dāng)然,,IDE的功能遠(yuǎn)不止于此,它還提供了調(diào)試,、分析,、自動補(bǔ)全、語法檢測等許多功能,,它使得我們的開發(fā)工作更加輕松高效,。
??Java的IDE有很多,其中最出名的要屬eclipse和Intellij IDEA了,。eclipse是一個開源的,、免費(fèi)的集成開發(fā)環(huán)境。筆者剛開始學(xué)習(xí)Java使用的就是這款I(lǐng)DE,,直到后來遇到了IDEA,。個人更加喜歡IDEA,功能非常強(qiáng)大,,界面也很美觀,。網(wǎng)上有很多人就eclipse和IDEA哪個更好展開了激烈的討論,在我看來這是沒有必要的,。IDE只是一個工具,,每個人選擇自己用著順手的工具就可以了,我們真正關(guān)注的編程語言本身,,而不是使用什么工具并且說服別人一定要去用什么工具,。在后面的教程中我都會使用IDEA進(jìn)行講解。
??IDEA分為社區(qū)版(Community)和旗艦版(Ultimate),,社區(qū)版免費(fèi),,但是相對于旗艦版來說少了很多功能,不過對于Java初學(xué)者來說肯定是夠用了,。旗艦版收費(fèi),,而且非常貴,第一年的價格是499美刀,,之后每年便宜100美刀,,第三年及以后都是299美刀,。學(xué)生黨可以憑借教育網(wǎng)郵箱(后綴為.edu.cn的郵箱)申請免費(fèi)試用。如果不是學(xué)生黨到但是還是想使用旗艦版的話,,這里推薦一個提供免費(fèi)注冊碼的網(wǎng)站,上面有詳細(xì)的教程,。

來源:http://www./content-1-41001.html

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多