⑴ java 語言中IDE,JDK,JRE是什麼,JAR,JAVA,CLASS文件中分別是什麼東西
IDE(Integrated Development,集成開發環境)
集成開發環境(簡稱IDE)軟體是用於程序開發環境的應用程序,一般包括代碼編輯器、編譯器、調試器和圖形用戶界面工具。就是集成了代碼編寫功能、分析功能、編譯功能、debug功能等一體化的開發軟體套。
JDK(Java Development Kit)是Sun Microsystems針對Java開發員的產品。自從Java推出以來,JDK已經成為使用最廣泛的Java SDK。JDK 是整個Java的核心,包括了Java運行環境、Java工具和Java基礎類庫。JDK是學好Java的第一步。
JRE為JavaRuntimeEnvironment的簡稱,JavaRuntimeEnvironment(包括JavaPlug-in)是Sun的產品,包括兩部分:JavaRuntimeEnvironment和JavaPlug-in。JavaRuntimeEnvironment(JRE)是可以在其上運行、測試和傳輸應用程序的Java平台。它包括Java虛擬機、Java核心類庫和支持文件。它不包含開發工具--編譯器、調試器和其它工具。
JAR 文件格式以流行的 ZIP 文件格式為基礎。與 ZIP 文件不同的是,JAR 文件不僅用於壓縮和發布,而且還用於部署和封裝庫、組件和插件程序,並可被像編譯器和 JVM 這樣的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用來指示工具如何處理特定的 JAR。
Java是一種可以撰寫跨平台應用軟體的面向對象的程序設計語言,是由Sun Microsystems公司於1995年5月推出的Java程序設計語言和Java平台(即JavaSE, JavaEE, JavaME)的總稱。
class文件全名稱為Java class文件,主要在平台無關性和網路移動性方面使Java更適合網路。它在平台無關性方面的任務是:為Java程序提供獨立於底層主機平台的二進制形式的服務。
class文件是可以運行在任何支持Java虛擬機的硬體平台和操作系統上的二進制文件
⑵ JAVA 語言中IDE,JDK,JRE是什麼,JAR,JAVA,CLASS文件中分別是什麼東西
ide:是集成開發環境,表現為一個圖形界面程序,可以用來編輯源文件,版編譯,調試權java程序;
jdk:java開發工具集,包含很多程序,那些程序可以對編譯,打包,運行java程序。
jre:就是一個虛擬機程序,可以運行編譯好的java程序;
jar:打包程序,類似rar;
class:類或者說類文件。java源文件編譯後會生成類文件。
再詳細的可以分別搜各個關鍵字。
⑶ 如何查看java的class文件是被哪個版本的jdk編譯的
使用UE(Ultra Edit)打開.class文件,切換到16進制模式,查看第1行: CA FE BA BE 00 00 00 3200 75 07 00 02 01 00 27 ; ... .. 前8個位元組:CA FE BA BE 是固定的後面專的屬4個位元組:00 00是次版本號次版本號後面的4個位元組:00 32是編譯源代碼的jdk版本號32(對應十進制的50):JDK1.631(對應十進制的49):JDK1.530(對應十進制的48):JDK1.42F(對應十進制的47):JDK1.3 2E(對應十進制的46):JDK1.2 編譯器的jdk版本是1.2 編譯器的jdk版本是1.6
⑷ 怎麼知道Java class文件JDK編譯的版本號
首先用一些二進制查看器打開class文件,比如od或者hexmp工具。
od -x hello.class
或者
hexmp hello.class
我們會看到類似於下面的內輸出容:
feca beba 0000 3300
這里我們看到前四個位元組是Java class的特殊符號,叫做magic欄位,用來告訴JVM這是個class文件,之後的兩個位元組是minor版本號,再之後的兩個位元組是major版本號,我們看到時33,對應下表我們知道33時JDK1.7編譯的版本號。
十六進制
JDK1.5 31
JDK1.6 32
JDK1.7 33
JDK8 34
因為Java是向後兼容的,所以高版本的兼容低版本的,所以有時候你遇到java報: unsupported major.minor version 51,那就是你用低版本的虛擬機去運行高版本JDK編譯的class文件了,所以低版本的虛擬機就抱怨了。這里的51是十進制,也就是十六進制的33,及對應JDK1.7,如果出現這種錯誤,你肯定是使用低於1.7版本的虛擬機去運行這個了。
⑸ 如何在JDK中把JAVA編譯成class文件
步驟:
首先,配置下環境:我的電腦--屬性--高級--環境變數--找到path雙擊,把java安裝的JDK的bin的文件路徑加到這里,保存。
然後,你運行Dos, 點擊運行---輸入cmd,按回車。
最後,你在dos裡面靜茹到你java文件的目錄下(比如是Login.java文件):
javac Login.java 這是編譯java
java Login 這是運行java
⑹ 同一個 Java 文件用不同的 jdk 編譯出的 class 文件是一樣的嗎
不一樣
不同點主要體現在兩個部分:
1、每個class文件的開頭幾個位元組中有標識jdk版本的數值信息,這個應該不一樣,比如jdk5編譯的是49,jdk6編譯的是50;javac 有兩個參數是 -source <版本> 和 -target <版本>,一般來說,如果target相同的話,編譯出來的class文件時完全相同的,但是反之則不一定相同
2、有些編譯器在編譯時會進行優化,比如將static final的常量直接inline到使用該常量的地方