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

命令行中 javac、java、javap 的使用小結(jié)

 更新時(shí)間:2023年07月12日 09:21:23   作者:joexk  
使用 java 命令運(yùn)行一個(gè).class文件,需要使用該類的全限定類名,同時(shí)需要在當(dāng)前路徑下有該類的包層次文件夾,這篇文章主要介紹了命令行中 javac、java、javap 的使用小結(jié),需要的朋友可以參考下

進(jìn)入命令窗口,若要切換到指定目錄,例如 E 盤下的目錄,有2種方法:

1)pushd [路徑] ,此命令可將當(dāng)前目錄設(shè)為指定的任一個(gè)已存在的目錄

C:\Users\Administrator>pushd e:360Downloads
E:\360Downloads>dir  // 顯示當(dāng)前目錄下的目錄及文件

2) 直接先輸入 e: ,然后再用 cd 切換到指定目錄

1. javac

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

javac -d destdir srcFile

1、-d destdir:指定存放編譯生成的 .class 文件的路徑。

當(dāng)前目錄可以用“.”來表示,即:javac -d . srcFile;

若此選項(xiàng)省略,那么默認(rèn)在當(dāng)前目錄下生成 .class 文件,并且沒有生成包文件夾;如 javac JavacTest.java ,便在當(dāng)前路徑下生成了一個(gè)JavacTest.class的文件。

這里寫圖片描述

JavacTest.java 是一個(gè)首行標(biāo)注了 package 的 java 文件,而此時(shí)編譯的字節(jié)碼文件 JavacTest.class 在硬盤上的目錄并未對(duì)應(yīng)它的包名,所以,使用 java com.stopTalking.test.JavacTest 運(yùn)行時(shí)是無法找到該java的。會(huì)報(bào)找不到該文件錯(cuò)誤。

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

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

這里寫圖片描述

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

例如:

E:\JavaWeb_workspaces\apptest\src\com\zxk\test>javac -encoding utf-8 -d . SoftReferenceTest.java

選項(xiàng) -encoding utf-8 為編譯指定編碼,避免中文亂碼。

2. java

然后執(zhí)行該字節(jié)碼文件,在大部分的教材中,看到直接使用 java JavacTest 便可執(zhí)行,可是我們發(fā)現(xiàn)出現(xiàn)這樣的錯(cuò)誤:

這里寫圖片描述

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

所以,在命令行需加上包層次目錄:java com/stopTalking/test/JavacTest,便可看到正確的結(jié)果了。

總結(jié):使用 java 命令運(yùn)行一個(gè).class文件,需要使用該類的全限定類名,同時(shí)需要在當(dāng)前路徑下有該類的包層次文件夾。這就必須要求編譯時(shí)使用 -d 選項(xiàng),否則需要手動(dòng)建立包層次文件夾。

3. javap

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

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

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

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

輸入 javap -c com/zxk/test/SoftReferenceTest ,輸出信息顯示如下:

E:\JavaWeb_workspaces\dbBackup\src\com\zxk\test>javap -c com/zxk/test/SoftReferenceTest
Compiled from "SoftReferenceTest.java"
public class com.zxk.test.SoftReferenceTest {
  public com.zxk.test.SoftReferenceTest();
    Code:
       0: aload_0
       1: invokespecial #1                  // Method java/lang/Object."<init>":()V
       4: return
  public static void main(java.lang.String[]);
    Code:
       0: ldc           #2                  // int 100000
       2: anewarray     #3                  // class java/lang/ref/SoftReference
       5: astore_1
       6: iconst_0
       7: istore_2
       8: iload_2
       9: aload_1
      10: arraylength
      11: if_icmpge     59
      14: new           #4                  // class com/zxk/test/Person
      17: dup
      18: new           #5                  // class java/lang/StringBuilder
      21: dup
      22: invokespecial #6                  // Method java/lang/StringBuilder."<init>":()V
      25: ldc           #7                  // String name
      27: invokevirtual #8                  // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      30: iload_2
      31: invokevirtual #9                  // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder;
      34: invokevirtual #10                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
      37: iload_2
      38: invokespecial #11                 // Method com/zxk/test/Person."<init>":(Ljava/lang/String;I)V
      41: astore_3
      42: aload_1
      43: iload_2
      44: new           #3                  // class java/lang/ref/SoftReference
      47: dup
      48: aload_3
      49: invokespecial #12                 // Method java/lang/ref/SoftReference."<init>":(Ljava/lang/Object;)V
      52: aastore
      53: iinc          2, 1
      56: goto          8
      59: getstatic     #13                 // Field java/lang/System.out:Ljava/io/PrintStream;
      62: new           #5                  // class java/lang/StringBuilder
      65: dup
      66: invokespecial #6                  // Method java/lang/StringBuilder."<init>":()V
      69: ldc           #14                 // String 回收前:
      71: invokevirtual #8                  // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      74: aload_1
      75: iconst_0
      76: aaload
      77: invokevirtual #15                 // Method java/lang/ref/SoftReference.get:()Ljava/lang/Object;
      80: invokevirtual #16                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
      83: invokevirtual #10                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
      86: invokevirtual #17                 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
      89: invokestatic  #18                 // Method java/lang/System.gc:()V
      92: getstatic     #13                 // Field java/lang/System.out:Ljava/io/PrintStream;
      95: new           #5                  // class java/lang/StringBuilder
      98: dup
      99: invokespecial #6                  // Method java/lang/StringBuilder."<init>":()V
     102: ldc           #19                 // String 回收后:
     104: invokevirtual #8                  // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
     107: aload_1
     108: iconst_0
     109: aaload
     110: invokevirtual #15                 // Method java/lang/ref/SoftReference.get:()Ljava/lang/Object;
     113: invokevirtual #16                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
     116: invokevirtual #10                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
     119: invokevirtual #17                 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
     122: return
}

參考原文:

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

到此這篇關(guān)于命令行中 javac、java、javap 的使用詳解的文章就介紹到這了,更多相關(guān)javac、java、javap使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Protobuf的簡(jiǎn)要介紹及使用詳解

    Protobuf的簡(jiǎn)要介紹及使用詳解

    這篇文章主要介紹了Protobuf的簡(jiǎn)要介紹及使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Java實(shí)現(xiàn)PIFrame窗體效果的示例代碼

    Java實(shí)現(xiàn)PIFrame窗體效果的示例代碼

    在很多現(xiàn)代應(yīng)用中,常常需要使用個(gè)性化的窗體外觀,擺脫傳統(tǒng)窗口邊框的限制,無邊框、透明、圓角和陰影效果使得窗體顯得更輕巧、更具視覺吸引力,同時(shí)允許用戶自由拖拽和停靠窗體,所以本文給大家介紹了如何使用Java實(shí)現(xiàn)PIFrame窗體效果,需要的朋友可以參考下
    2025-03-03
  • Java 實(shí)戰(zhàn)項(xiàng)目之教材管理系統(tǒng)的實(shí)現(xiàn)流程

    Java 實(shí)戰(zhàn)項(xiàng)目之教材管理系統(tǒng)的實(shí)現(xiàn)流程

    讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+jsp+mysql+maven實(shí)現(xiàn)教材管理系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平
    2021-11-11
  • Java?使用JDBC操作PI數(shù)據(jù)庫的方法

    Java?使用JDBC操作PI數(shù)據(jù)庫的方法

    文章介紹在Windows系統(tǒng)下使用JDBC驅(qū)動(dòng)訪問PI數(shù)據(jù)庫的方法,涵蓋環(huán)境要求(JRE8+)、安裝步驟(OLEDB、SQLDAS、JDBC驅(qū)動(dòng))、連接原理及SpringBoot集成方式,感興趣的朋友跟隨小編一起看看吧
    2025-08-08
  • Java實(shí)現(xiàn)PDF打印的解決方案

    Java實(shí)現(xiàn)PDF打印的解決方案

    今天小編就為大家分享一篇關(guān)于Java實(shí)現(xiàn)PDF打印的解決方案,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • jackson設(shè)置返回null為空字符串的操作

    jackson設(shè)置返回null為空字符串的操作

    這篇文章主要介紹了jackson設(shè)置返回null為空字符串的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Spring中事件發(fā)布機(jī)制及流程詳解

    Spring中事件發(fā)布機(jī)制及流程詳解

    這篇文章主要介紹了Spring中事件發(fā)布機(jī)制及流程詳解,在分析源碼的過程中,也是大量使用了事件機(jī)制,在我分析的這篇博客中,有不少地方都運(yùn)用了事件發(fā)布機(jī)制,所以本文的目的是從SpringBoot中學(xué)習(xí)到事件的發(fā)布流程,需要的朋友可以參考下
    2023-11-11
  • Java向上轉(zhuǎn)型和向下轉(zhuǎn)型的區(qū)別說明

    Java向上轉(zhuǎn)型和向下轉(zhuǎn)型的區(qū)別說明

    這篇文章主要介紹了Java向上轉(zhuǎn)型和向下轉(zhuǎn)型的區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • 關(guān)于ArrayList初始化容量的問題

    關(guān)于ArrayList初始化容量的問題

    這篇文章主要介紹了關(guān)于ArrayList初始化容量的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Java實(shí)現(xiàn)圖片旋轉(zhuǎn)、指定圖像大小和水平翻轉(zhuǎn)

    Java實(shí)現(xiàn)圖片旋轉(zhuǎn)、指定圖像大小和水平翻轉(zhuǎn)

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)圖像旋轉(zhuǎn),指定圖像大小,水平翻轉(zhuǎn)圖像,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02

最新評(píng)論

九寨沟县| 精河县| 从江县| 荃湾区| 阿克苏市| 渭源县| 沈丘县| 绥棱县| 冀州市| 峡江县| 剑河县| 子洲县| 沙坪坝区| 马关县| 福建省| 沾化县| 鹿泉市| 嘉禾县| 洱源县| 贡山| 富顺县| 泰宁县| 文成县| 岱山县| 光泽县| 衡东县| 南宫市| 若羌县| 谢通门县| 通海县| 法库县| 城市| 汉川市| 和田市| 来凤县| 隆尧县| 上杭县| 九龙县| 息烽县| 横山县| 洛川县|