當前位置:首頁 » 編程語言 » java程序編譯

java程序編譯

發布時間: 2022-09-21 06:54:34

Ⅰ 什麼是java代碼的編譯與反編譯

Java代碼的編譯與反編譯

2017-02-21 Hollis 數盟

一、什麼是編譯

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

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

二、什麼是反編譯

計算機軟體反向工程(Reverse engineering)也稱為計算機軟體還原工程,是指通過對他人軟體的目標程序(可執行程序)進行「逆向分析、研究」工作,以推導出他人的軟體產品所使用的思路、原理、結構、演算法、處理過程、運行方法等設計要素,某些特定情況下可能推導出源代碼。反編譯作為自己開發軟體時的參考,或者直接用於自己的軟體產品中。

三、 Java類的編譯與反編譯

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

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

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

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

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

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

五、反編譯工具

1、javap

2、Jad:官網(牆裂推薦)

客戶端:

可以在官網下載可執行文件,找到對應的操作系統的對應版本,然後進行安裝使用。

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

Eclipse插件:

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

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

編譯java源文件使用命令:javac
xxx.java
編譯生成.class文件
接著使用java
xxx
運行

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

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

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

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

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

(3)java程序編譯擴展閱讀:

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

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

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

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

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

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

Ⅳ Java用什麼編譯器

常用的就是Eclipse,My Eclipse,idea這三種,My Eclipse相對於其他兩種不是很常用

Ⅳ 要編譯運行java程序需要安裝什麼

如果你需要運行java程序,只需安裝JRE就可以了。如果你需要編寫java程序,需要安裝JDK。
先裝JDK,把環境搭好再來個IDE基本上就可以開始寫java代碼了,Jdk ide開發工具 eclipse Idea
要是做web的話把tomcat,mysql裝一下就可以開始做簡單web了

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程序需要使用什麼命令

編譯命令是 javac

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

    Ⅶ 怎麼編譯java程序

    你要安裝好jdk,設置好相應的環境變數,然後在命令行裡面javac.
    下面給出一個例子,你可以參考一下:

    目前,建議初學者用j2sdk + Tomcat 5.0.19開始學習jsp.也是現在最新版本.
    初學者一般和我當初一樣,都不明白jdk,j2sdk,j2se,j2ee之間的區別,這里簡單介紹一下:
    jdk: java devolop kit -- java開發包(運行java最基本的東東)
    j2sdk:在1.4版以前稱為jdk,可以理解j2sdk是jdk的升級版本,所以我們只要安了j2sdk即可,JDK就沒必要了,呵呵,裝了升級版,還要裝低級版否?
    j2sdk呢有幾個版本對應於java2的幾個版本,其中j2ee需要用到開發工具就是J2eesdk了,只不過大部分應用伺服器(weblogic jboss等)都內置了j2eesdk。
    j2se: j2sdk也就是標准版,一般來說j2sdk指的就是j2se.
    j2ee: 也稱j2eesdk,用來進行企業級開發。
    jre: 是java runtime envionment -- java運行環境,jdk中包括了它,但是對於不需要開發只是運行的用戶是可以只單獨安裝jre的,所以sun提供了jre的下載。

    能夠理解上面的就概念就差不多啦,應該不是很難吧,如果現在還不能完全明白,不要緊,在跟我學過後面的幾章後,你來回過頭來看看,就很清楚了。

    j2sdk下載地址:http://java.sun.com/j2se/1.4.2/download.html
    tomcat5 下載地址:http://www.apache.org/dist/jakarta/

    安裝步驟:
    1.安裝完j2sdk以後,在我的電腦->屬性->高級->環境變數->系統變數中添加以下環境變數(假定你的j2sdk安裝在c:\j2sdk1.4.2):
    JAVA_HOME=c:\j2sdk1.4.2;
    classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;不能少,表示當前路徑)
    path= %JAVA_HOME%\bin; (系統里已經有了path變數,只需要在path最前面加上去即可)
    然後可以寫一個簡單的java程序來測試J2SDK是否已安裝成功:
    public class Myjava{
    public static void main(String args[]){
    System.out.println("試試看,裝好了嗎?.");
    }
    }
    將上面的這段程序保存為文件名為Myjava.java的文件。
    然後打開命令提示符窗口,cd到你的Myjava.java所在目錄,然後鍵入下面的命令
    javac Myjava.java
    java Myjava
    此時如果看到結果的話表示安裝成功,出錯則仔細檢查一下你的配置情況。

    2.安裝Tomcat後,在我的電腦->屬性->高級->環境變數->系統變數中添加以下環境變數(假定你的tomcat安裝在c:\tomcat5):
    CATALINA_HOME=c:\tomcat5;
    CATALINA_BASE=c:\tomcat5;
    然後修改環境變數中的classpath,把tomat安裝目錄下的common\lib下的servlet-api.jar(此文件在tomcat5以前名為:servlet.jar)追加到classpath中去,修改後的classpath如下:

    classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar; (最好再拷貝到:C:\j2sdk1.4.2\jre\lib\ext目錄下)
    接著可以啟動tomcat,在IE中訪問http://localhost:8080,如果看到tomcat的歡迎頁面的話說明安裝成功了。

    第三步:建立自己的jsp app目錄
    1.到Tomcat的安裝目錄的webapps目錄,可以看到ROOT,examples等Tomcat自帶的的目錄;
    2.在webapps目錄下新建一個目錄,起名叫myapp;
    3.myapp下新建一個目錄WEB-INF,注意,目錄名稱是區分大小寫的;
    4.WEB-INF下新建一個文件web.xml,內容如下:
    <?xml version="1.0" encoding="ISO-8859-1"?>

    <!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">

    <web-app>
    <display-name>My Web Application</display-name>
    <description>
    A application for test.
    </description>
    </web-app>

    5.在myapp下新建一個測試的jsp頁面,文件名為index.jsp,文件內容如下:

    <html>
    <head><title>大家好</title>
    </head>
    <body>
    <% out.println(" 大家好,我的第一個jsp程序"); %>
    </body>
    </html>

    6.重啟Tomcat
    7.打開瀏覽器,輸入http://localhost:8080/myapp/index.jsp 即可.

    Ⅷ 如何編譯java程序

    三種方法:

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

    2.作為一個獨立的文件且沒有定義Java環境變數,需要在cmd窗口中切換到java bin目錄下執行Javac程序,執行格式為javac 空格 Java源文件;如 javac C://hello.java;

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

    (8)java程序編譯擴展閱讀

    Java也是一種高級語言,要讓計算機執行你撰寫的Java程序,也得通過編譯程序的編譯。但是Java編譯程序並不直接將Java源代碼編譯為相依於計算機平台的0、1序列,而是將其編譯為位元組碼。

    Java源代碼的擴展名為.java,經過編譯程序編譯之後生成擴展名為.class的位元組碼。

    Ⅸ 如何編譯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());

    }

    }

    經驗總結:運行一個java程序的大概的流程是:

    書寫源代碼------>編譯------->運行---->結束。




    注意事項:

    1.在輸入的時候一定要注意區分大小寫。

    2.操作之前要保證自己的電腦配置了java的運行環境。

熱點內容
路虎攬運配置怎麼查詢 發布:2025-01-11 03:42:51 瀏覽:392
仿站源碼 發布:2025-01-11 03:42:05 瀏覽:39
騰訊的雲伺服器 發布:2025-01-11 03:40:47 瀏覽:568
百分之十的演算法 發布:2025-01-11 03:34:30 瀏覽:642
java16進制tostring 發布:2025-01-11 03:24:21 瀏覽:721
mql4c語言 發布:2025-01-11 03:24:20 瀏覽:255
科爾訪問蘇聯 發布:2025-01-11 03:15:47 瀏覽:331
python簡單計算器 發布:2025-01-11 03:15:13 瀏覽:577
python絕對路徑 發布:2025-01-11 03:10:55 瀏覽:759
優衣庫壓縮 發布:2025-01-11 03:06:36 瀏覽:354