2016年java編譯命令詳解
最近小編重新複習了一下java基礎,這裏便講講對於一個類文件如何編譯、運行、反編譯的。也讓自己加深一下印象
如題,首先我們在桌面,開始->運行->鍵入cmd 回車,進入windows命令行。進入如圖所示的畫面:
可知,當前默認目錄為C盤Users文件夾下的Administrator文件夾。一般而言,我們習慣改變當前目錄。由於windows有磁盤分區,若要跳到其他磁盤,例如E盤,有幾種方法:
1、輸入命令: pushd 路徑(此命令可將當前目錄設為所希望的任一個已存在的路徑)
2、輸入命令: e: 轉移到e盤,然後再輸入 cd 轉移到所希望的已知路徑。
如圖:
希望在windows命令行下使用javac、java、javap等命令,那麼當前電腦必須安裝了jdk,並且將jdk的bin目錄添加到環境變量path下了。這個不用多説。那麼讓我們看一下如何使用javac、java、javap吧。
一、javac
javac是用來編譯文件的。命令行下直接輸入javac可以看到大量提示信息,提示javac命令的用法,我只知道常用的。
javac -d destdir srcFile
其中:1、-d destdir是用來指定存放編譯生成的s文件的路徑。(若此選項省略,那麼默認在當前目錄下生成s文件,並且沒有生成包文件夾;當前目錄可以用“.”來表示,即:javac -d . srcFile )
注意:添加-d選項除了可以指定編譯生成的s文件的路徑外,最大的區別是可以將源文件首行的package關鍵字下的包名在當前路徑下生成文件夾。
2、srcFile是源文件文件的路徑。
例如:有這樣一個簡單的java類,路徑為E:test:
複製代碼代碼如下:
package ; public class JavacTest { public static void main(String[] args) {
byte a = 5;
short b = 6;
tln("JavacTest [a=" + a + ", b=" + b + "]");
}
}
當前路徑下,輸入 javac ,便在當前路徑下生成了一個s的文件,如圖:
注意:是一個首行標註了package的java文件,而此時它在硬盤上的目錄並未對應它的包名,所以,使用java cTest運行時是無法找到該java的。
若輸入,javac –d . ,那麼生成的s便在當前目錄下生成的包文件中了,如圖:
二、java
此時,我們希望運行該類,在大部分的教材中,使用java JavacTest便可直接運行,可是我們發現出現這樣的錯誤:
這是因為,大部分的教材使用的類是默認包名的,即源文件的第一行是沒有package指定包名的.。使用一個類,我們知道,是需要使用它的全限定類名的。
所以,我們在命令行輸入:java com/stopTalking/test/JavacTest,便可看到正確的結果了:
總結:使用簡單的java命令運行一個s文件,不僅需要使用該類的全限定類名,而且需要在當前路徑下有該類的包層次文件夾。這必須要求編譯時使用-d選項。否則需要自己來建立包層次文件夾。
三、javap
javap主要用於幫助開發者深入瞭解Java編譯器的機制,主要選項有:
-c 分解方法代碼,即顯示每個方法具體的字節碼
-public | protected | package | private 用於指定顯示哪種級別的類成員
-verbose 指定顯示更進一步的詳細信息
輸入 javap -c com/stopTalking/test/JavacTest,顯示如圖:
-
Java考試格林模擬試題
question1)whichofthefollowinglineswillcompilewithoutwarningorerror.1)floatf=1.3;2)charc="a";3)byteb=257;4)booleanb=null;5)inti=10;Ajs*+[j5h.u(uvnAjs*+[j5h.u(uvnquestion2)whatwillhappenifyoutrytocompileandrunthefollowingcodepublicclassmyclas...
-
JS控制html控件的方法
為了方便廣大計算機愛好者,下面YJBYS小編為大家整理了關於JS控制html控件的方法,希望對你有所幫助。方法一:《divid=myDiv》《/div》//容器varstrInnerHtml=《inputid=myInputtype=text》;//要添加的控件rHTML=strInnerHtml;//執行添加動作方法二:《divid=myDiv》...
-
高級Java面試題及答案2016
java高級面試有哪些常見問題呢?下面yjbys為大家分享最新java常見面試題及答案解析,僅供參考!什麼是可變參數?可變參數允許調用參數數量不同的方法。請看下面例子中的求和方法。此方法可以調用1個int參數,或2個int參數,或多個int參數。//int(type)followed...(thre...
-
java有哪幾種認證
Sun認證Java程序員考試內容涉及Java所有相關知識、編程概念及applet開發技巧。以下是小編整理的關於java的認證種類,希望大家認真閲讀!Java程序員認證一、怎樣可以獲得Sun公司的Java認證?如果你希望取得Sun公司Java認證,那麼必須通過Java程序員(SCJP)的考試。授...