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

服務器之家:專注于服務器技術及軟件下載分享
分類導航

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

服務器之家 - 編程語言 - JAVA教程 - java教程之java程序編譯運行圖解(java程序運行)

java教程之java程序編譯運行圖解(java程序運行)

2019-11-13 13:10java教程網 JAVA教程

最近重新復習了一下java基礎,在使用javap的過程中遇到了一些問題,這里便講講對于一個類文件如何編譯、運行、反編譯的。也讓自己加深一下印象

首先我們在桌面,開始->運行->鍵入cmd 回車,進入windows命令行。進入如圖所示的畫面:

java教程之java程序編譯運行圖解(java程序運行)

可知,當前默認目錄為C盤Users文件夾下的Administrator文件夾。一般而言,我們習慣改變當前目錄。由于windows有磁盤分區,若要跳到其他磁盤,例如E盤,有幾種方法:

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

2、輸入命令: e:  轉移到e盤,然后再輸入 cd 轉移到所希望的已知路徑。

如圖:

java教程之java程序編譯運行圖解(java程序運行)

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

一、javac

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

javac -d destdir srcFile

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

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

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

例如:有這樣一個簡單的java類,路徑為E:\test\JavacTest.java:

 

復制代碼代碼如下:


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 +  "]");        
}        
}



當前路徑下,輸入 javac JavacTest.java ,便在當前路徑下生成了一個JavacTest.class的文件,如圖:

 

java教程之java程序編譯運行圖解(java程序運行)

注意:JavacTest.java是一個首行標注了package的java文件,而此時它在硬盤上的目錄并未對應它的包名,所以,使用java com.stopTalking.test.JavacTest運行時是無法找到該java的。

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

java教程之java程序編譯運行圖解(java程序運行)

二、java

此時,我們希望運行該類,在大部分的教材中,使用java JavacTest便可直接運行,可是我們發現出現這樣的錯誤:

java教程之java程序編譯運行圖解(java程序運行)

這是因為,大部分的教材使用的類是默認包名的,即源文件的第一行是沒有package指定包名的。使用一個類,我們知道,是需要使用它的全限定類名的。

所以,我們在命令行輸入:java com/stopTalking/test/JavacTest,便可看到正確的結果了:

java教程之java程序編譯運行圖解(java程序運行)

總結:使用簡單的java命令運行一個.class文件,不僅需要使用該類的全限定類名,而且需要在當前路徑下有該類的包層次文件夾。這必須要求編譯時使用-d選項。否則需要自己來建立包層次文件夾。

三、javap

javap主要用于幫助開發者深入了解Java編譯器的機制,主要選項有:

-c 分解方法代碼,即顯示每個方法具體的字節碼

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

-verbose 指定顯示更進一步的詳細信息

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

java教程之java程序編譯運行圖解(java程序運行)

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲电影第1页 | 精品国产日韩亚洲一区在线 | 欧美大屁屁 | 非洲黑人gay巨大 | 大伊香蕉在线精品不卡视频 | 精品国产乱码久久久久久软件 | 欧美日韩精品乱国产 | 91短视频版高清在线观看免费 | 日本道色综合久久影院 | 成人在线免费观看视频 | 国产精品香蕉夜间视频免费播放 | 91夜夜人人揉人人捏人人添 | 成人在线免费看 | 久久亚洲精品AV成人无码 | 先锋影音 av | 亚洲激情一区 | 日韩欧美高清一区 | 无套白浆| 男人猛进女人屁股免费 | 亚洲精品国产精品麻豆99 | 视频高清在线观看 | 亚洲福利 影院 | 精品成人一区二区三区免费视频 | 动漫美女隐私尿口图片 | 亚洲女同一区二区 | 草逼视频免费看 | 亚洲精品乱码蜜桃久久久 | 成人免费一区二区三区在线观看 | 91亚洲一区二区在线观看不卡 | 国产一卡 | 外国a级片 | 成人香蕉xxxxxxx | 亚洲国产精品无码中文在线 | 亚洲国产精品热久久 | 精品久久免费观看 | 极品丝袜小说全集 | 99国产精品久久久久久久... | 王淑兰李思雨李铁柱乡村小说免费 | 99爱在线精品视频免费观看9 | 国产综合图区 | 91视频夜色 |