導航:首頁 > 編程語言 > java程序的運行過程

java程序的運行過程

發布時間:2022-10-20 01:51:27

『壹』 java程序怎麼運行

安裝jdk,配置環境變數後編譯運行。

1,下載jdk,進oracle官網下載jdk安裝包,運行安裝。

2,配置環境變數:在系統變數里點擊新建,變數名填寫JAVA_HOME,變數值填寫JDK的安裝路徑,在這里就填寫「C:\Program Files\Java\jdk1.8」了;在系統變數里點擊新建變數名填寫CLASSPATH,變數值寫「.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar」。注意不要忘記前面的點和中間的分號;在系統變數里找到Path變數,這是系統自帶的,不用新建。雙擊Path,由於原來的變數值已經存在,故應在已有的變數後加上「;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin」。注意前面的分號。
打開cmd輸入java和javac測試是否成功。
3,編寫java代碼:
public class Test{
public static void main(String[] args) {
System.out.println("hello");
}
}
另存為Test.java。存放在D盤根目錄。

3,編譯,打開cmd,輸入命令
D:

切換目錄到D盤目錄,編譯java,輸入javac Test.java,編譯完成後生成Test.class文件。
4,運行,cmd輸入命令:java Test。可以看到運行結果:hello。

『貳』 簡述Java程序從編寫到運行的基本步驟,並說明Java的基本工作原理

Java編譯原理:
Java 虛擬機(JVM)是可運行Java 代碼的假想計算機。只要根據JVM規格描述將解釋器移植到特定的計算機上,就能保證經過編譯的任何Java代碼能夠在該系統上運行。
一.Java源文件的編譯、下載 、解釋和執行
Java應用程序的開發周期包括編譯、下載 、解釋和執行幾個部分。Java編譯程序將Java源程序翻譯為JVM可執行代碼?位元組碼。這一編譯過程同C/C++ 的編譯有些不同。當C編譯器編譯生成一個對象的代碼時,該代碼是為在某一特定硬體平台運行而產生的。因此,在編譯過程中,編譯程序通過查表將所有對符號的引用轉換為特定的內存偏移量,以保證程序運行。Java編譯器卻不將對變數和方法的引用編譯為數值引用,也不確定程序執行過程中的內存布局,而是將這些符號引用信息保留在位元組碼中,由解釋器在運行過程中創立內存布局,然後再通過查表來確定一個方法所在的地址。這樣就有效的保證了Java的可移植性和安全 性。

運行JVM位元組碼的工作是由解釋器來完成的。解釋執行過程分三部進行:代碼的裝入、代碼的校驗和代碼的執行。裝入代碼的工作由"類裝載器"(class loader)完成。類裝載器負責裝入運行一個程序需要的所有代碼,這也包括程序代碼中的類所繼承的類和被其調用的類。當類裝載器裝入一個類時,該類被放在自己的名字空間中。除了通過符號引用自己名字空間以外的類,類之間沒有其他辦法可以影響其他類。在本台計算機上的所有類都在同一地址空間內,而所有從外部引進的類,都有一個自己獨立的名字空間。這使得本地類通過共享相同的名字空間獲得較高的運行效率,同時又保證它們與從外部引進的類不會相互影響。當裝入了運行程序需要的所有類後,解釋器便可確定整個可執行程序的內存布局。解釋器為符號引用同特定的地址空間建立對應關系及查詢表。通過在這一階段確定代碼的內存布局,Java很好地解決了由超類改變而使子類崩潰的問題,同時也防止了代碼對地址的非法訪問。

隨後,被裝入的代碼由位元組碼校驗器進行檢查。校驗器可發現操作數棧溢出,非法數據類型轉化等多種錯誤。通過校驗後,代碼便開始執行了。

Java位元組碼的執行有兩種方式:
1.即時編譯方式:解釋器先將位元組碼編譯成機器碼,然後再執行該機器碼。
2.解釋執行方式:解釋器通過每次解釋並執行一小段代碼來完成Java位元組碼程 序的所有操作。
通常採用的是第二種方法。由於JVM規格描述具有足夠的靈活性,這使得將位元組碼翻譯為機器代碼的工作

具有較高的效率。對於那些對運行速度要求較高的應用程序,解釋器可將Java位元組碼即時編譯為機器碼,從而很好地保證了Java代碼的可移植性和高性能。

『叄』 java程序不能執行

Java程序的運行過程(執行流程)分析
1、編寫:是指在 Java 開發環境中進行程序代碼的輸入,最終形成後綴名為 .java 的 Java 源文件。
2、編譯:是指使用 Java 編譯器對源文件進行錯誤排査的過程,編譯後將生成後綴名為 .class 的位元組碼文件,不像C語言那樣生成可執行文件。
3、運行:是指使用 Java 解釋器將位元組碼文件翻譯成機器代碼,執行並顯示結果。
位元組碼文件是一種和任何具體機器環境及操作系統環境無關的中間代碼。它是一種二進制文件,是 Java 源文件由 Java 編譯器編譯後生成的目標代碼文件。編程人員和計算機都無法直接讀懂位元組碼文件,它必須由專用的 Java 解釋器來解釋執行,因此 Java 是一種在編譯基礎上進行解釋運行的語言。

Java 解釋器負責將位元組碼文件翻譯成具體硬體環境和操作系統平台下的機器代碼,以便執行。因此 Java 程序不能直接運行在現有的操作系統平台上,它必須運行在被稱為 Java 虛擬機的軟體平台之上。

Java 虛擬機(JVM)是運行 Java 程序的軟體環境,Java 解釋器是 Java 虛擬機的一部分。在運行 Java 程序時,首先會啟動 JVM,然後由它來負責解釋執行 Java 的位元組碼程序,並且 Java 位元組碼程序只能運行於 JVM 之上。這樣利用 JVM 就可以把 Java 位元組碼程序和具體的硬體平台以及操作系統環境分隔開來,只要在不同的計算機上安裝了針對特定平台的 JVM,Java 程序就可以運行,而不用考慮當前具體的硬體平台及操作系統環境,也不用考慮位元組碼文件是在何種平台上生成的。

JVM 把這種不同軟、硬體平台的具體差別隱藏起來,從而實現了真正的二進制代碼級的跨平台移植。JVM 是 Java 平台架構的基礎,Java 的跨平台特性正是通過在 JVM 中運行 Java 程序實現的。Java 的這種運行機制可以通過下圖來說明。
Java 語言這種「一次編寫,到處運行」的方式,有效地解決了目前大多數高級程序設計語言需要針對不同系統來編譯產生不同機器代碼的問題,即硬體環境和操作平台的異構問題,大大降低了程序開發、維護和管理的開銷。

提示:Java 程序通過 JVM 可以實現跨平台特性,但 JVM 是不跨平台的。也就是說,不同操作系統之上的 JVM 是不同的,Windows 平台之上的 JVM 不能用在 Linux 平台,反之亦然。

『肆』 一個Java程序運行從上到下的環境次序是( )

Java程序、JRE/JVM、操作系統、硬體。

編寫Java程序首先需要一個入口點,在運行的時候通過指定MainClass來指定入口點,代碼層面主類必須實現一個靜態的main函數,運行時虛擬機會從MainClass.main開始執行指令,其他的邏輯只是import和函數調用了。

(4)java程序的運行過程擴展閱讀:

注意事項:

運行java文件,必須先編譯java文件為Class文件。然後在解析class文件。這兩個步驟都是需要在安裝了java運行環境的。安裝好java後,要對java進行配置。

代碼里的標點符號都要是英文狀態下的,這一點很多新手朋友在寫java文件的時候犯錯。

java程序文件的文件名必須和java程序里的class名一致。

『伍』 開發與運行Java程序需要經過的三個主要步驟是

創建Java源程序
Java源程序一般用java作為擴展名,是一個文本文
件,用Java語言寫成,可以用任何文本編輯器創建
與編輯;
編譯源程序
Java編譯器,「javac」,讀取你的Java源程序並翻譯
成Java虛擬機能夠明白的指令集合,且以位元組碼的
形式保存在文件中。通常,位元組碼文件以class作為
擴展名;
運行class(位元組碼)文件
Java解釋器讀取位元組碼,取出指令並且翻譯成計算
機能執行的代碼,完成運行過程;

『陸』 簡述JAVA程序運行過程

1,如果java文件沒有package,就默認給文件加上"無名"package;
2,默認導入java.lang包,所以我們的java程序中可以使用Sting,Math,Integer等類,包括一些異常類;
3,如果生成的類沒有父類,則為這個類隱式加上父類:Object;因此,包括Object中的許多方法可以使用;
4,欄位的初始化;

二,我們所看的到的:
既然看的到,就先看程序運行結果:

public class JRun1 {

public JRun1() {
System.out.println(" 構造函數");
}
static
{
System.out.println("static{}");
}
{
System.out.println("{}");
}

public static void main(String[] args) {
System.out.println("main()");
}

}
運行結果:
static{}
main()

顯然,程序運行時,先運行:
static
{
System.out.println("static{}");
}
再調用main();

如果我們在類中建立一個對象:
public class JRun1 {

public JRun1() {
System.out.println(" 構造函數");
}

static
{
System.out.println("static{}");
}

{
System.out.println("{}");
}

public static void main(String[] args) {
System.out.println("main()");
new JRun1();
}
}

運行結果:
static{}
main()
{}
構造函數

從而,我們得出:
建立一個非主類對象,順序為:靜態初始化塊static{}-->初始化塊{}-->構造函數constructor;

那麼,牽涉到繼承,運行流程又如何?

看程序:

class JRun1Father{
JRun1Father(){
System.out.println("父類構造函數");
}

static{
System.out.println("父類靜態初始化塊");
}

{
System.out.println("父類初始化塊");
}

}

public class JRun1 extends JRun1Father{

public JRun1() {
System.out.println("子類構造函數");
}

static
{
System.out.println("子類靜態初始化塊");
}

{
System.out.println("子類初始化塊");
}

public static void main(String[] args) {
//System.out.println("主方法)");
new JRun1();
}
}

運行結果:

父類靜態初始化塊
子類靜態初始化塊
父類初始化塊
父類構造函數
子類初始化塊
子類構造函數

所以,牽涉到父類:父靜態-->子靜態-->父初始化及構造-->子初始化及構造;
注意:初始化塊和構造是接連運行的,不會父類子類交替.

『柒』 編寫、運行java程序需要經過哪些主要步驟

開發與運行java程序需要經過的三個主要步驟為
編輯源程序、編譯生成位元組碼

解釋運行位元組碼。

『捌』 如何運行java程序步驟是什麼啊

如果是java應用程序,所有的都從main方法開始;如果是applet小應用程序,init()方法負責載入,start()方法開始執行;
Java Applet就是用Java語言編寫的這樣的一些小應用程序,它們可以直接嵌入到網頁中,並能夠產生特殊的效果。包含Applet的網頁被稱為Java-powered頁,可以稱其為Java支持的網頁。

當用戶訪問這樣的網頁時, Applet被下載到用戶的計算機上執行,但前提是用戶使用的是支持Java的網路l瀏覽器。由於Applet是在用戶的計算機上執行的,因此它的執行速度不受網路帶寬或者Modem存取速度的限制。用戶可以更好地欣賞網頁上Applet產生的多媒體效果。

『玖』 簡述JAVA程序的編輯編譯和運行過程

第一步(編譯): 創建完源文件之後,程序會先被編譯為.class文件。Java編譯一個類時,如果這個類所依賴的類還沒有被編譯,編譯器就會先編譯這個被依賴的類,然後引用,否則直接引用,這個有點象make。

如果java編譯器在指定目錄下找不到該類所其依賴的類的.class文件或者.java源文件的話,編譯器話報「cant find symbol」的錯誤。

第二步(運行):java類運行的過程大概可分為兩個過程:1、類的載入 2、類的執行。需要說明的是:JVM主要在程序第一次主動使用類的時候,才會去載入該類。也就是說,JVM並不是在一開始就把一個程序就所有的類都載入到內存中,而是到不得不用的時候才把它載入進來,而且只載入一次。

特別說明:java類中所有public和protected的實例方法都採用動態綁定機制,所有私有方法、靜態方法、構造器及初始化方法<clinit>都是採用靜態綁定機制。而使用動態綁定機制的時候會用到方法表,靜態綁定時並不會用到。

(9)java程序的運行過程擴展閱讀:

Java整個編譯以及運行的過程相當繁瑣,本文通過一個簡單的程序來簡單的說明整個流程。

Java代碼編譯:是由Java源碼編譯器來完成;

Java位元組碼的執行:是由JVM執行引擎來完成

Java程序從源文件創建到程序運行要經過兩大步驟:

1、源文件由編譯器編譯成位元組碼(ByteCode)

2、位元組碼由java虛擬機解釋運行。因為java程序既要編譯同時也要經過JVM的解釋運行,所以說Java被稱為半解釋語言( "semi-interpreted" language)。

『拾』 編寫和運行Java程序的步驟是什麼每一步的結果是什麼在JDK中,Java語言的編譯命令是什麼急需答案啊。

將編寫的java源文件保存為.java後綴的文件(選擇所有文件)
在cmd命令行窗口中將當前目錄切換到java文件保存的目錄下,即cd命令
使用javac +文件名.java編譯java文件
使用java+類文件名(即編譯後產生的.class文件)運行程序

閱讀全文

與java程序的運行過程相關的資料

熱點內容
浙江標准網路伺服器機櫃雲主機 瀏覽:587
設置網路的伺服器地址 瀏覽:600
java圖形界面設計 瀏覽:751
純前端項目怎麼部署到伺服器 瀏覽:538
瓜子臉程序員 瀏覽:505
如何保證伺服器優質 瀏覽:94
小微信aPP怎麼一下找不到了 瀏覽:299
演算法纂要學術價值 瀏覽:975
程序員你好是什麼意思 瀏覽:801
倩女幽魂老伺服器如何玩 瀏覽:561
電子鍾單片機課程設計實驗報告 瀏覽:999
看加密頻道 瀏覽:381
程序員算不算流水線工人 瀏覽:632
三星電視我的app怎麼卸載 瀏覽:44
簡述vi編譯器的基本操作 瀏覽:507
讓程序員選小號 瀏覽:91
加強數字貨幣國際信息編譯能力 瀏覽:584
購買的app會員怎麼退安卓手機 瀏覽:891
程序員的種類及名稱 瀏覽:293
美國程序員薪資 瀏覽:13