本文目錄一覽:
運行JAVA軟體需要做什麼?
1、編輯源代碼xxx.java
2、編譯xxx.java文件生成位元組碼文件xxx.class
3、JVM中的類載入器載入位元組碼文件
4、JVM中的執行引擎找到入口方法main(),執行其中的方法
運行Java需安裝什麼
如果你需要運行java程序,只需安裝JRE就可以了。如果你需要編寫java程序,需要安裝JDK。
JRE: Java Runtime Environment
JDK:Java Development Kit
JRE顧名思義是java運行時環境,包含了java虛擬機,java基礎類庫。是使用java語言編寫的程序運行所需要的軟體環境,是提供給想運行java程序的用戶使用的。
JDK顧名思義是java開發工具包,是程序員使用java語言編寫java程序所需的開發工具包,是提供給程序員使用的。
JDK包含了JRE,同時還包含了編譯java源碼的編譯器javac,還包含了很多java程序調試和分析的工具:jconsole,jvisualvm等工具軟體,還包含了java程序編寫所需的文檔和demo例子程序。
如何運行JAVA?
第一步:下載並安裝JDK 6.0,安裝路勁為: C:\java\jdk1.6 . \x0d\x0a\x0d\x0a第二步:對「我的電腦」按右鍵,選「屬性」,在「系統屬性」窗口中選「高級」標籤,再按「環境變數」按鈕,彈出一個「環境變數」的窗口,在系統變數中新建一個變數,變數名為「JAVA_HOME「,變數值為”C:\java\jdk1.6″;如果存在”PATH”變數名,按編輯,在變數值最前面輸入”C:\java\jdk1.6\bin;”.(注意以分號結尾,沒有引號.如果沒有”PATH”,點擊新建一個”PATH”變數名,變數值一樣). \x0d\x0a\x0d\x0a第三步:單擊Windows xp的「開始」-「運行」,在彈出的運行窗口中輸入cmd,按回車,打開一個命令行窗口,輸入javac,將會看見一系列javac常用參數選項. 恭喜你java環境安裝成功了. \x0d\x0a\x0d\x0a第四步:開始編程(注意先雙擊打開”我的電腦”,在”工具” -“文件夾選項” – 點擊”查看”選項 -在”高級設置”中找到”隱藏已知文件類型的擴展名”前面的小勾去掉)。在C盤的根目錄中新建一個子目錄,名為”JavaTest」,以作為存放 Java源代碼的地方。在JavaTest文件夾中,新建文本文檔, 把「新建 文本文檔.txt」改為”HelloWorld.java”。用記事本打開”HelloWorld.java”, 輸入: \x0d\x0apublic class HelloWorld { \x0d\x0apublic static void main(String[] args) { \x0d\x0aSystem.out.println(“Hello, world!”); \x0d\x0aSystem.out.println(“恭喜你成功運行了第一個java應用程序!”); \x0d\x0a} \x0d\x0a} \x0d\x0a注意源文件名必須與類名相同,且類修飾符為public,文件名後綴為”.java”.保存文件. \x0d\x0a\x0d\x0a第五步:在命令行窗口中輸入 cd C:\JavaTest,將當前路徑轉入JavaTest目錄中。然後,輸入 javac HelloWorld.java,JDK就在JavaTest文件夾中編譯生成一個HelloWorld.class的類文件。 \x0d\x0a\x0d\x0a第六步:在命令行窗口中輸入 java HelloWorld,(注意沒有.class後綴)屏幕出現了 \x0d\x0aHello world! \x0d\x0a恭喜你成功運行了第一個java應用程序! \x0d\x0a表示成功了,也就順利地編譯及運行了第一個Java應用程序。
java運行的五個步驟?
Java程序從源文件創建到程序運行要經過兩大步驟:1、源文件由編譯器編譯成位元組碼(ByteCode)
2、位元組碼由java虛擬機解釋運行。因為java程序既要編譯同時也要經過JVM的解釋運行,所以說Java被稱為半解釋語言( “semi-interpreted” language)。
下面通過以下這個java程序,來說明java程序從編譯到最後運行的整個流程。代碼如下:
//MainApp.java
public class MainApp {
public static void main(String[] args) {
Animal animal = new Animal(“Puppy”);
animal.printName();
}
}
//Animal.java
public class Animal {
public String name;
public Animal(String name) {
this.name = name;
}
public void printName() {
System.out.println(“Animal [“+name+”]”);
}
}
第一步(編譯): 創建完源文件之後,程序會先被編譯為.class文件。Java編譯一個類時,如果這個類所依賴的類還沒有被編譯,編譯器就會先編譯這個被依賴的類,然後引用,否則直接引用,這個有點象make。如果java編譯器在指定目錄下找不到該類所其依賴的類的.class文件或者.java源文件的話,編譯器話報「cant find symbol」的錯誤。
編譯後的位元組碼文件格式主要分為兩部分:常量池和方法位元組碼。常量池記錄的是代碼出現過的所有token(類名,成員變數名等等)以及符號引用(方法引用,成員變數引用等等);方法位元組碼放的是類中各個方法的位元組碼。下面是MainApp.class通過反彙編的結果,我們可以清楚看到.class文件的結構:
第二步(運行):java類運行的過程大概可分為兩個過程:1、類的載入 2、類的執行。需要說明的是:JVM主要在程序第一次主動使用類的時候,才會去載入該類。也就是說,JVM並不是在一開始就把一個程序就所有的類都載入到內存中,而是到不得不用的時候才把它載入進來,而且只載入一次。
下面是程序運行的詳細步驟:
在編譯好java程序得到MainApp.class文件後,在命令行上敲java AppMain。系統就會啟動一個jvm進程,jvm進程從classpath路徑中找到一個名為AppMain.class的二進位文件,將MainApp的類信息載入到運行時數據區的方法區內,這個過程叫做MainApp類的載入。
然後JVM找到AppMain的主函數入口,開始執行main函數。
main函數的第一條命令是Animal animal = new Animal(“Puppy”);就是讓JVM創建一個Animal對象,但是這時候方法區中沒有Animal類的信息,所以JVM馬上載入Animal類,把Animal類的類型信息放到方法區中。
載入完Animal類之後,Java虛擬機做的第一件事情就是在堆區中為一個新的Animal實例分配內存, 然後調用構造函數初始化Animal實例,這個Animal實例持有著指向方法區的Animal類的類型信息(其中包含有方法表,java動態綁定的底層實現)的引用。
當使用animal.printName()的時候,JVM根據animal引用找到Animal對象,然後根據Animal對象持有的引用定位到方法區中Animal類的類型信息的方法表,獲得printName()函數的位元組碼的地址。
開始運行printName()函數。
特別說明:java類中所有public和protected的實例方法都採用動態綁定機制,所有私有方法、靜態方法、構造器及初始化方法都是採用靜態綁定機制。而使用動態綁定機制的時候會用到方法表,靜態綁定時並不會用到。
java如何從哪裡運行?
jdk安裝好配置環境變數後,系統就承認了 java,javac等命令,當編譯好java文件,就可以在開始——運行——cmd的dos系統下運用指定命令運行java文件。
JDK 是整個Java的核心,包括了Java運行環境,Java工具和Java基礎的類庫。
JDK包含的基本組件包括:
javac – 編譯器,將源程序轉成位元組碼
jar – 打包工具,將相關的類文件打包成一個文件
javadoc – 文檔生成器,從源碼注釋中提取文檔
jdb – debugger,查錯工具
java – 運行編譯後的java程序(.class後綴的)
appletviewer:小程序瀏覽器,一種執行HTML文件上的Java小程序的Java瀏覽器。 Javah:產生可以調用Java過程的C過程,或建立能被Java程序調用的C過程的頭文件。 Javap:Java反彙編器,顯示編譯類文件中的可訪問功能和數據,同時顯示位元組代碼含義。 Jconsole: Java進行系統調試和監控的工具
總之,jdk並不是一個應運軟體,並不能從哪裡運行。編譯時在任何可輸入文本的軟體中均可(通常用.txt記事本編譯),編譯好後改名.java文件,在dos系統中用 javac命令編譯連接 java命令 .運行。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/286239.html