一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語(yǔ)言 - JAVA教程 - windows命令行中java和javac、javap使用詳解(java編譯命令)

windows命令行中java和javac、javap使用詳解(java編譯命令)

2019-11-15 14:47java教程網(wǎng) JAVA教程

最近重新復(fù)習(xí)了一下java基礎(chǔ),這里便講講對(duì)于一個(gè)類文件如何編譯、運(yùn)行、反編譯的。也讓自己加深一下印象

如題,首先我們?cè)谧烂妫_(kāi)始->運(yùn)行->鍵入cmd 回車,進(jìn)入windows命令行。進(jìn)入如圖所示的畫(huà)面:

windows命令行中java和javac、javap使用詳解(java編譯命令)

可知,當(dāng)前默認(rèn)目錄為C盤(pán)Users文件夾下的Administrator文件夾。一般而言,我們習(xí)慣改變當(dāng)前目錄。由于windows有磁盤(pán)分區(qū),若要跳到其他磁盤(pán),例如E盤(pán),有幾種方法:

1、輸入命令: pushd 路徑(此命令可將當(dāng)前目錄設(shè)為所希望的任一個(gè)已存在的路徑)

2、輸入命令: e:  轉(zhuǎn)移到e盤(pán),然后再輸入 cd 轉(zhuǎn)移到所希望的已知路徑。

如圖:

windows命令行中java和javac、javap使用詳解(java編譯命令)

希望在windows命令行下使用javac、java、javap等命令,那么當(dāng)前電腦必須安裝了jdk,并且將jdk的bin目錄添加到環(huán)境變量path下了。這個(gè)不用多說(shuō)。那么讓我們看一下如何使用javac、java、javap吧。

一、javac

javac是用來(lái)編譯.java文件的。命令行下直接輸入javac可以看到大量提示信息,提示javac命令的用法,我只知道常用的。

javac -d destdir srcFile

其中:1、-d destdir是用來(lái)指定存放編譯生成的.class文件的路徑。(若此選項(xiàng)省略,那么默認(rèn)在當(dāng)前目錄下生成.class文件,并且沒(méi)有生成包文件夾;當(dāng)前目錄可以用“.”來(lái)表示,即:javac -d . srcFile )

注意:添加-d選項(xiàng)除了可以指定編譯生成的.class文件的路徑外,最大的區(qū)別是可以將源文件首行的package關(guān)鍵字下的包名在當(dāng)前路徑下生成文件夾。

2、srcFile是源文件.java文件的路徑。

例如:有這樣一個(gè)簡(jiǎn)單的java類,路徑為E:\test\JavacTest.java:

復(fù)制代碼代碼如下:

package com.stopTalking.test;      public class JavacTest {          public static void main(String[] args) {       
        byte a = 5;        
        short b = 6;        
        System.out.println("JavacTest [a=" + a + ", b=" + b +  "]");        
    }        
}



當(dāng)前路徑下,輸入 javac JavacTest.java ,便在當(dāng)前路徑下生成了一個(gè)JavacTest.class的文件,如圖:

windows命令行中java和javac、javap使用詳解(java編譯命令)

注意:JavacTest.java是一個(gè)首行標(biāo)注了package的java文件,而此時(shí)它在硬盤(pán)上的目錄并未對(duì)應(yīng)它的包名,所以,使用java com.stopTalking.test.JavacTest運(yùn)行時(shí)是無(wú)法找到該java的。

若輸入,javac –d . JavacTest.java ,那么生成的JavacTest.class便在當(dāng)前目錄下生成的包文件中了,如圖:

windows命令行中java和javac、javap使用詳解(java編譯命令)

二、java

此時(shí),我們希望運(yùn)行該類,在大部分的教材中,使用java JavacTest便可直接運(yùn)行,可是我們發(fā)現(xiàn)出現(xiàn)這樣的錯(cuò)誤:

windows命令行中java和javac、javap使用詳解(java編譯命令)

這是因?yàn)椋蟛糠值慕滩氖褂玫念愂悄J(rèn)包名的,即源文件的第一行是沒(méi)有package指定包名的。使用一個(gè)類,我們知道,是需要使用它的全限定類名的。

所以,我們?cè)诿钚休斎耄簀ava com/stopTalking/test/JavacTest,便可看到正確的結(jié)果了:

windows命令行中java和javac、javap使用詳解(java編譯命令)

總結(jié):使用簡(jiǎn)單的java命令運(yùn)行一個(gè).class文件,不僅需要使用該類的全限定類名,而且需要在當(dāng)前路徑下有該類的包層次文件夾。這必須要求編譯時(shí)使用-d選項(xiàng)。否則需要自己來(lái)建立包層次文件夾。

三、javap

javap主要用于幫助開(kāi)發(fā)者深入了解Java編譯器的機(jī)制,主要選項(xiàng)有:

-c 分解方法代碼,即顯示每個(gè)方法具體的字節(jié)碼

-public | protected | package | private 用于指定顯示哪種級(jí)別的類成員

-verbose 指定顯示更進(jìn)一步的詳細(xì)信息

輸入 javap -c com/stopTalking/test/JavacTest,顯示如圖:

windows命令行中java和javac、javap使用詳解(java編譯命令)

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美亚洲免费 | 日韩欧美亚洲天堂 | juliaann丝袜精品系列 | 青青草原伊人网 | 色天天综合网色鬼综合 | 韩国一区二区三区 | 美女张开大腿让男人桶 | 校花小雪灌满了男人们的浓浆 | 冰雪奇缘1完整版免费观看 变形金刚第一部 | 美女女女女女女bbbbbb毛片 | 亚洲精品一区制服丝袜 | 四虎精品成人免费影视 | 午夜福利理论片在线播放 | 成人性爱视频在线观看 | 久久视频在线视频观看天天看视频 | 亚洲成人影院在线观看 | 国产成人一区二区三区在线视频 | 国产成人精品午夜在线播放 | 欧美xxxxx九色视频免费观看 | 精品久久久久久久久久香蕉 | 午夜AV亚洲一码二中文字幕青青 | beeg最新 | 日本天堂影院在线播放 | 日本破处 | 欧美日韩中文国产一区 | 日本视频一区在线观看免费 | 无人视频在线观看完整版高清 | 亚洲国产精品久久无套麻豆 | 99久久国语露脸精品国产 | 新影音先锋男人色资源网 | 我将她侵犯1~6樱花动漫在线看 | 古代双性美人被老糟蹋 | 男女激情视频1000辣妞范 | nxgx欧美| 亚洲美色综合天天久久综合精品 | 欧美人做人爱a全程免费 | a级免费在线观看 | 2022色婷婷综合久久久 | 日韩精品高清自在线 | www视频免费 | 欧美xxxxx性|