成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

java代碼的編譯與運(yùn)行 運(yùn)行java的編譯器

怎么用記事本編譯運(yùn)行java程序代碼?

在DOS 窗口下。進(jìn)入你寫的程序目錄。例如你把寫的程序保存到D:\\a.java\x0d\x0a\x0d\x0a這個(gè)時(shí)候在DOS下進(jìn)入D:\\\x0d\x0a\x0d\x0a然后調(diào)用JDK的編譯器javac程序\x0d\x0a\x0d\x0aD:\\javac a.java\x0d\x0a\x0d\x0a如果成功,在同一目錄下會(huì)產(chǎn)生一個(gè)擴(kuò)展名為.class的字節(jié)碼,然后調(diào)用JDK的java程序是用來(lái)啟動(dòng)虛擬機(jī)\x0d\x0a\x0d\x0aD:\\java a\x0d\x0a\x0d\x0a如果,沒(méi)有編寫上的錯(cuò)誤,就可以看到運(yùn)行結(jié)果了。

創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營(yíng)銷、網(wǎng)站重做改版、西和網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁(yè)面制作、商城建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為西和等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

如何編譯運(yùn)行一個(gè)簡(jiǎn)單的java程序

通常開(kāi)發(fā)一個(gè)java應(yīng)用程序可分為三個(gè)步驟:

1.創(chuàng)建一個(gè)帶有文件擴(kuò)展名 *.java 的源文件

1).使用編輯器(如記事本,小編使用的是notepad++),輸入以下6行文本:

1 //一個(gè)簡(jiǎn)單的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編譯源文件生成一個(gè)帶有文件擴(kuò)展 *.class 的字節(jié)碼文件

1).win+R,在文本框輸入cmd,回車,進(jìn)入DOS窗口。

2).使用cd命令將路徑轉(zhuǎn)入源文件“Hello.java”所在路徑(cd用法可參照DOC窗口之cd命令),輸入“javac Hello.java”命令,回車。

同時(shí),我們?cè)谠次募癏ello.java”所在文件夾可以發(fā)現(xiàn)多了一個(gè)字節(jié)碼文件(編輯器javac.exe編譯的結(jié)果),這就對(duì)了。

3.使用java解釋器 java.exe?運(yùn)行字節(jié)碼

在當(dāng)前路徑下,輸入 “java Hello” 命令,回車。運(yùn)行結(jié)果如下

爪哇之路開(kāi)啟成功。

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

Java代碼的編譯與反編譯

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

一、什么是編譯

1、利用編譯程序從源語(yǔ)言編寫的源程序產(chǎn)生目標(biāo)程序的過(guò)程。

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

二、什么是反編譯

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

三、Java類的編譯與反編譯

我們?cè)谧畛鯇W(xué)習(xí)Java的時(shí)候,會(huì)接觸到兩個(gè)命令:javac和java,那個(gè)時(shí)候我們就知道,javac是用來(lái)編譯Java類的,就是將我們寫好的helloworld.java文件編譯成helloworld.class文件。

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

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

四、什么時(shí)候會(huì)用到反編譯

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

2、學(xué)習(xí)Java過(guò)程中,JDK的每個(gè)版本都會(huì)加入越來(lái)越多的語(yǔ)法糖,有些時(shí)候我們想知道Java一些實(shí)現(xiàn)細(xì)節(jié),我們可以借助反編譯。

五、反編譯工具

1、javap

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

客戶端:

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

因?yàn)槲沂褂玫氖莑inux操作系統(tǒng),所以我下載的是Linux版本的工具,這個(gè)工具下載好之后會(huì)有一個(gè)執(zhí)行文件,只要在執(zhí)行文件所在目錄執(zhí)行./jadhelloworld.class就會(huì)在當(dāng)前目錄下生成helloworld.jad文件,該文件里就是我們很熟悉的Java代碼

Eclipse插件:

下載地址在官網(wǎng)下載插件的jar包,然后將jar包放到eclipse的plugins目錄下‘在打開(kāi)Eclipse,Eclipse-Window-Preferences-Java,此時(shí)你會(huì)發(fā)現(xiàn)會(huì)比原來(lái)多了一個(gè)JadClipse的選項(xiàng),單擊,在Pathtodecompiler中輸入你剛才放置jad.exe的位置,也可以制定臨時(shí)文件的目錄。當(dāng)然在JadClipse下還有一些子選項(xiàng),如Debug,Directives等,按照默認(rèn)配置即可?;九渲猛戤吅螅覀兛梢圆榭匆幌耤lass文件的默認(rèn)打開(kāi)方式,Eclipse-Window-Preferences-General-Editors-FileAssociations我們可以看到class文件的打開(kāi)方式有兩個(gè),JadClipse和Eclipse自帶的ClassFileViewer,而JadClipse是默認(rèn)的。全部配置完成,下面我們可以查看源碼了,選擇需要查看的類,按F3即可查看源碼

請(qǐng)問(wèn)java程序在編譯和運(yùn)行時(shí)有什么區(qū)別,系統(tǒng)分別都會(huì)做什么?

小弟不才,籠統(tǒng)點(diǎn)說(shuō),編譯是把我們寫的java語(yǔ)言編譯成一種過(guò)渡語(yǔ)言給機(jī)器識(shí)別(電腦是不會(huì)直接看懂你寫的java語(yǔ)言的,中間需要一個(gè)轉(zhuǎn)換過(guò)程,可以理解成是編譯的作用),例如會(huì)生成*.class等這些文件,而運(yùn)行就是執(zhí)行編譯后的那些文件。。應(yīng)該大概就是這樣

如何使用命令行編譯和運(yùn)行Java代碼

這里給你一個(gè)具體的場(chǎng)景來(lái)講述如何使用命令行編譯和運(yùn)行Java代碼:

任務(wù)

我們有一個(gè)相當(dāng)標(biāo)準(zhǔn)的Java工程,它包含三個(gè)頂層文件夾:

/bin-用來(lái)存放已編譯好的.class文件

/lib-用來(lái)存放第三方.jar文件

/src-存放.java源代碼

我的任務(wù)就是要從Java工程根目錄去編譯和運(yùn)行工程。我們將使用Windows操作系統(tǒng)作為例子(和在Unix系統(tǒng)上的唯一區(qū)別就是路徑分隔符是”:“而不是”;“)。

編譯Java代碼

第一步是把文本文件.java源代碼編譯成Java虛擬機(jī)字節(jié)碼文件(.class)。這一步使用一個(gè)叫javac的JDK工具來(lái)完成。

假設(shè)我們?cè)趹?yīng)用的根目錄下,從com.example包下嘗試把Application.java文件,以及把lib文件夾中的lib1.jar和lib2.jar庫(kù)編譯到目標(biāo)文件夾bin下,編譯命令應(yīng)該是如下格式:

javac -d bin -sourcepath src -cp lib/lib1.jar;lib/lib2.jar src/com/example/Application.java1

編譯完后,/bin/com/example/Application.class應(yīng)該就會(huì)創(chuàng)建出來(lái)了。如何Application.java使用了其他工程的類,那么他們?nèi)繒?huì)自動(dòng)被編譯并且放到相應(yīng)的文件夾下。

運(yùn)行Java代碼

為了啟動(dòng)我們剛剛編譯的.class文件,需要另外一個(gè)叫java的JDK工具。

假設(shè)我們?cè)趹?yīng)用的根目錄下,為了能夠啟動(dòng)com.example包中的,使用了lib文件夾下的lib1.jar和lib2.jar庫(kù)的Application.class文件,啟動(dòng)命令應(yīng)該是如下

java -cp bin;lib/lib1.jar;lib/lib2.jar com.example.Application

我們?cè)谶@里沒(méi)有提供文件名,只有一個(gè)實(shí)際的類名,java會(huì)基于提供的classpath(縮寫成cp)路徑去搜索。

當(dāng)前題目:java代碼的編譯與運(yùn)行 運(yùn)行java的編譯器
文章起源:http://jinyejixie.com/article44/dosdghe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、定制開(kāi)發(fā)、搜索引擎優(yōu)化、網(wǎng)站設(shè)計(jì)微信公眾號(hào)、營(yíng)銷型網(wǎng)站建設(shè)

廣告

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

h5響應(yīng)式網(wǎng)站建設(shè)
瑞丽市| 会东县| 瑞安市| 莱西市| 根河市| 龙川县| 连城县| 泗阳县| 乌兰察布市| 和顺县| 文安县| 阿尔山市| 闵行区| 车致| 云龙县| 建始县| 含山县| 莫力| 界首市| 界首市| 尼木县| 东源县| 台北县| 贞丰县| 衡阳县| 鄂托克前旗| 太原市| 大邑县| 洛扎县| 涿鹿县| 盐津县| 嘉黎县| 贡山| 长海县| 临颍县| 胶州市| 宜州市| 秦安县| 宝清县| 新田县| 梅州市|