本文目錄一覽:
如何編譯java?
比如你要編譯一個java文件,路徑是”D:\java\Test.java”
在dos中輸入下面的命令
d: —表示進入d盤
cd java —表示進入java文件夾
javac Test.java —表示將Test.java文件編譯成class文件
java Test —表示運行編譯後的Test
如何編譯一個java文件
javac 用於編譯Java文件,格式為:
java [options] [sourcefiles] [@files]
其中:
options:命令行選項;
sourcefiles:一個或多個要編譯的源文件;
@files:一個或多個對源文件進行列表的文件,有時候要編譯的文件很多,一個個敲命令會顯得很長,也不方便修改,可以把要編譯的源文件列在文件中,在文件名前加@,這樣就可以對多個文件進行編譯,對編譯一個工程很有用,方便,省事。
有幾個比較重要的選項:
-d 用於指定編譯成的class文件的存放位置,預設情況下不指定class文件的存放目錄,編譯的class文件將和源文件在同一目錄下;
-classpath 可以簡寫成-cp,用於搜索編譯所需的class文件,指出編譯所用到的class文件的位置,如jar、zip或者其他包含class文件的目錄,指定該選項會覆蓋CLASSPATH的設定;
-sourcepath用於搜索編譯所需的源文件(即java文件),指定要搜索的源文件的位置,如jar、zip或其他包含java文件的目錄;
需要注意windows下和linux下文件路徑分隔符和文件列表(即-classpath和-sourcepath指定的文件)分隔符的區別:
windows下文件路徑分隔符用 \ ,文件列表分隔符用分號 ;
linux下文件路徑分隔符用 / ,文件列表分隔符用冒號 :
簡述JAVA程序的編輯編譯和運行過程
第一步(編譯): 創建完源文件之後,程序會先被編譯為.class文件。Java編譯一個類時,如果這個類所依賴的類還沒有被編譯,編譯器就會先編譯這個被依賴的類,然後引用,否則直接引用,這個有點象make。
如果java編譯器在指定目錄下找不到該類所其依賴的類的.class文件或者.java源文件的話,編譯器話報「cant find symbol」的錯誤。
第二步(運行):java類運行的過程大概可分為兩個過程:1、類的載入 2、類的執行。需要說明的是:JVM主要在程序第一次主動使用類的時候,才會去載入該類。也就是說,JVM並不是在一開始就把一個程序就所有的類都載入到內存中,而是到不得不用的時候才把它載入進來,而且只載入一次。
特別說明:java類中所有public和protected的實例方法都採用動態綁定機制,所有私有方法、靜態方法、構造器及初始化方法clinit都是採用靜態綁定機制。而使用動態綁定機制的時候會用到方法表,靜態綁定時並不會用到。
擴展資料:
Java整個編譯以及運行的過程相當繁瑣,本文通過一個簡單的程序來簡單的說明整個流程。
Java代碼編譯:是由Java源碼編譯器來完成;
Java位元組碼的執行:是由JVM執行引擎來完成
Java程序從源文件創建到程序運行要經過兩大步驟:
1、源文件由編譯器編譯成位元組碼(ByteCode)
2、位元組碼由java虛擬機解釋運行。因為java程序既要編譯同時也要經過JVM的解釋運行,所以說Java被稱為半解釋語言( “semi-interpreted” language)。
如何編譯運行一個簡單的java程序
通常開發一個java應用程序可分為三個步驟:
1.創建一個帶有文件擴展名 *.java 的源文件
1).使用編輯器(如記事本,小編使用的是notepad++),輸入以下6行文本:
1 //一個簡單的application例子:列印一行文本
2 class Hello {
3 public static void main (String args[]){
4 System.out.println(“Hello Java,This is my first Java Application!”);
5 }
6 }
輸入完成,如下圖所示
2).把文件名命名為Hello.java ,並保存,
2.使用java編輯器javac.exe編譯源文件生成一個帶有文件擴展 *.class 的位元組碼文件
1).win+R,在文本框輸入cmd,回車,進入DOS窗口。
2).使用cd命令將路徑轉入源文件「Hello.java」所在路徑(cd用法可參照DOC窗口之cd命令),輸入「javac Hello.java」命令,回車。
同時,我們在源文件「Hello.java」所在文件夾可以發現多了一個位元組碼文件(編輯器javac.exe編譯的結果),這就對了。
3.使用java解釋器 java.exe 運行位元組碼
在當前路徑下,輸入 「java Hello」 命令,回車。運行結果如下
爪哇之路開啟成功。
如何編譯java
用命令提示符編譯java程序的步驟:
1.先新建文本文檔,輸入自己的java程序。
這裡我寫一個簡單的java程序,來做示範。
import java.util.*;
public class HelloDate{
public static void main(String[] args)
{
System.out.println(“Hello,it’s:”);
System.out.println(new Date());
}
}
2.然後另存為一個java文件。
1.選擇文件—另存為—名稱為「HelloDate.java」—–選擇「所有文件」。
2.記住自己這個文件的存儲位置。(方便調用!)
3.打開程序—-附件—命令提示符。
4.由於我的那個java文本保存在了F:/java/(在F盤下的java文件夾里)下,所以如果要想編譯,就需要先通過命令提示符進入java這個文件夾,具體步驟如下:
1.進入F盤:輸入【F:】,然後按下回車鍵【Enter】
2.輸入【cd java】,按下回車鍵【Enter】
這樣就已經進入了。這裡的cd的意思就是進入的意思。
5.緊接著調用java編譯器進行編譯。
輸入【javac HelloDate。java】,然後按下回車鍵【Enter】
然後運行結果。
輸入【java HelloDate】,按下回車鍵【Enter】
經驗總結:運行一個java程序的大概的流程是:
書寫源代碼——編譯——-運行—-結束。
注意事項:
1.在輸入的時候一定要注意區分大小寫。
2.操作之前要保證自己的電腦配置了java的運行環境。
什麼是Java代碼的編譯與反編譯?
Java代碼的編譯與反編譯
2017-02-21Hollis數盟
一、什麼是編譯
1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。
2、用編譯程序產生目標程序的動作。編譯就是把高級語言變成計算機可以識別的2進位語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進位的。編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優化;目標代碼生成。主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發現有語法錯誤,給出提示信息。
二、什麼是反編譯
計算機軟體反向工程(Reverseengineering)也稱為計算機軟體還原工程,是指通過對他人軟體的目標程序(可執行程序)進行「逆向分析、研究」工作,以推導出他人的軟體產品所使用的思路、原理、結構、演算法、處理過程、運行方法等設計要素,某些特定情況下可能推導出源代碼。反編譯作為自己開發軟體時的參考,或者直接用於自己的軟體產品中。
三、Java類的編譯與反編譯
我們在最初學習Java的時候,會接觸到兩個命令:javac和java,那個時候我們就知道,javac是用來編譯Java類的,就是將我們寫好的helloworld.java文件編譯成helloworld.class文件。
class文件打破了C或者C++等語言所遵循的傳統,使用這些傳統語言寫的程序通常首先被編譯,然後被連接成單獨的、專門支持特定硬體平台和操作系統的二進位文件。通常情況下,一個平台上的二進位可執行文件不能在其他平台上工作。而Javaclass文件是可以運行在任何支持Java虛擬機的硬體平台和操作系統上的二進位文件。
那麼反編譯呢,就是通過helloworld.class文件得到java文件(或者說是程序員能看懂的Java文件)
四、什麼時候會用到反編譯
1、我們只有一個類的class文件,但是我們又看不懂Java的class文件,那麼我們可以把它反編譯成我們可以看得懂的文件。
2、學習Java過程中,JDK的每個版本都會加入越來越多的語法糖,有些時候我們想知道Java一些實現細節,我們可以藉助反編譯。
五、反編譯工具
1、javap
2、Jad:官網(牆裂推薦)
客戶端:
可以在官網下載可執行文件,找到對應的操作系統的對應版本,然後進行安裝使用。
因為我使用的是linux操作系統,所以我下載的是Linux版本的工具,這個工具下載好之後會有一個執行文件,只要在執行文件所在目錄執行./jadhelloworld.class就會在當前目錄下生成helloworld.jad文件,該文件里就是我們很熟悉的Java代碼
Eclipse插件:
下載地址在官網下載插件的jar包,然後將jar包放到eclipse的plugins目錄下『在打開Eclipse,Eclipse-Window-Preferences-Java,此時你會發現會比原來多了一個JadClipse的選項,單擊,在Pathtodecompiler中輸入你剛才放置jad.exe的位置,也可以制定臨時文件的目錄。當然在JadClipse下還有一些子選項,如Debug,Directives等,按照默認配置即可。基本配置完畢後,我們可以查看一下class文件的默認打開方式,Eclipse-Window-Preferences-General-Editors-FileAssociations我們可以看到class文件的打開方式有兩個,JadClipse和Eclipse自帶的ClassFileViewer,而JadClipse是默認的。全部配置完成,下面我們可以查看源碼了,選擇需要查看的類,按F3即可查看源碼
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/152273.html