1. 程式人生 > >java的平臺無關性,Eclipse,JDK,JRE,JVM

java的平臺無關性,Eclipse,JDK,JRE,JVM

一.java的平臺無關性

1.關於平臺 平臺=作業系統+cpu 用不同的語言編寫好的程式經過編譯連結後生成了可執行檔案,平臺來識別可執行檔案完成執行 !!不同的平臺可識別的機器指令不同!! 2.為什麼說是與平臺無關 ①c++:針對不同的平臺!!針對平臺編譯連結生成不同的機器指令(原始碼—針對平臺—>機器碼) ②java:編譯器不針對平臺進行編譯!!是針對虛擬機器編譯生成位元組碼,然後虛擬機器(直譯器起作用)再根據不同的平臺生成不同的機器程式碼(原始碼—針對虛擬機器—>位元組碼—虛擬機器—>機器程式碼)

所以說,java是與平臺無關的他的虛擬機器會依附平臺生成不一樣的機器指令大家就都可以用了

二.JDK,JRE,JVM,Eclipse

jdk:開發環境 jre:執行環境; jvm:虛擬機器(含有直譯器,與直譯器相互作用)

1.三者作用: ①jvm:將位元組碼根據不同的平臺轉化為不同機器碼 jvm中有直譯器,jvm操作著java直譯器解釋.class檔案。 執行程式:通知作業系統執行程式,直譯器解釋一句,立刻執行一句。

②jre:執行java程式(以編譯生成了.class檔案)

③jdk:包含jre,含有javac.exe(編譯器),用來生成.class檔案,再用jre執行程式。

2.三者關係: jre包含在jdk中,jdk=jre+編譯器+偵錯程式 jvm包含在jre中 jvm->jre->jdk 如果只是執行程式,只需要下載即可;還要編寫程式就要下載jdk.

3.Elipse 我們可以在記事本上直接編寫原始碼,然後用javac.exe編譯生成.class檔案 Elipse相當於一個超級記事本,有很多附加功能,可以檢查你寫的程式碼是否正確。如果在記事本上寫java原始碼,需要自己手動呼叫編譯器,而這個超級記事本可以自動呼叫編譯器生成.class檔案。

如果下載的Elipse不自帶jdk,需要下載jdk才能使用,畢竟Elipse說白了只是用來編寫程式碼,再檢查一下寫的程式碼是否有錯誤,編譯執行還是要靠jdk的。