您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Java基本概念有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
JDK包含了不少Java開發相關命令。如,javac、java、javap、javaw、javadoc。雖然現在的Java開發都使用IDE完成,基本上不會直接使用這些命令。但是理解這些命令的用法,可以讓我們更加扎實的掌握java編譯、運行等的基本概念。
在講解Java命令之前,我們先了解一些基本概念,可以幫助我們更加深刻的所要講解的Java命令。
Java Runtime Environment。故名思意,包含了運行Java程序所需的環境,比如Java虛擬機、相關的類庫等相關資源。**你可以將JRE理解成一個運行在操作系統上的程序,該程序可以用來運行Java程序。**這個程序只用來運行運行Java程序,但并不包含Java開發的工具。因此,對于開發人員,只有JRE是不夠。對于需要運行的Java程序的普通用戶,只需要正確版本的JRE就可以運行Java程序了。
注意:每個操作系統上的JRE程序都是不一樣的,比如Windows與Linux上的JRE就不一樣。你可以將不一樣,理解成他們的代碼不同。因此你在下載時,會發現不同操作操作系統會有不同的JRE,即使是同一個操作系統,32位與64位的JRE也不一樣。
Java Development Kit。包含了Java開發的工具,比如javac、javap命令、java源代碼等。對于開發人員,需要下載這個才能開發Java程序。
JDK 8及之前,安裝JDK的時候除了安裝JDK還會安裝一個獨立的JRE,因此你在安裝的時候,會發現要安裝兩個東西。這個JRE,可以運行兼容版本的Java程序。換句話說,對于所有Java程序,某個JRE是完全一樣的,不能單獨定制。注意:安裝JDK 8實際上安裝了兩個JRE。一個安裝在JDK目錄的jre目錄中,另一個安裝在你指定的其他目錄。
JDK 11及之后,不包含另一個獨立的JRE。JDK本身已經包含了Java的運行時環境,不過這個運行時環境剝離了一些東西,比如默認不包含的Java Swing。Java 11使用了jigsaw模塊化系統,你可以為java程序創建一個更小的適合該程序的JRE。比如,你的Java程序不包含Java Swing代碼,你可以使用jlink為你的程序定制一個更小的專屬于你的程序的JRE。
結論:
1.JDK 11后,你不需要安裝獨立的JRE,因為其已經包含了。
2.JDK 11引入了模塊化系統,你可以為自己的程序定制JRE。
.java文件(后綴名為java,如Hello.java),包含Java源代碼。本質上是一個文本文件,可通過文本編輯器編輯,不能直接運行。
.class文件(如Hello.class),.java文件經過javac命令編譯得到.class文件。是一個二進制文件,包含了Java虛擬機才看得懂的字節碼命令。
Java Virtual Machine,簡稱JVM。通常來說JRE都要包含JVM。JVM是字節碼文件運行的環境,可以加載與運行Java類。你的.class實際上是跑在JVM上,而JVM則是一個獨立的程序,運行在操作系統上。每個操作系統上JVM的程序都不一樣。但他們有一個共同之處,就是都可以運行你的.class文件。
什么是跨平臺運行呢?
就是你編寫好的.java源代碼編譯為.class字節碼文件后,那么任何兼容該.class文件的JRE中的JVM都可以運行該字節碼文件。而無需考慮這個JRE到底是Linux下的,還是Windows下。簡單地說,你在Windows下編譯好的.class文件,拿到Linux下,只要JRE版本正確,就可以運行。注意:這里的兼容指的是,Java版本的向下兼容。比如,你在Java 8下編譯的字節碼文件,理論上來說Java 11是可以直接運行的。反之則不行。
相比較于C或C++語言,你在Windows下使用gcc工具編譯、鏈接成可執行程序.exe。這個可執行程序,在Linux下是無法執行的。
為什么可以跨平臺呢?
關鍵在于JVM。.class字節碼文件是結構中立的。所謂的結構中立指的是.class文件包含的面向JVM的字節碼命令,而不是面對某個操作系統的機器碼。你在哪個操作系統上對某個.java文件進行編譯生成的.class文件都是一樣的(只要Java版本相同)。因此,不管你是Linux上的JVM還是Windows上的JVM,都可以運行這些.class文件中字節碼指令。見下圖。
注意:字節碼不是機器碼,因此不能直接在操作系統上直接運行。只能先運行JVM,才能運行字節碼文件。這也就是早期Java程序慢的一個原因。
JDK包含了JRE與Java開發工具(如javac,java,jar, jlink等命令)。
JRE包含了JVM、Java類庫與一些資源文件。
1.Java程序的開發運行流程
編寫.java文件—經過javac編譯—>.class文件—使用java命令載入—>載入到JVM運行。
如下圖所示。
2.運行JAVA程序必須先運行JRE中的JVM。
3.Java程序是跨平臺的。編譯好的.class文件可以在不同操作系統上兼容的Java上運行。
4.Java 11及以后支持模塊化系統jigsaw。因此可為自己的Java程序定制化JRE。不過初學者,暫時不用考慮這些,直接使用默認的JRE即可。但碰到問題時(如要編寫Java Swing程序,卻提示錯誤),要了解問題可能產生的原因。
感謝各位的閱讀!關于“Java基本概念有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。