Java系統jar包縮寫

JRE下的rt.jar: java

這個文件是極爲重要的一個文件,rt是runtime的縮寫,即運行時的意思。是java程序在運行時必不可少的文件。 
裏面包含了java程序員經常使用的包,如java.lang,java.util,java.io,java.net,java.applet等程序員

  1. rt.jar 默認就在 根classloader的加載路徑裏面 放在claspath是畫蛇添足 
    不信你能夠去掉classpath裏面的rt.jar 
    而後用 java -verbose XXXX 的方式運行一個簡單的類 就知道 JVM的系統根Loader的路徑裏面 不光rt.jar jre/lib下面的大部分jar 都在這個路徑裏app

  2. tools.jar 是系統用來編譯一個類的時候用到的 也就是javac的時候用到 
    javac XXX.java編輯器

實際上就是運行 
java -Calsspath=%JAVA_HOME%/lib/tools.jar xx.xxx.Main XXX.java 
javac就是對上面命令的封裝 因此tools.jar 也不用加到classpath裏面工具

不少人在初學Java的時候,都要配置環境變量。在配置CLASSPATH的時候,都會加上一個當前目錄.,還有兩個jar:dt.jar和tools.jar。其實好多人都不瞭解這兩個jar的做用,尤爲是dt.jar。網上的大部分解釋是這樣的:dt.jar是關於運行環境的類庫,主要是swing的包;tools.jar是關於一些工具的類庫。對於後者我贊同,tools.jar中主要是jdk工具,包括javac,java,javap,javadoc等。javac,java,javadoc,不少都熟悉。javap,是java printer的縮寫,是jdk自帶的一個反編譯工具。不過把dt.jar解釋成關於運行環境的類庫,我是百思不得其解。所謂的運行環境是什麼?難道是JRE?本文也但願高手能夠給我一個解釋。下面是我本身整理的關於dt.jar的資料:spa

     首先看一下SUN對於dt.jar的定義:Also includes dt.jar, the DesignTime archive of BeanInfo files that tell interactive development environments (IDE's) how to display the Java components and how to let the developer customize them for the application。中文翻譯過來就是:dt.jar是BeanInfo文件的DesignTime歸檔,BeanInfo文件用來告訴集成開發環境(IDE)如何顯示Java組件還有如何讓開發人員根據應用程序自定義它們。這段文字中提到了幾個關鍵字:DesignTime,BeanInfo,IDE,Java components。其實dt.jar就是DesignTime Archive的縮寫。那麼何爲DesignTime。.net

    何爲DesignTime?翻譯過來就是設計時。其實瞭解JavaBean的人都知道design time和runtime(運行時)這兩個術語的含義。設計時(DesignTIme)是指在開發環境中經過添加控件,設置控件或窗體屬性等方法,創建應用程序的時間。與此相對應的運行時(RunTIme)是指能夠象用戶那樣與應用程序交互做用的時間。那麼如今再理解一下上面的翻譯,其實dt.jar包含了swing控件中的BeanInfo,而IDE的GUI Designer須要這些信息。那讓咱們看一下dt.jar中到底有什麼?下面是一張dt.jar下面的內容截圖:翻譯

 

    從上面的截圖能夠看出,dt.jar中所有是Swing組件的BeanInfo。那麼到底什麼是BeanInfo呢?設計

    何爲BeanInfo?JavaBean和BeanInfo有很大的關係。Sun所制定的JavaBean規範,很大程度上是爲IDE準備的——它讓IDE可以以可視化的方式設置JavaBean的屬性。若是在IDE中開發一個可視化應用程序,咱們須要經過屬性設置的方式對組成應用的各類組件進行定製,IDE經過屬性編輯器讓開發人員使用可視化的方式設置組件的屬性。通常的IDE都支持JavaBean規範所定義的屬性編輯器,當組件開發商發佈一個組件時,它每每將組件對應的屬性編輯器捆綁發行,這樣開發者就能夠在IDE環境下方便地利用屬性編輯器對組件進行定製工做。JavaBean規範經過java.beans.PropertyEditor定義了設置JavaBean屬性的方法,經過BeanInfo描述了JavaBean哪些屬性是可定製的,此外還描述了可定製屬性與PropertyEditor的對應關係。BeanInfo與JavaBean之間的對應關係,經過二者之間規範的命名確立:對應JavaBean的BeanInfo採用以下的命名規範:<Bean>BeanInfo。當JavaBean連同其屬性編輯器相同的組件註冊到IDE中後,當在開發界面中對JavaBean進行定製時,IDE就會根據JavaBean規範找到對應的BeanInfo,再根據BeanInfo中的描述信息找到JavaBean屬性描述(是否開放、使用哪一個屬性編輯器),進而爲JavaBean生成特定開發編輯界面。component

     如今能夠理解dt.jar了吧。其實裏面主要是swing組件的BeanInfo。IDE根據這些BeanInfo顯示這些組件以及開發人員如何定製他們。  

相關文章
相關標籤/搜索