本文目錄一覽:
如何運行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怎麼逐句運行
生成class文件可以在命令控制台下用java文件名進行運行。
1、去網上下載jdk(jdk是一個編譯器就是解釋執行java代碼的)。
2、配置path和classpath的環境變數。去我的電腦屬性高級裡面的系統變數那配置你的path和classpath的環境變數。
3.測試。打開dos界面輸入javac按enter如果出現很多的英文就說明你的環境變數配置好了。到了這一步也就說明你的java環境弄好了。
4、編寫一個簡單的java程序編譯執行看看能不能用。做完這些就可以了。
java無法運行怎麼回事?
不能找到那個文件的路徑,你是不是把這個單個文件和你創建的那個總文件沒有放在一起。你可以試著把這段代碼複製一下,或者把這個文件去找到,給他和你的總文件放到一起去試試
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命令 .運行。
運行JAVA軟體需要做什麼?
1.安裝JDK,安裝過程中可以自定義62616964757a686964616fe78988e69d8331333332643230安裝目錄等信息,例如我們選擇安裝目錄為D:\java\jdk1.5.0_08;
2.安裝完成後,右擊「我的電腦」,點擊「屬性」;
3.選擇「高級」選項卡,點擊「環境變數」;
4.在「系統變數」中,設置3項屬性,JAVA_HOME,PATH,CLASSPATH(大小寫無所謂),若已存在則點擊「編輯」,不存在則點擊「新建」;
5.JAVA_HOME指明JDK安裝路徑,就是剛才安裝時所選擇的路徑D:\java\jdk1.5.0_08,此路徑下包括lib,bin,jre等文件夾(此變數最好設置,因為以後運行tomcat,eclipse等都需要依*此變數);
Path使得系統可以在任何路徑下識別java命令,設為:
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
CLASSPATH為java載入類(class or lib)路徑,只有類在classpath中,java命令才能識別,設為:
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar (要加.表示當前路徑)
%JAVA_HOME%就是引用前面指定的JAVA_HOME;
6.「開始」-;「運行」,鍵入「cmd」;
7.鍵入命令「java -version」,「java」,「javac」幾個命令,出現畫面,說明環境變數配置成功;
8.好了,打完收工。下面開始你的第一個java程序吧。
下面講講java幾個環境變數的含義和linux下的配置方法:
通常,我們需要設置三個環境變數:JAVA_HOME、PATH 和 CLASSPATH。
JAVA_HOME:該環境變數的值就是 Java 所在的目錄,一些 Java 版的軟體和一些 Java 的工具需要用到該變數,設置 PATH 和 CLASSPATH 的時候,也可以使用該變數以方便設置。
PATH:指定一個路徑列表,用於搜索可執行文件的。執行一個可執行文件時,如果該文件不能在當前路徑下找到,則依次尋找 PATH 中的每一個路徑,直至找到。或者找完 PATH 中的路徑也不能找到,則報錯。Java 的編譯命令 (javac),執行命令 (java) 和一些工具命令 (javadoc, jdb 等) 都在其安裝路徑下的 bin 目錄中。因此我們應該將該路徑添加到 PATH 變數中。
CLASSPATH:也指定一個路徑列表,是用於搜索 Java 編譯或者運行時需要用到的類。在 CLASSPATH 列表中除了可以包含路徑外,還可以包含 .jar 文件。Java 查找類時會把這個 .jar 文件當作一個目錄來進行查找。通常,我們需要把 JDK 安裝路徑下的 jre\lib\rt.jar (Linux: jre/lib/rt.jar) 包含在 CLASSPATH 中。
PATH 和 CLASSPATH 都指定路徑列表,列表中的各項 (即各個路徑) 之間使用分隔符分隔。在 Windows 下,分隔符是分號 (;),而在 Linux 下,分隔符是冒號 (:)。
下面分別說明三個環境變數在 Windows 和 Linux 下如何設置,不過在此之前,我們需要做個假設。假設 JDK 在 Windows 下的安裝路徑是 C:\jdk\,在 Linux 下的安裝路徑是 /usr/local/jdk/。那麼,安裝後的 JDK 至少會包括如下內容:
C:\jdk (/usr/local/jdk)
|– bin
|– demo
|– include
|– jre
| |– bin
| `– lib
`– lib
***** 在 Windows 下設置
Windows 下使用 set 命令設置環境變數,為了使每一次啟動計算機都設置這些環境變數,應該在系統盤根目錄下的 autoexec.bat 文件中進行設置,如:
set JAVA_HOME=C:\jdk
set PATH=%JAVA_HOME%\bin;C:\Windows;C:\Windows\Command
set CLASSPATH=%JAVA_HOME%\jre\lib\rt.jar;.
有些版本的 Windows 不能用 %變數名% 來替換環境變數的內容,那麼就只好直接寫 C:\jdk 而不是 %JAVA_HOME% 了。另外,C:\Windows 和 C:\Windows\Command 是 Windows 會自動加入路徑的,所以可以從設置中去掉。如果在 autoexec.bat 中已經設置了 PATH,那隻需要將 %JAVA_HOME%\bin 加到原來設置 PATH 的那條語句中就行了。
CLASSPATH 也可以根據需要設置或者加入其它的路徑,比如你想把自己寫的一些類放在 C:\java 中,就可以把 C:\java 也添加到 CLASSPATH 中去,set CLASSPATH=%JAVA_HOME%\jre\lib\rt.jar;C:\java;.。
注意,在 CLASSPATH 中包含了一個「當前目錄 (.)」。包含了該目錄後,就可以到任意目錄下去執行需要用到該目錄下某個類的 Java 程序,即使該路徑並未包含在 CLASSPATH 中也可以。原因很簡單:雖然沒有明確的把該路徑包含在 CLASSPATH 中,但 CLASSPATH 中的 「.」 在此時就代表了該路徑,如:
假設在 C:\java 目錄下有可運行的類 HelloJava.class,那麼
C:\ set CLASSPATH=C:\jdk\jre\lib\rt.jar;. // 設置 CLASSPATH 環境變數,注意最後有一個 「.」
C:\ cd java // 轉到 C:\java 目錄
C:\java java HelloJava // 運行 HelloJava
Hello, Java. // 運行結果
C:\java _
**** 在 Linux 下設置
Linux 下使用「變數名=變數值」設置變數,並使用 export 命令將其導出為環境變數。為了使每一次登錄都自動設置好這些變數,你需要在 ~/.bash_profile 里或者 ~./bashrc 里進行設置,如
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/jre/lib/rt.jar:.
設置 PATH 時用的 $JAVA_HOME 是指替換變數 JAVA_HOME 的值到 $JAVA_HOME 所在位置。如上句實際就是 export PATH=/usr/local/jdk/bin:$PATH。這句中 $PATH 也是同樣的作用,不過這裡的 PATH 是指以前設置的 PATH 變數的值,而非本次設置 PATH 變數的值。
注意,在 CLASSPATH 中包含了一個「當前目錄 (.)」。包含了該目錄後,就可以到任意目錄下去執行需要用到該目錄下某個類的 Java 程序,即使該路徑並未包含在 CLASSPATH 中也可以。原因很簡單:雖然沒有明確的把該路徑包含在 CLASSPATH 中,但 CLASSPATH 中的 「.」 在此時就代表了該路徑,例如
假設在 /home/fancy/java 目錄下有可運行的類 HelloJava.class,那麼
[fancy@matrix fancy]$ export CLASSPATH=/usr/local/jdk/jre/lib/rt.jar:. // 設置 CLASSPATH,注意最後的「.」
[fancy@matrix fancy]$ cd ~/java // 轉到 /home/fancy/java
[fancy@matrix java]$ pwd // 顯示當前目錄
/home/fancy/java // 當前目錄是 /home/fancy/java
[fancy@matrix java]$ java HelloJava // 運行 HelloJava
Hello, Java // 運行結果
[fancy@matrix java]$ _
析
***** 實例分析
只是操作系統不同,略有差別。
兩個例子都提到一個「可運行的類」,它是指包含了 public static void main(String[] args) 方法的類,這將在下一章 HelloJava 一節中詳述。例中的 CLASSPATH 均未包含 HelloJava.class 所在的目錄(C:\java, /home/fancy/java),但是均包含了當前目錄 (.)。因此轉到包含 HelloJava.class 的目錄下去執行 java HelloJava,在 Java 尋找到 CLASSPATH 中的「. (當前目錄,C:\java, /home/fancy/java)」時,找到了 HelloJava.class,運行成功。
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的實例方法都採用動態綁定機制,所有私有方法、靜態方法、構造器及初始化方法都是採用靜態綁定機制。而使用動態綁定機制的時候會用到方法表,靜態綁定時並不會用到。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/295325.html