欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java代碼的編譯,java代碼的編譯順序

JAVA程序編譯

三種方法:

專注于為中小企業(yè)提供網(wǎng)站設(shè)計、成都做網(wǎng)站服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)從江免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。

1.在IDE中,如eclipse中寫的Java程序,在點擊保存后eclipse就會調(diào)用javac編譯程序編譯,編譯文件在當前項目的bin目錄下。

2.作為一個獨立的文件且沒有定義Java環(huán)境變量,需要在cmd窗口中切換到j(luò)ava bin目錄下執(zhí)行Javac程序,執(zhí)行格式為?????javac 空格 Java源文件;如 javac? C://hello.java;

3.作為一個獨立的文件且定義了Java環(huán)境變量,打開cmd窗口,可以在任意目錄輸入javac java源文件,如javac D://hi.java。

擴展資料

Java也是一種高級語言,要讓計算機執(zhí)行你撰寫的Java程序,也得通過編譯程序的編譯。但是Java編譯程序并不直接將Java源代碼編譯為相依于計算機平臺的0、1序列,而是將其編譯為字節(jié)碼。

Java源代碼的擴展名為.java,經(jīng)過編譯程序編譯之后生成擴展名為.class的字節(jié)碼。

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

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

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

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

特別說明:java類中所有public和protected的實例方法都采用動態(tài)綁定機制,所有私有方法、靜態(tài)方法、構(gòu)造器及初始化方法clinit都是采用靜態(tài)綁定機制。而使用動態(tài)綁定機制的時候會用到方法表,靜態(tài)綁定時并不會用到。

擴展資料:

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

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

Java字節(jié)碼的執(zhí)行:是由JVM執(zhí)行引擎來完成

Java程序從源文件創(chuàng)建到程序運行要經(jīng)過兩大步驟:

1、源文件由編譯器編譯成字節(jié)碼(ByteCode)

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

編譯java程序需要使用什么命令

編譯命令是? javac

首先使用記事本編輯一段簡單的Java代碼

然后保存為HelloWorld.java文件(注意類名需要和文件名保持一致)

3.打開cmd命令行

4.進入HelloWorld.java所在的目錄

5.輸入javac HelloWorld.java命令,輸入完成后按下回車鍵

6.執(zhí)行完javac命令后會看到文件夾下多出了一個HelloWorld.class文件

7.進入HelloWorld.class的目錄下,執(zhí)行java HelloWorld命令,執(zhí)行完成后會看到執(zhí)行結(jié)果

什么是Java代碼的編譯與反編譯?

Java代碼的編譯與反編譯

2017-02-21Hollis數(shù)盟

一、什么是編譯

1、利用編譯程序從源語言編寫的源程序產(chǎn)生目標程序的過程。

2、用編譯程序產(chǎn)生目標程序的動作。編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優(yōu)化;目標代碼生成。主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發(fā)現(xiàn)有語法錯誤,給出提示信息。

二、什么是反編譯

計算機軟件反向工程(Reverseengineering)也稱為計算機軟件還原工程,是指通過對他人軟件的目標程序(可執(zhí)行程序)進行“逆向分析、研究”工作,以推導(dǎo)出他人的軟件產(chǎn)品所使用的思路、原理、結(jié)構(gòu)、算法、處理過程、運行方法等設(shè)計要素,某些特定情況下可能推導(dǎo)出源代碼。反編譯作為自己開發(fā)軟件時的參考,或者直接用于自己的軟件產(chǎn)品中。

三、Java類的編譯與反編譯

我們在最初學習Java的時候,會接觸到兩個命令:javac和java,那個時候我們就知道,javac是用來編譯Java類的,就是將我們寫好的helloworld.java文件編譯成helloworld.class文件。

class文件打破了C或者C++等語言所遵循的傳統(tǒng),使用這些傳統(tǒng)語言寫的程序通常首先被編譯,然后被連接成單獨的、專門支持特定硬件平臺和操作系統(tǒng)的二進制文件。通常情況下,一個平臺上的二進制可執(zhí)行文件不能在其他平臺上工作。而Javaclass文件是可以運行在任何支持Java虛擬機的硬件平臺和操作系統(tǒng)上的二進制文件。

那么反編譯呢,就是通過helloworld.class文件得到j(luò)ava文件(或者說是程序員能看懂的Java文件)

四、什么時候會用到反編譯

1、我們只有一個類的class文件,但是我們又看不懂Java的class文件,那么我們可以把它反編譯成我們可以看得懂的文件。

2、學習Java過程中,JDK的每個版本都會加入越來越多的語法糖,有些時候我們想知道Java一些實現(xiàn)細節(jié),我們可以借助反編譯。

五、反編譯工具

1、javap

2、Jad:官網(wǎng)(墻裂推薦)

客戶端:

可以在官網(wǎng)下載可執(zhí)行文件,找到對應(yīng)的操作系統(tǒng)的對應(yīng)版本,然后進行安裝使用。

因為我使用的是linux操作系統(tǒng),所以我下載的是Linux版本的工具,這個工具下載好之后會有一個執(zhí)行文件,只要在執(zhí)行文件所在目錄執(zhí)行./jadhelloworld.class就會在當前目錄下生成helloworld.jad文件,該文件里就是我們很熟悉的Java代碼

Eclipse插件:

下載地址在官網(wǎng)下載插件的jar包,然后將jar包放到eclipse的plugins目錄下‘在打開Eclipse,Eclipse-Window-Preferences-Java,此時你會發(fā)現(xiàn)會比原來多了一個JadClipse的選項,單擊,在Pathtodecompiler中輸入你剛才放置jad.exe的位置,也可以制定臨時文件的目錄。當然在JadClipse下還有一些子選項,如Debug,Directives等,按照默認配置即可。基本配置完畢后,我們可以查看一下class文件的默認打開方式,Eclipse-Window-Preferences-General-Editors-FileAssociations我們可以看到class文件的打開方式有兩個,JadClipse和Eclipse自帶的ClassFileViewer,而JadClipse是默認的。全部配置完成,下面我們可以查看源碼了,選擇需要查看的類,按F3即可查看源碼

如何在CMD編譯和運行JAVA代碼?

要想編譯和運行java文件,很簡單,只需要兩個命令:

(1)javac:作用:編譯java文件;使用方法: javac Hello.java ,如果不出錯的話,在與Hello.java 同一目錄下會生成一個Hello.class文件,這個class文件是操作系統(tǒng)能夠使用和運行的文件。

(2)java: 作用:運行.class文件;使用方法:java Hello,如果不出錯的話,會執(zhí)行Hello.class文件。注意:這里的Hello后面不需要擴展名。

下面舉例說明:

假設(shè)我有一個Hello.java文件放在D:\javatest 文件夾下。

打開cmd命令窗口,會出現(xiàn)C:\user\lenovo 這里出現(xiàn)的是系統(tǒng)用戶名,這里我們需要將路徑轉(zhuǎn)移到j(luò)ava文件所在目錄。

緊接著輸入 D:回車,會出現(xiàn)一下界面:

這時候我們需要定位到j(luò)ava文件所在目錄(這里是javatest目錄),接著輸入 cd javatest 回車。

此時進入到D:\javatest目錄中,此時的Hello.java文件就在這里

這時候我們就可以用javac命令編譯啦,輸入javac Hello.java回車

這里如果沒有任何提示表示編譯成功,此時打開d:\javatest文件夾你會發(fā)現(xiàn)此時多了一個名為Hello.class的文件,這就是操作系統(tǒng)能夠運行的文件。

接著輸入 java Hello回車,你就會看到文件被運行的結(jié)果。

這里有幾個要注意的問題

第一:Hello.java中的內(nèi)容是一個類,這個類的名字與.java文件名字必須完全一致。如果不一致將出錯。這里當你通過eclipse創(chuàng)建一個類文件的時候你就會理解的更清楚了,這里不贅述。

第二:javac 和 java 命令的使用方法要注意,格式。

第三:要使用這兩命令,必須配置好環(huán)境變量。

什么是Java代碼的編譯與反編譯

java代碼的編譯,就是你寫完代碼,java編譯器把它編譯成java虛擬機認識的代碼,然后再由虛擬機執(zhí)行它。反編譯就是反過來,當然這不是java虛擬機干的事兒,是你找反編譯工具干的事兒,把編譯過的代碼反編譯成人看得懂的源代碼。

分享名稱:java代碼的編譯,java代碼的編譯順序
文章網(wǎng)址:http://chinadenli.net/article33/dsessps.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣網(wǎng)站建設(shè)企業(yè)網(wǎng)站制作企業(yè)建站自適應(yīng)網(wǎng)站ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)