1. 程式人生 > >JAVA基礎之認識JAVA

JAVA基礎之認識JAVA

自己已經學過java基礎了,現在想好好的總結一下。

一、JDK 
JDK(Java Development Kit) 是整個JAVA的核心,包括了Java執行環境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基礎的類庫(即Java API 包括rt.jar)。 
JDK是java開發工具包,基本上每個學java的人都會先在機器 上裝一個JDK,那他都包含哪幾部分呢?在目錄下面有 六個資料夾、一個src類庫原始碼壓縮包、和其他幾個宣告檔案。其中,真正在執行java時起作用的 是以下四個資料夾:bin、include、lib、 jre。有這樣一個關係,JDK包含JRE,而JRE包 含JVM。 
bin:最主要的是編譯器(javac.exe) 
include:java和JVM互動用的標頭檔案 
lib:類庫 
jre:java執行環境 
(注意:這裡的bin、lib資料夾和jre裡的bin、lib是 不同的) 
3. 總的來說JDK是用於java程式的開發,而jre則是隻能執行class而沒有編譯的功能。

二、JRE 
JRE(Java Runtime Environment,Java執行環境),包含JVM標準實現及Java核心類庫。JRE是Java執行環境,並不是一個開發環境,所以沒有包含任何開發工具(如編譯器和偵錯程式) 
JRE是指java執行環境。光有JVM還不能成class的 執行,因為在解釋class的時候JVM需要呼叫解釋所需要的類庫lib。 (jre裡有執行.class的java.exe) 
JRE ( Java Runtime Environment ),是執行 Java 程式必不可少的(除非用其他一些編譯環境編譯成.exe可執行檔案……),JRE的 地位就象一臺PC機一樣,我們寫好的Win64應用程式需要作業系統幫 我們執行,同樣的,我們編寫的Java程式也必須要JRE才能執行。

三、JVM 
JVM(Java Virtual Machine),即java虛擬機器, java執行時的環境,JVM是一種用於計算裝置的規範,它是一個虛構出來的計算機,是通過在實際的計算機上模擬模擬各種計算機功能來實現的。針對java使用者,也就是擁有可執行的.class檔案包(jar或者war)的使用者。裡面主要包含了jvm和java執行時基本類庫(rt.jar)。rt.jar可以簡單粗暴地理解為:它就是java原始碼編譯成的jar包。Java虛擬機器在執行位元組碼時,把位元組碼解釋成具體平臺上的機器指令執行。這就是Java的能夠“一次編譯,到處執行”的原因。

四、JDK、JRE、JVM三者的聯絡與區別 
1.三者聯絡:JVM不能單獨搞定class的執行,解釋class的時候JVM需要呼叫解釋所需要的類庫lib。在JDK下面的的jre目錄裡面有兩個資料夾bin和lib,在這裡可以認為bin裡的就是jvm,lib中則是jvm工作所需要的類庫,而jvm和 lib和起來就稱為jre。JVM+Lib=JRE。總體來說就是,我們利用JDK(呼叫JAVA API)開發了屬於我們自己的JAVA程式後,通過JDK中的編譯程式(javac)將我們的文字java檔案編譯成JAVA位元組碼,在JRE上執行這些JAVA位元組碼,JVM解析這些位元組碼,對映到CPU指令集或OS的系統呼叫。

2.三者區別: 
a.JDK和JRE區別:在bin資料夾下會發現,JDK有javac.exe而JRE裡面沒有,javac指令是用來將java檔案編譯成class檔案的,這是開發者需要的,而使用者(只需要執行的人)是不需要的。JDK還有jar.exe, javadoc.exe等等用於開發的可執行指令檔案。這也證實了一個是開發環境,一個是執行環境。 
b.JRE和JVM區別:JVM並不代表就可以執行class了,JVM執行.class還需要JRE下的lib類庫的支援,尤其是rt.jar。

下篇介紹類,物件,以及類與類之間的關係。

https://blog.csdn.net/sunshunli/article/details/84316238