最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2014年03月23日 11:53:15   作者:  
最近重新復(fù)習(xí)了一下java基礎(chǔ),這里便講講對于一個類文件如何編譯、運行、反編譯的。也讓自己加深一下印象

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

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

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

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

如圖:

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

一、javac

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

javac -d destdir srcFile

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

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

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

例如:有這樣一個簡單的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)前路徑下生成了一個JavacTest.class的文件,如圖:

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

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

二、java

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

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

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

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

三、javap

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

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

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

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

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

相關(guān)文章

  • Java源碼解析之超級接口Map

    Java源碼解析之超級接口Map

    今天給各位小伙伴介紹一下超級接口Map,文中對接口Map講的非常詳細(xì),對正在學(xué)習(xí)java的小伙伴們有很好的幫助喲,需要的朋友可以參考下
    2021-05-05
  • Java正則提取中括號中的內(nèi)容操作示例

    Java正則提取中括號中的內(nèi)容操作示例

    這篇文章主要介紹了Java正則提取中括號中的內(nèi)容操作,涉及Java針對字符串的正則匹配、轉(zhuǎn)換、遍歷等相關(guān)操作技巧,需要的朋友可以參考下
    2018-06-06
  • VSCode搭建Java開發(fā)環(huán)境的超詳細(xì)步驟

    VSCode搭建Java開發(fā)環(huán)境的超詳細(xì)步驟

    VSCode是一款多平臺的源代碼編輯器,支持多種編程語言,它輕量級、功能強大,通過豐富的插件生態(tài)系統(tǒng)可以支持更多語言和運行時,如C++、C#、Java、Python等,這篇文章主要介紹了VSCode搭建Java開發(fā)環(huán)境的超詳細(xì)步驟,需要的朋友可以參考下
    2024-10-10
  • Maven中pom.xml配置文件詳細(xì)介紹

    Maven中pom.xml配置文件詳細(xì)介紹

    這篇文章主要介紹了Maven中pom.xml配置文件詳細(xì)介紹,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • JAVA實現(xiàn)caesar凱撒加密算法

    JAVA實現(xiàn)caesar凱撒加密算法

    Carsar加密算法是最簡單的加密算法,原理是把一個字母在字母表中移動相應(yīng)的位置,比如輸入a,將其移動3位,經(jīng)過Caesar加密后輸出的d,位置可以循環(huán)移動,輸入x,則輸出a
    2014-01-01
  • java poi導(dǎo)出excel時如何設(shè)置手動換行

    java poi導(dǎo)出excel時如何設(shè)置手動換行

    這篇文章主要介紹了java poi導(dǎo)出excel時如何設(shè)置手動換行,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java8實現(xiàn)FTP及SFTP文件上傳下載

    Java8實現(xiàn)FTP及SFTP文件上傳下載

    這篇文章主要介紹了Java8實現(xiàn)FTP及SFTP文件上傳下載,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • Spring的Model?和?Map的原理源碼解析

    Spring的Model?和?Map的原理源碼解析

    這篇文章主要介紹了Spring的Model?和?Map的原理解析,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • 如何利用java控制鼠標(biāo)操作一些重復(fù)的事情

    如何利用java控制鼠標(biāo)操作一些重復(fù)的事情

    這篇文章主要給大家介紹了關(guān)于如何利用java控制鼠標(biāo)操作一些重復(fù)的事情,主要利用的是Robot類,Robot可以模擬鼠標(biāo)和鍵盤的輸入,相當(dāng)于Java版的按鍵精靈,需要的朋友可以參考下
    2021-12-12
  • mysql+spring+mybatis實現(xiàn)數(shù)據(jù)庫讀寫分離的代碼配置

    mysql+spring+mybatis實現(xiàn)數(shù)據(jù)庫讀寫分離的代碼配置

    今天小編就為大家分享一篇關(guān)于mysql+spring+mybatis實現(xiàn)數(shù)據(jù)庫讀寫分離的代碼配置,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03

最新評論

泰兴市| 屏南县| 绵阳市| 海盐县| 赞皇县| 泰兴市| 凌海市| 石城县| 桃江县| 永善县| 卢龙县| 绵竹市| 延川县| 尉犁县| 隆德县| 板桥市| 西盟| 霍州市| 巴林右旗| 安阳市| 上栗县| 泸水县| 攀枝花市| 鄯善县| 栖霞市| 丽水市| 东乌珠穆沁旗| 浪卡子县| 贡觉县| 梁平县| 海阳市| 犍为县| 岫岩| 惠水县| 信宜市| 太谷县| 绥江县| 印江| 罗定市| 兰西县| 盐源县|