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

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

 更新時間:2014年03月10日 16:34:22   作者:  
最近重新復習了一下java基礎,在使用javap的過程中遇到了一些問題,這里便講講對于一個類文件如何編譯、運行、反編譯的。也讓自己加深一下印象

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

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

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

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

如圖:

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

一、javac

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

javac -d destdir srcFile

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

注意:添加-d選項除了可以指定編譯生成的.class文件的路徑外,最大的區(qū)別是可以將源文件首行的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的文件,如圖:

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

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

二、java

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

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

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

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

三、javap

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

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

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

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

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

相關文章

  • Java實現(xiàn)Excel批量導入數(shù)據(jù)

    Java實現(xiàn)Excel批量導入數(shù)據(jù)

    這篇文章主要為大家詳細介紹了Java實現(xiàn)Excel批量導入數(shù)據(jù),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • Maven 常用插件的詳細整理

    Maven 常用插件的詳細整理

    這篇文章主要介紹了Maven 常用插件的詳細整理的相關資料,這里整理了maven的常用插件需要的朋友可以看下,需要的朋友可以參考下
    2017-08-08
  • Java中實現(xiàn)文件上傳下載的三種解決方案(推薦)

    Java中實現(xiàn)文件上傳下載的三種解決方案(推薦)

    這篇文章主要介紹了Java中實現(xiàn)文件上傳下載的三種解決方案的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • Java中Lombok常用注解分享

    Java中Lombok常用注解分享

    以前的Java項目中充斥了太多不友好的代碼,這些代碼不僅沒有什么技術含量,還影響代碼的美觀,所以Lombok應運而生了。本文和大家分享了一些Java中Lombok常用注解,需要的可以了解一下
    2023-04-04
  • Java AtomicInteger類的使用方法詳解

    Java AtomicInteger類的使用方法詳解

    這篇文章主要介紹了Java AtomicInteger類的使用方法詳解,文中有具體實例代碼,具有一定參考價值,需要的朋友可以了解下。
    2017-10-10
  • 解決springboot mapper注入報紅問題

    解決springboot mapper注入報紅問題

    這篇文章主要介紹了解決springboot mapper注入報紅問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • SpringCloud-Gateway網(wǎng)關的使用實例教程

    SpringCloud-Gateway網(wǎng)關的使用實例教程

    Gateway網(wǎng)關在微服務架構中扮演了不可或缺的角色,通過集中化管理、智能路由和強大的過濾器機制,為構建高效、可擴展的微服務系統(tǒng)提供了有力支持,這篇文章主要介紹了SpringCloud-Gateway網(wǎng)關的使用,需要的朋友可以參考下
    2024-03-03
  • javaweb實戰(zhàn)之商城項目開發(fā)(三)

    javaweb實戰(zhàn)之商城項目開發(fā)(三)

    這篇文章主要針對javaweb商城項目開發(fā)進行實戰(zhàn)演習,主要實現(xiàn)通用的BaseDao.java和使用resultMap映射關聯(lián)對象,感興趣的小伙伴們可以參考一下
    2016-02-02
  • SpringBoot整合Thymeleaf的方法

    SpringBoot整合Thymeleaf的方法

    這篇文章主要介紹了SpringBoot整合Thymeleaf的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下,希望能夠幫助到你
    2021-07-07
  • Java中的@Async異步功能詳解

    Java中的@Async異步功能詳解

    這篇文章主要介紹了Java中的@Async異步功能詳解,@Async注解,可以實現(xiàn)異步處理的功能,它可以有返回值,或者直接在新線程時并行執(zhí)行一個任務,對于異步來說,它的執(zhí)行是有條件的,你需要把異步代碼塊放在單獨的類里,需要的朋友可以參考下
    2023-11-11

最新評論

凌海市| 安泽县| 常山县| 含山县| 教育| 彰化县| 二连浩特市| 福安市| 桃园县| 石阡县| 安塞县| 蛟河市| 凤山县| 延庆县| 体育| 资中县| 浮梁县| 昭通市| 三明市| 石柱| 凌海市| 太谷县| 台北县| 察雅县| 三河市| 浙江省| 鄂尔多斯市| 遂昌县| 苏尼特左旗| 阜新市| 凤冈县| 建阳市| 建瓯市| 深水埗区| 新泰市| 工布江达县| 惠来县| 金塔县| 柯坪县| 宜良县| 阳朔县|