一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Java開發(fā)包

 iceberg_horn 2010-08-15

JDK(Java Development Kit,Java開發(fā)包,Java開發(fā)工具)是一個(gè)寫Java的applet和應(yīng)用程序的程序開發(fā)環(huán)境。它由一個(gè)處于操作系統(tǒng)層之上的運(yùn)行環(huán)境還有開發(fā)者編譯,調(diào)試和運(yùn)行用Java語言寫的applet和應(yīng)用程序所需的工具組成。

中科永聯(lián)高級技術(shù)培訓(xùn)中心(www.itisedu.com

      JDK(Java Development Kit,Java開發(fā)包Java開發(fā)工具)是一個(gè)寫Java的applet和應(yīng)用程序的程序開發(fā)環(huán)境。它由一個(gè)處于操作系統(tǒng)層之上的運(yùn)行環(huán)境還有開發(fā)者編譯,調(diào)試和運(yùn)行用Java語言寫的applet和應(yīng)用程序所需的工具組成。

      JDK(Java Development Kit)是Sun Microsystems針對Java開發(fā)員的產(chǎn)品。自從Java推出以來,JDK已經(jīng)成為使用最廣泛的Java SDK(Software development kit)。

      JDK包含的基本組件包括:

      ·javac – 編譯器,將源程序轉(zhuǎn)成字節(jié)碼
      ·jar – 打包工具,將相關(guān)的文件打包成一個(gè)文件
      ·javadoc – 文檔生成器,從源碼注釋中提取文檔
      ·jdb – debugger,查錯(cuò)工具

      JDK中還包括完整的JREJava Runtime Environment,Java運(yùn)行環(huán)境),也被稱為private runtime。包括了用于產(chǎn)品環(huán)境的各種庫類,以及給開發(fā)員使用的補(bǔ)充庫,如國際化的庫、IDL庫。

      JDK中還包括各種例子程序,用以展示Java API中的各部分。

      從初學(xué)者角度來看,采用JDK開發(fā)Java程序能夠很快理解程序中各部分代碼之間的關(guān)系,有利于理解Java面向?qū)ο?/span>的設(shè)計(jì)思想。JDK的另一個(gè)顯著特點(diǎn)是隨著Java (J2EE、J2SE以及J2ME)版本的升級而升級。但它的缺點(diǎn)也是非常明顯的就是從事大規(guī)模企業(yè)級Java應(yīng)用開發(fā)非常困難,不能進(jìn)行復(fù)雜的Java軟件開發(fā),也不利于團(tuán)體協(xié)同開發(fā)。

      JDK一般有三種版本:

      SE(J2SE),standard edition,標(biāo)準(zhǔn)版,是我們通常用的一個(gè)版本
      EE(J2EE),enterpsise edtion,企業(yè)版,使用這種JDK開發(fā)J2EE應(yīng)用程序,
      ME(J2ME),micro edtion,主要用于移動(dòng)設(shè)備、嵌入式設(shè)備上的java應(yīng)用程序

      Java開發(fā)工具(JDK)是許多Java專家最初使用的開發(fā)環(huán)境。盡管許多編程人員已經(jīng)使用第三方的開發(fā)工具,但JDK仍被當(dāng)作Java開發(fā)的重要工具。

   JDK由一個(gè)標(biāo)準(zhǔn)類庫和一組建立,測試及建立文檔的Java實(shí)用程序組成。其核心Java

   API是一些預(yù)定義的類庫,開發(fā)人員需要用這些類來訪問Java語言的功能。Java API包括一些重要的語言結(jié)構(gòu)以及基本圖形,網(wǎng)絡(luò)和文件I/O。一般來說,Java API的非I/O部分對于運(yùn)行Java的所有平臺(tái)是相同的,而I/O部分則僅在通用Java環(huán)境中實(shí)現(xiàn)。

   作為JDK實(shí)用程序,工具庫中有七種主要程序。

   Javac: Java:Java解釋器,直接從類文件執(zhí)行Java應(yīng)用程序字節(jié)代碼。
   appletviewer:小程序?yàn)g覽器,一種執(zhí)行HTML文件上的Java小程序的Java瀏覽器。
   Javadoc:根據(jù)Java源碼及說明語句生成HTML文檔。
   Jdb:Java調(diào)試器,可以逐行執(zhí)行程序,設(shè)置斷點(diǎn)和檢查變量。
   Javah:產(chǎn)生可以調(diào)用Java過程的C過程,或建立能被Java程序調(diào)用的C過程的頭文件。
   Javap:Java反匯編器,顯示編譯類文件中的可訪問功能和數(shù)據(jù),同時(shí)顯示字節(jié)代碼含義。

一、JDK文件結(jié)構(gòu)

      本文檔給出 JDK 目錄及其所包含的文件的概述。

      開發(fā)文件和目錄

      本節(jié)對開發(fā) Java 平臺(tái)應(yīng)用程序所要求的文件和目錄進(jìn)行說明。(不要求的目錄有:演示程序、Java 源代碼和 C 頭文件。下一節(jié)附加文件和目錄將對它們進(jìn)行論述。) 下圖列出的是最重要的目錄:

                 jdk1.2
        ___________|____________________
       |           |                    |
      bin         lib                  jre
       |           |          __________|___________
   java.exe    tools.jar     |                      |
   javac.exe   dt.jar       bin                    lib
   javap.exe            _____|____          ________|________
   javah.exe           |          |        |        |        |
   javadoc.exe     java.exe    classic   rt.jar    ext   
security
                   java.dll       |      i18n.jar   |
                   awt.dll     jvm.dll            iiimp.jar   
      假定 JDK 軟件安裝在 c:\jdk1.2 目錄中,下面列出的是那些關(guān)鍵目錄及它們之所以重要的原因:

      c:\jdk1.2
      JDK 軟件安裝的根目錄。包含版權(quán)、許可及 README 文件。還包括:
      src.jar -- 構(gòu)成 Java 平臺(tái)核心 API 的所有類的源文件的歸檔。
      c:\jdk1.2\bin
      Java 開發(fā)工具包 (JDK) 中所包含的開發(fā)工具的可執(zhí)行文件。PATH 環(huán)境變量應(yīng)該包含一個(gè)指示此目錄的項(xiàng)。有關(guān)工具的詳細(xì)信息,參見 JDK 工具。
      c:\jdk1.2\lib
      開發(fā)工具使用的文件。這些文件包括 tools.jar,它包含支持 JDK 的工具和實(shí)用程序的非核心類。還包括 dt.jar,它是 BeanInfo 文件的 DesignTime 歸檔,BeanInfo 文件用來告訴交互開發(fā)環(huán)境 (IDE) 如何顯示 Java 組件以及如何讓開發(fā)人員根據(jù)應(yīng)用程序自定義它們。
      c:\jdk1.2\jre
      JDK 開發(fā)工具所使用的 Java 運(yùn)行時(shí)環(huán)境的根目錄。運(yùn)行時(shí)環(huán)境是 Java 1.2 平臺(tái)的實(shí)現(xiàn)。除了文檔外,它與可部署的 JRE 完全相同。
      c:\jdk1.2\jre\bin
      Java 平臺(tái)使用的工具和庫的可執(zhí)行文件及 DLL??蓤?zhí)行文件與 /jdk1.2/bin 中的文件相同。java 啟動(dòng)器工具擔(dān)當(dāng)應(yīng)用程序啟動(dòng)器的角色,它替代了與 1.1 版的 JDK 軟件一同發(fā)行的舊 jre 工具。不必將該目錄放在 PATH 環(huán)境變量中。
      c:\jdk1.2\jre\bin\classic
      包含經(jīng)典虛擬機(jī)使用的 Windows DLL 文件。經(jīng)典虛擬機(jī)是 Java 虛擬機(jī)的語言解釋器版本。當(dāng)新的虛擬機(jī)可用時(shí),它們的 DLL 將被安裝在 jre/bin 的某個(gè)新子目錄中。
      c:\jdk1.2\jre\lib
      Java 運(yùn)行時(shí)環(huán)境使用的代碼庫、屬性設(shè)置和資源文件。包括:
      rt.jar -- 自舉類(構(gòu)成 Java 平臺(tái)核心 API 的 RunTime 類)。
      i18n.jar -- 字符轉(zhuǎn)換類及其它與國際化和本地化有關(guān)的類。
      除(下面將要闡述的) ext 子目錄以外,還有幾個(gè)資源子目錄不在此處說明。
      c:\jdk1.2\jre\lib\ext
      Java 平臺(tái)擴(kuò)展的缺省安裝目錄。例如,這是安裝時(shí) JavaHelp jar 文件的安裝目錄。包括:
iiimp.jar -- 實(shí)現(xiàn) Internet-Intranet 輸入方法協(xié)議的類,供從使用國際字符集的設(shè)備上接收輸入的應(yīng)用程序來使用。
      c:\jdk1.2\jre\lib\security
      包含用于安全管理的文件。這些文件包括安全策略 (java.policy) 和安全屬性 (java.security) 文件。

      附加文件和目錄

      本節(jié)說明演示程序、Java 源代碼和 C 頭文件的目錄結(jié)構(gòu)。下面是目錄結(jié)構(gòu):

                   jdk1.2
      __________ _____|_____ _____________
     |          |           |             |
   src.jar    demo       include     include-old
             ___|___
            |       |
          applets  jfc
                    |
                  Java2D    
 
      以上所顯示的附加目錄為:

      c:\jdk1.2\demo
      含有源代碼的程序示例,用于顯示如何為 Java 平臺(tái)編程。
      c:\jdk1.2\demo\applets
      可用在網(wǎng)頁上的 applet。
      c:\jdk1.2\demo\jfc
      使用新 JFC\Swing 組件的示例。
      c:\jdk1.2\demo\jfc\Java2D
      使用新 Java 2D 圖形的示例。
      c:\jdk1.2\include
      C 語言頭文件,它支持使用 Java 本地接口 【 web】和 Java 虛擬機(jī)調(diào)試程序接口 【 web】 的本地代碼編程技術(shù)。
      c:\jdk1.2\include-old
      頭文件,支持使用舊接口的本地代碼編程技術(shù)。提供這些頭文件只是為了向后兼容。所有 Java 虛擬機(jī)都不推薦、不支持也不提供這些接口。

(原文地址:http://202.102.240.73/java/javaweb/linuxjava/cjdk1_2-doc-zh/jdk1.2/zh/docs/tooldocs/win32/jdkfiles.html)

二、JDK1.5新特性介紹

      “JDK1.5”(開發(fā)代號(hào)猛虎)的一個(gè)重要主題就是通過新增一些特性來簡化開發(fā),這些特性包括泛型,for-each 循環(huán),自動(dòng)裝包/拆包,枚舉,可變參數(shù), 靜態(tài)導(dǎo)入 。使用這些特性有助于我們編寫更加清晰,精悍,安全的代碼。

  下面我們簡單介紹一下這些新特性。

  1.泛型(Generic)

  C++通過模板技術(shù)可以指定集合的元素類型,而Java在1.5之前一直沒有相對應(yīng)的功能。一個(gè)集合可以放任何類型的對象,相應(yīng)地從集合里面拿對象的時(shí)候我們也不得不對他們進(jìn)行強(qiáng)制得類型轉(zhuǎn)換。猛虎引入了泛型,它允許指定集合里元素的類型,這樣你可以得到強(qiáng)類型在編譯時(shí)刻進(jìn)行類型檢查的好處。

Collection

  編譯器會(huì)給出一個(gè)錯(cuò)誤:

add(java.lang.String) in java.util.Collection

  2.For-Each循環(huán)

  For-Each循環(huán)得加入簡化了集合的遍歷。假設(shè)我們要遍歷一個(gè)集合對其中的元素進(jìn)行一些處理。典型的代碼為:

void processAll(Collection c){
    for(Iterator i=c.iterator(); i.hasNext();){
        MyClass myObject = (MyClass)i.next();
        myObject.process();
    }
}

  使用For-Each循環(huán),我們可以把代碼改寫成:

void processAll(Collection

  這段代碼要比上面清晰許多,并且避免了強(qiáng)制類型轉(zhuǎn)換。

  3.自動(dòng)裝包/拆包(Autoboxing/unboxing)

  自動(dòng)裝包/拆包大大方便了基本類型數(shù)據(jù)和它們包裝類地使用。

  自動(dòng)裝包:基本類型自動(dòng)轉(zhuǎn)為包裝類.(int >> Integer)

  自動(dòng)拆包:包裝類自動(dòng)轉(zhuǎn)為基本類型.(Integer >> int)

  在JDK1.5之前,我們總是對集合不能存放基本類型而耿耿于懷,現(xiàn)在自動(dòng)轉(zhuǎn)換機(jī)制解決了我們的問題。

int a = 3;
Collection c = new ArrayList();
c.add(a);//自動(dòng)轉(zhuǎn)換成Integer.

Integer b = new Integer(2);
c.add(b + 2);

  這里Integer先自動(dòng)轉(zhuǎn)換為int進(jìn)行加法運(yùn)算,然后int再次轉(zhuǎn)換為Integer.

  4.枚舉(Enums)

  JDK1.5加入了一個(gè)全新類型的“類”-枚舉類型。為此JDK1.5引入了一個(gè)新關(guān)鍵字enmu. 我們可以這樣來定義一個(gè)枚舉類型。
 
public enum Color
{
   Red,
   White,
   Blue
}

  然后可以這樣來使用Color myColor = Color.Red.

  枚舉類型還提供了兩個(gè)有用的靜態(tài)方法values()和valueOf(). 我們可以很方便地使用它們,例如

for (Color c : Color.values())
            System.out.println(c);

  5.可變參數(shù)(Varargs)

  可變參數(shù)使程序員可以聲明一個(gè)接受可變數(shù)目參數(shù)的方法。注意,可變參數(shù)必須是函數(shù)聲明中的最后一個(gè)參數(shù)。假設(shè)我們要寫一個(gè)簡單的方法打印一些對象,

util.write(obj1);
util.write(obj1,obj2);
util.write(obj1,obj2,obj3);

  在JDK1.5之前,我們可以用重載來實(shí)現(xiàn),但是這樣就需要寫很多的重載函數(shù),顯得不是很有效。如果使用可變參數(shù)的話我們只需要一個(gè)函數(shù)就行了

public void write(Object... objs) {
   for (Object obj: objs)
      System.out.println(obj);
}

  在引入可變參數(shù)以后,Java的反射包也更加方便使用了。對于c.getMethod("test", new Object【0】).invoke(c.newInstance(), new Object【0】)),現(xiàn)在我們可以這樣寫了c.getMethod("test").invoke(c.newInstance()),這樣的代碼比原來清楚了很多?!?/span>

  6.靜態(tài)導(dǎo)入(Static Imports)

  要使用用靜態(tài)成員(方法和變量)我們必須給出提供這個(gè)方法的類。使用靜態(tài)導(dǎo)入可以使被導(dǎo)入類的所有靜態(tài)變量和靜態(tài)方法在當(dāng)前類直接可見,使用這些靜態(tài)成員無需再給出他們的類名。

import static java.lang.Math.*;
…….
r = sin(PI * 2); //無需再寫r = Math.sin(Math.PI);

  不過,過度使用這個(gè)特性也會(huì)一定程度上降低代碼地可讀性。

  JDK1.5 正式版即將發(fā)布,讓我們共同期待吧。我們可以去http://java./j2se/1.5.0/download.jsp,先下載一個(gè)beta爽一把。

三、JDK的命令詳解(來源視點(diǎn)在線)


rmic

功能說明:
  rmic 為遠(yuǎn)程對象生成 stub 和 skeleton。

語法:
  rmic 【 options 】 package-qualified-class-name(s)

補(bǔ)充說明:
  rmic 編譯器根據(jù)編譯后的 Java 類(含有遠(yuǎn)程對象實(shí)現(xiàn))名,為遠(yuǎn)程對象生成 stub 和 skeleton(遠(yuǎn)程對象是指實(shí)現(xiàn) java.rmi.Remote 接口的對象)。在 rmic 命令中所給的類必須是經(jīng) javac 命令成功編譯且是完全包限定的類。

命令選項(xiàng)
  -classpath【路徑】 指定 rmic 用于查詢類CLASSPATH 環(huán)境變量。目錄用冒號(hào)分隔。


  -d【目錄】 指定類層次的根目錄。此選項(xiàng)可用來指定 stub 和 skeleton 文件的目標(biāo)目錄。


  -depend 使編譯器考慮重新編譯從其它類引用的類。 一般來說,它只重新編譯從源代碼引用的遺漏或過期的類。

  -g 允許生成調(diào)試表格。調(diào)試表格含有行號(hào)和局部變量的有關(guān)信息,即 Java 調(diào)試工具所使用的信息。缺省情況下,只生成行號(hào)。

  -J 與 -D 選項(xiàng)聯(lián)用,它將緊跟其后的選項(xiàng)( -J 與 -D 之間無空格)傳給 java 解釋器。

  -keepgenerated 為 stub 和 skeleton 文件保留所生成的 .java 源文件,并將這些源文件寫到與 .class 文件相同的目錄中,如果要指定目錄,則使用 -d 選項(xiàng)。

  -nowarn 關(guān)閉警告。如果使用該選項(xiàng),則編譯器不輸出任何警告信息。

  -show 顯示 rmic 編譯器的 GUI(圖形用戶界面)。輸入一個(gè)或多個(gè)包限定類名(以空格分隔),并按回車鍵或“顯示”按鈕,創(chuàng)建 stub 和 skeleton。

  -vcompat (缺省值)創(chuàng)建與 JDK 1.1 和 1.2 stub 協(xié)議版本都兼容的 stub 和 skeleton。

  -verbose 使編譯器和鏈接器輸出關(guān)于正在編譯哪些類和正在加載哪些類文件的信息。

  -v1.1 創(chuàng)建 JDK 1.1 stub 協(xié)議版本的 stub 和 skeleton。

  -v1.2 只創(chuàng)建 JDK 1.2 stub 協(xié)議版本的 stub。


rmid

功能說明:
  rmid 啟動(dòng)激活系統(tǒng)守護(hù)進(jìn)程,以便能夠在 Java 虛擬機(jī)上注冊和激活對象。

語法:
  rmid 【-port port】 【-log dir】

補(bǔ)充說明:
  rmid 工具啟動(dòng)激活系統(tǒng)守護(hù)進(jìn)程。必須先啟動(dòng)激活系統(tǒng)守護(hù)進(jìn)程,才能向激活系統(tǒng)注冊可被激活的對象或在 Java 虛擬機(jī)上激活可被激活的對象。

命令選項(xiàng)
  -C<某些命令行選項(xiàng)> 指定一個(gè)選項(xiàng),在創(chuàng)建每個(gè) rmid 的子守護(hù)進(jìn)程(激活組)時(shí),該選項(xiàng)以命令行參數(shù)的形式傳給該子守護(hù)進(jìn)程。

  -log【目錄】 指定目錄的名稱,激活系統(tǒng)守護(hù)進(jìn)程在該目錄中寫入其數(shù)據(jù)庫及相關(guān)信息。缺省狀態(tài)下,將在執(zhí)行 rmid 命令的目錄中創(chuàng)建一個(gè) log 目錄。

  -port【端口】 指定 rmid 的注冊服務(wù)程序所使用的端口。激活系統(tǒng)守護(hù)進(jìn)程將 ActivationSystem 與該注冊服務(wù)程序中的名稱java.rmi.activation.ActivationSystem 捆綁在一起。

  -stop 停止 -port 選項(xiàng)所指定端口上的當(dāng)前 rmid 調(diào)用。若未指定端口,則將停止在端口 1098 上運(yùn)行的 rmid。


rmiregistry

功能說明:
  rmiregistry 命令可在當(dāng)前主機(jī)的指定端口上啟動(dòng)遠(yuǎn)程對象注冊服務(wù)程序。


語法:
  rmiregistry 【port】

補(bǔ)充說明:
  rmiregistry 命令在當(dāng)前主機(jī)的指定 port 上創(chuàng)建并啟動(dòng)遠(yuǎn)程對象注冊服務(wù)程序。如果省略 port,則注冊服務(wù)程序?qū)⒃?1099 端口上啟動(dòng)。rmiregistry 命令不產(chǎn)生任何輸出而且一般在后臺(tái)運(yùn)行。遠(yuǎn)程對象注冊服務(wù)程序是自舉命名服務(wù)。主機(jī)上的 RMI 服務(wù)器將利用它將遠(yuǎn)程對象綁定到名字上??蛻魴C(jī)即可查詢遠(yuǎn)程對象并進(jìn)行遠(yuǎn)程方法調(diào)用。注冊服務(wù)程序一般用于定位應(yīng)用程序需調(diào)用其方法的第一個(gè)遠(yuǎn)程對象。該對象反過來對各應(yīng)用程序提供相應(yīng)的支持,用于查找其它對象。

  java.rmi.registry.LocateRegistry 類的方法可用于在某臺(tái)主機(jī)或主機(jī)和端口上獲取注冊服務(wù)程序操作。java.rmi.Naming 類的基于 URL 的方法將對注冊服務(wù)程序進(jìn)行操作,并可用于查詢遠(yuǎn)程對象、將簡單(字符串)名稱綁定到遠(yuǎn)程對象、將新名稱重新綁定到遠(yuǎn)程對象(覆蓋舊綁定)、取消遠(yuǎn)程對象的綁定以及列出綁定在注冊服務(wù)程序上的 URL。


serialver

功能說明:
  serialver 命令返回 serialVersionUID。

語法:
  serialver 【 命令選項(xiàng) 】

補(bǔ)充說明:
  serialver 以適于復(fù)制到演變類的形式返回一個(gè)或多個(gè)類的 serialVersionUID。不帶參數(shù)調(diào)用時(shí),它輸出用法行。

命令選項(xiàng)
  -show 顯示一個(gè)簡單的用戶界面。輸入完整的類名并按回車鍵或“顯示”按鈕可顯示 serialVersionUID。


jarsigner

功能說明:
  為 Java 歸檔 (JAR) 文件產(chǎn)生簽名,并校驗(yàn)已簽名的 JAR 文件的簽名。

語法:
  jarsigner 【 命令選項(xiàng) 】 jar-file alias
  jarsigner -verify 【 命令選項(xiàng) 】 jar-file

補(bǔ)充說明:
  jarsigner 工具用于兩個(gè)目的:
  1:為 Java 歸檔 (JAR) 文件簽名
  2:校驗(yàn)已簽名的 JAR 文件的簽名和完整性

命令選項(xiàng)
  -keystore【url】 指定密鑰倉庫的 URL。缺省值是用戶的宿主目錄中的 .keystore 文件,它由系統(tǒng)屬性“user.home”決定。

  -storetype【storetype】 指定要被實(shí)例化的密鑰倉庫類型。默認(rèn)的密鑰倉庫類型是安全屬性文件中 "keystore.type" 屬性值所指定的那個(gè)類型,由 java.security.KeyStore 中的靜態(tài)方法 getDefaultType 返回。

  -storepass【password】 指定訪問密鑰倉庫所需的口令。這僅在簽名(不是校驗(yàn))JAR 文件時(shí)需要。在這種情況下,如果命令行中沒有提供 -storepass 選項(xiàng),用戶將被提示輸入口令。

  -keypass【password】 指定用于保護(hù)密鑰倉庫項(xiàng)(由命令行中指定的別名標(biāo)出)的私鑰的口令。使用 jarsigner 為 JAR 文件簽名時(shí)需要該口令。如果命令行中沒有提供口令,且所需的口令與密鑰倉庫的口令不同,則將提示用戶輸入它。

  -sigfile【file】 指定用于生成 .SF 和 .DSA 文件的基本文件名。

  -signedjar【file】 指定用于已簽名的 JAR 文件的名稱。

  -verify 如果它出現(xiàn)在命令行中,則指定的 JAR 文件將被校驗(yàn),而不是簽名。如果校驗(yàn)成功,將顯示“jar verified”。如果試圖校驗(yàn)未簽名的 JAR 文件,或校驗(yàn)被不支持的算法(例如未安裝 RSA 提供者時(shí)使用的 RSA)簽名的 JAR 文件,則將有如下顯示: "jar is unsigned. (signatures missing or not parsable)" 。

  -certs 如果它與 -verify 和 -verbose 選項(xiàng)一起出現(xiàn)在命令行中,則輸出將包括 JAR 文件的每個(gè)簽名人的證書信息。

  -verbose 如果它出現(xiàn)在命令行中,則代表“verbose”模式,它使 jarsigner 在 JAR 簽名或校驗(yàn)過程中輸出額外信息。

  -internalsf 過去,JAR 文件被簽名時(shí)產(chǎn)生的 .DSA(簽名塊)文件包含一個(gè)同時(shí)產(chǎn)生的 .SF 文件(簽名文件)的完整編碼副本。這種做法已被更改。為了減小輸出 JAR 文件的整個(gè)大小,缺省情況下 .DSA 文件不再包含 .SF 文件的副本。但是如果 -internalsf 出現(xiàn)在命令行中,將采用舊的做法。該選項(xiàng)主要在測試時(shí)有用;實(shí)際上不應(yīng)使用它,因?yàn)檫@樣將消除有用的優(yōu)化。

  -sectionsonly 如果它出現(xiàn)在命令行中,則 JAR 文件被簽名時(shí)生成的 .SF 文件(簽名文件)將不包括含有整個(gè)??的源文件相關(guān)的信息和散列。該選項(xiàng)主要在測試時(shí)有用;實(shí)際上不應(yīng)使用它,因?yàn)檫@樣將消除有用的優(yōu)化。

  -J【javaoption】 將指定的 javaoption 串直接傳遞到 Java 解釋器。((jarsigner 實(shí)際上是解釋器的一個(gè) “wrapper”)。該選項(xiàng)不應(yīng)含有任何空格。它有助于調(diào)整執(zhí)行環(huán)境或內(nèi)存使用。要獲得可用的解釋器選項(xiàng)的清單,可在命令行鍵入 java -h 或 java -X。

keytool

功能說明:
  管理由私鑰和認(rèn)證相關(guān)公鑰的 X.509 證書鏈組成的密鑰倉庫(數(shù)據(jù)庫)。還管理來自可信任實(shí)體的證書。


語法:
  keytool 【 命令 】

補(bǔ)充說明:
  keytool 是個(gè)密鑰和證書管理工具。它使用戶能夠管理自己的公鑰/私鑰對及相關(guān)證書,用于(通過數(shù)字簽名)自我認(rèn)證(用戶向別的用戶/服務(wù)認(rèn)證自己)或數(shù)據(jù)完整性以及認(rèn)證服務(wù)。它還允許用戶儲(chǔ)存他們的通信對等者的公鑰(以證書形式)。


native2ascii

功能說明:
  將含有本地編碼字符(既非 Latin1 又非 Unicode 字符)的文件轉(zhuǎn)換為 Unicode 編碼字符的文件。

語法:
  native2ascii 【options】 【inputfile 【outputfile】】

補(bǔ)充說明:
  Java 編譯器和其它 Java 工具只能處理含有 Latin-1 和/或 Unicode 編碼(udddd 記號(hào))字符的文件。native2ascii 將含有其它字符編碼的文件轉(zhuǎn)換成含 Latin-1 和/或 Unicode 編碼字符的文件。若省略 outputfile,則使用標(biāo)準(zhǔn)輸出設(shè)備輸出。此外,如果也省略 inputfile,則使用標(biāo)準(zhǔn)輸入設(shè)備輸入。

命令選項(xiàng)
  -reverse 執(zhí)行相反的操作:將含 Latin-1 和/或 Unicode 編碼字符的文件轉(zhuǎn)換成含本地編碼字符的文件。

  -encoding【encoding_name】 指定轉(zhuǎn)換過程使用的編碼名稱。缺省的編碼從系統(tǒng)屬性 file.encoding 中得到。


appletviewer

功能說明:
  Java applet 瀏覽器。appletviewer 命令可在脫離萬維網(wǎng)瀏覽器環(huán)境的情況下運(yùn)行 applet。

語法:
  appletviewer 【 threads flag 】 【 命令選項(xiàng) 】 urls ...

補(bǔ)充說明:
  appletviewer 命令連接到 url 所指向的文檔或資源上,并在其自身的窗口中顯示文檔引用的每個(gè) applet。注意:如果 url 所指向的文檔不引用任何帶有 OBJECT、EMBED 或 APPLET 標(biāo)記的 applet,那么 appletviewer 就不做任何事情。

命令選項(xiàng)
  -debug 在 Java 調(diào)試器 jdb 中啟動(dòng) appletviewer,使您可以調(diào)試文檔中的 applet。

  -encoding【編碼名稱】 指定輸入 HTML 文件的編碼名稱。

  -J【javaoption】 將 javaoption 字符串作為單個(gè)參數(shù)傳給運(yùn)行 appletviewer 的 Java 解釋器。參數(shù)不能含有空格。由多重參數(shù)組成的字符串,其中的每個(gè)參數(shù)都必須以前綴 -J 開頭,該前綴以后將被除去。這在調(diào)整編譯器的執(zhí)行環(huán)境或內(nèi)存使用時(shí)將很有用。


extcheck

功能說明:
  extcheck 檢測目標(biāo) jar 文件與當(dāng)前安裝方式擴(kuò)展 jar 文件間的版本沖突。

語法:
  extcheck 【 -verbose 】 targetfile.jar

補(bǔ)充說明:
  extcheck 實(shí)用程序檢查指定 Jar 文件的標(biāo)題和版本與 JDK TM 軟件中所安裝的擴(kuò)展是否有沖突。在安裝某個(gè)擴(kuò)展前,可以用該實(shí)用程序查看是否已安裝了該擴(kuò)展的相同版本或更高的版本。

  extcheck 實(shí)用程序?qū)?targetfile.jar 文件清單的 specification-title 和 specification-version 頭與當(dāng)前安裝在擴(kuò)展目錄下所有 Jar 文件的相對應(yīng)的頭進(jìn)行比較(缺省擴(kuò)展目錄為 jre/lib/ext)。extcheck 實(shí)用程序比較版本號(hào)的方式與 java.lang.Package.isCompatibleWith 方法相同。若未檢測到?jīng)_突,則返回代碼為 0。如果擴(kuò)展目錄中任何一個(gè) jar 文件的清單有相同的 specification-title 和相同的或更新的 specification-version 號(hào),則返回非零錯(cuò)誤代碼。如果 targetfile.jar 的清單中沒有 specification-title 或 specification-version 屬性,則同樣返回非零錯(cuò)誤代碼。

命令選項(xiàng)
  -verbose 對擴(kuò)展目錄中的 Jar 文件進(jìn)行檢查時(shí),列出文件。此外,還報(bào)告目標(biāo) jar 文件的清單屬性及所有沖突的 jar 文件。


jar

功能說明:
  Java歸檔工具


語法:
  jar 【 命令選項(xiàng) 】 【manifest】 destination input-file 【input-files】

補(bǔ)充說明:
  jar工具是個(gè)java應(yīng)用程序,可將多個(gè)文件合并為單個(gè)JAR歸檔文件。jar是個(gè)多用途的存檔及壓縮工具,它基于ZIP和ZLIB壓縮格式。然而,設(shè)計(jì)jar的主要目的是便于將java applet或應(yīng)用程序打包成單個(gè)歸檔文件。將applet或應(yīng)用程序的組件(.class 文件、圖像和聲音)合并成單個(gè)歸檔文件時(shí),可以用java代理(如瀏覽器)在一次HTTP事務(wù)處理過程中對它們進(jìn)行下載,而不是對每個(gè)組件都要求一個(gè)新連接。這大大縮短了下載時(shí)間。jar還能壓縮文件,從而進(jìn)一步提高了下載速度。此外,它允許applet的作者對文件中的各個(gè)項(xiàng)進(jìn)行簽名,因而可認(rèn)證其來源。jar工具的語法基本上與tar命令的語法相同。

命令選項(xiàng)
  -c 在標(biāo)準(zhǔn)輸出上創(chuàng)建新歸檔或空歸檔。

  -t 在標(biāo)準(zhǔn)輸出上列出內(nèi)容表。

  -x【file】 從標(biāo)準(zhǔn)輸入提取所有文件,或只提取指定的文件。如果省略了file,則提取所有文件;否則只提取指定文件。

  -f 第二個(gè)參數(shù)指定要處理的jar文件。在-c(創(chuàng)建)情形中,第二個(gè)參數(shù)指的是要?jiǎng)?chuàng)建的jar文件的名稱(不是在標(biāo)準(zhǔn)輸出上)。在-t(表(或-x(抽取)這兩種情形中,第二個(gè)參數(shù)指定要列出或抽取的jar文件。

  -v 在標(biāo)準(zhǔn)錯(cuò)誤輸出設(shè)備上生成長格式的輸出結(jié)果。

  -m 包括指定的現(xiàn)有清單文件中的清單信息。用法舉例:“jar cmf myManifestFile myJarFile *.class”

  -0 只儲(chǔ)存,不進(jìn)行 ZIP 壓縮。

  -M 不創(chuàng)建項(xiàng)目的清單文件。

  -u 通過添加文件或更改清單來更新現(xiàn)有的 JAR 文件。例如:“jar -uf foo.jar foo.class”將文件 foo.class 添加到現(xiàn)有的JAR文件foo.jar中,而“jar umf manifest foo.jar”則用manifest中的信息更新foo.jar的清單。

  -C 在執(zhí)行 jar 命令期間更改目錄。例如:“jar -uf foo.jar -C classes *”將classes目錄內(nèi)的所有文件加到foo.jar中,但不添加類目錄本身。

程序示例
  1:將當(dāng)前目錄下所有CLASS文件打包成新的JAR文件:
  jar cf file.jar *.class

  2:顯示一個(gè)JAR文件中的文件列表
  jar tf file.jar

  3:將當(dāng)前目錄下的所有文件增加到一個(gè)已經(jīng)存在的JAR文件中
  jar cvf file.jar *


javadoc

功能說明
  Java API文檔生成器從Java源文件生成API文檔HTML頁。

語法:
  javadoc 【 命令選項(xiàng) 】 【 包名 】 【 源文件名 】 【 @files 】
  其中【 包名 】為用空格分隔的一系列包的名字,包名不允許使用通配符,如(*)。【 源文件名 】為用空格分隔的一系列的源文件名,源文件名可包括路徑和通配符,如(*)?!?@files 】是以任何次序包含包名和源文件的一個(gè)或多個(gè)文件。

補(bǔ)充說明
  Javadoc解析Java源文件中的聲明和文檔注釋,并產(chǎn)生相應(yīng)的HTML頁缺?。?,描述公有類、保護(hù)類、內(nèi)部類、接口、構(gòu)造函數(shù)、方法和域。

  在實(shí)現(xiàn)時(shí),Javadoc要求且依賴于java編譯器完成其工作。Javadoc調(diào)用部分javac編譯聲明部分,忽略成員實(shí)現(xiàn)。它建立類的內(nèi)容豐富的內(nèi)部表示,包括類層次和“使用”關(guān)系,然后從中生成HTML。Javadoc還從源代碼的文檔注釋中獲得用戶提供的文檔。

  當(dāng)Javadoc建立其內(nèi)部文檔結(jié)構(gòu)時(shí),它將加載所有引用的類。由于這一點(diǎn),Javadoc必須能查找到所有引用的類,包括引導(dǎo)類、擴(kuò)展類和用戶類。

命令選項(xiàng)
  -overview i>path/filename 指定javadoc應(yīng)該從path/filename所指定的“源”文件中獲取概述文檔,并將它放到概述頁中(overview-summary.html)。其中path/filename 是相對于-sourcepath的相對路徑名。

  -public 只顯示公有類及成員。

  -protected 只顯示受保護(hù)的和公有的類及成員。這是缺省狀態(tài)。

  -package 只顯示包、受保護(hù)的和公有的類及成員。

  -private 顯示所有類和成員。

  -help 顯示聯(lián)機(jī)幫助,它將列出這些javadoc和doclet命令行選項(xiàng)。

  -doclet class 指定啟動(dòng)用于生成文檔的docle 的類文件。該doclet定義了輸出的內(nèi)容和格式。如果未使用-doclet選項(xiàng),則javadoc使用標(biāo)準(zhǔn)doclet生成缺省HTML格式。該類必須包含start(Root)法。該啟動(dòng)類的路徑由 -docletpath選項(xiàng)定義。

  -docletpath classpathlist 指定doclet類文件的路徑,該類文件用-doclet選項(xiàng)指定。如果doclet已位于搜索路徑中,則沒有必要使用該選項(xiàng)。

  -1.1 生成具有用Javadoc 1.1生成的文檔的外觀和功能的文檔。也就是說,頁的背景為灰色,用圖像做頁眉,使用bullet列表而不是表格,具有單層目的目錄結(jié)構(gòu),不包含繼承 API,不使?*** TML框架,并且不支持內(nèi)部類。該選項(xiàng)還自動(dòng)將索引分割成每個(gè)字母一個(gè)文件。如果想要這種外觀,則該選項(xiàng)比javadoc 1.1優(yōu)越之處等于修正了一些錯(cuò)誤。

  -sourcepath sourcepathlist
  當(dāng)將包名傳遞到j(luò)avadoc命令中時(shí),指定定位源文件(.java)的搜索路徑。注意只有當(dāng)用 javadoc命令指定包名時(shí)才能使用sourcepath選項(xiàng) -- 它將不會(huì)查找傳遞到j(luò)avadoc命令中的.java文件。如果省略-sourcepath,則javadoc使用類路徑查找源文件。

  -classpath classpathlist 指定javadoc將在其中查找引用類的路徑 -- 引用類是指帶文檔的類加上它們引用的任何類。Javadoc將搜索指定路徑的所有子目錄。classpathlist可以包括多個(gè)路徑,彼此用逗號(hào)分隔。

  -bootclasspath classpathlist 指定自舉類所在路徑。它們名義上是Java平臺(tái)類。這個(gè)bootclasspath是Javadoc將用來查找源文件和類文件的搜索路徑的一部分。在 classpathlist中用冒號(hào)(:)分隔目錄。

  -extdirs dirlist 指定擴(kuò)展類所在的目錄。它們是任何使用Java擴(kuò)展機(jī)制的類。這個(gè) extdirs是Javadoc將用來查找源文件和在文件的搜索路徑的一部分。在dirlist中用冒號(hào)(:)分隔目錄。

  -verbose 在javadoc運(yùn)行時(shí)提供更詳細(xì)的信息。不使用verbose選項(xiàng)時(shí),將顯示加載源文件、生成文檔(每個(gè)源文件一條信息)和排序的信息。verbose選項(xiàng)導(dǎo)致打印額外的信息,指定解析每個(gè)java源文件的毫秒數(shù)。

  -locale language_country_variant 指定javadoc在生成文檔時(shí)使用的環(huán)境。

  -encoding name 指定源文件編碼名,例如EUCJIS/SJIS。如果未指定該選項(xiàng),則使用平臺(tái)缺省轉(zhuǎn)換器。

  -J【flag】 將flag直接傳遞給運(yùn)行javadoc的運(yùn)行時(shí)系統(tǒng)java。注意在J和flag之間不能有空格。
標(biāo)準(zhǔn) Doclet 提供的選項(xiàng)

  -d directory 指定javadoc保存生成的HTML件的目的目錄。省略該選項(xiàng)將導(dǎo)致把文件保存到當(dāng)前目錄中。其中directory可以是絕對路徑或相對當(dāng)前工作目錄的相對路徑。

  -use 對每個(gè)帶文檔類和包包括一個(gè)“用法”頁。該頁描述使用給定類或包的任何 API 的包、類、方法、構(gòu)造函數(shù)和域。對于給定類 C,使用類 C 的任何東西將包括 C 的子類、聲明為 C 的域、返回 C 的方法以及具有 C 類型參數(shù)的方法和構(gòu)造函數(shù)。

  -version 在生成文檔中包括 @version 文本。缺省地將省略該文本。

  -author 在生成文檔中包括 @author 文本。

  -splitindex 將索引文件按字母分割成多個(gè)文件,每個(gè)字母一個(gè)文件,再加上一個(gè)包含所有以非字母字符開頭的索引項(xiàng)的文件。

  -windowtitle【title】 指定放入 HTML

四、JDK安裝手冊(轉(zhuǎn)載http://www.

·Linux

SUN的java網(wǎng)站提供windows,linux,solaris三個(gè)平臺(tái)編譯好的jdk包,下載解壓即可使用。

網(wǎng)址:http://java./downloads/

cd /usr/local
sh /home/pkg/jdk-1_5_0_01-linux-i586.bin
mv j2sdk1.5.0_01 java

chown -R root:root java
chmod -R 755 java 


設(shè)置環(huán)境變量(/etc/profile):

export JAVA_HOME=/usr/local/java
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH


使環(huán)境變量生效,并進(jìn)行測試:

source /etc/profile
java -version 


·FreeBSD

這個(gè)編譯好的jdk包需要FreeBSD4.x兼容包,你也可以自己從ports安裝jdk:

網(wǎng)址:http://www./java/

mount /cdrom
cd /cdrom/compat4x/
./install.sh

pkg_add -r ftp://ftp.freebsdchina.org/pub/china_ports/jdk-1.4.2p7.tbz
mv /usr/local/jdk1.4.2 /usr/local/java


設(shè)置環(huán)境變量(~/.cshrc):

setenv JAVA_HOME /usr/local/java
setenv CLASSPATH $JAVA_HOME/lib:$JAVA_HOME/jre/lib
setenv PATH $JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH


使環(huán)境變量生效,并進(jìn)行測試:

source ~/.cshrc
java -version

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    欧美在线观看视频免费不卡| 白白操白白在线免费观看| 国产又大又黄又粗又免费| 色一欲一性一乱—区二区三区| 日韩av生活片一区二区三区| 国产亚洲欧美日韩精品一区 | 国产成人国产精品国产三级 | 精品国产亚洲区久久露脸| 超碰在线免费公开中国黄片| 人妻亚洲一区二区三区| 亚洲熟女国产熟女二区三区| 美女极度色诱视频在线观看| 婷婷基地五月激情五月| 亚洲一区二区欧美在线| 91人妻久久精品一区二区三区| 亚洲av首页免费在线观看| 中文字幕区自拍偷拍区| 精品人妻一区二区三区四区久久| 亚洲成人黄色一级大片| 国产精品久久女同磨豆腐| 欧美黑人黄色一区二区| 精品丝袜一区二区三区性色| 欧美精品亚洲精品一区| 国产高清一区二区白浆| 黑色丝袜脚足国产一区二区| 日韩中文无线码在线视频| 欧美日韩综合在线精品| 亚洲深夜精品福利一区| 中文字幕在线五月婷婷| 国产午夜精品久久福利| 国产精品十八禁亚洲黄污免费观看| 亚洲一区在线观看蜜桃| 国产精品视频第一第二区| 久久99这里只精品热在线| 国产精品亚洲一级av第二区| 国产精品白丝久久av| 久久大香蕉精品在线观看| 欧美日韩国产精品自在自线| 激情视频在线视频在线视频| 国产精品激情在线观看| 黄色三级日本在线观看|