日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
如何使用Java啟動(dòng)器查找類(lèi)

Java 啟動(dòng)器將初始化 Java 虛擬機(jī)。虛擬機(jī)隨即按以下順序搜索和加載類(lèi):

創(chuàng)新互聯(lián)專(zhuān)注于網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站制作、網(wǎng)站開(kāi)發(fā)。公司秉持“客戶至上,用心服務(wù)”的宗旨,從客戶的利益和觀點(diǎn)出發(fā),讓客戶在網(wǎng)絡(luò)營(yíng)銷(xiāo)中找到自己的駐足之地。尊重和關(guān)懷每一位客戶,用嚴(yán)謹(jǐn)?shù)膽B(tài)度對(duì)待客戶,用專(zhuān)業(yè)的服務(wù)創(chuàng)造價(jià)值,成為客戶值得信賴(lài)的朋友,為客戶解除后顧之憂。

自舉類(lèi) - 構(gòu)成 Java 平臺(tái)的類(lèi),包括 rt.jar 和 i18n.jar 中的類(lèi)。

擴(kuò)展類(lèi) - 使用 Java 擴(kuò)展機(jī)制的類(lèi)。它們被捆綁為 .jar 文件,位于擴(kuò)展目錄中。

用戶類(lèi) - 開(kāi)發(fā)人員和第三方定義的類(lèi),不使用擴(kuò)展機(jī)制。在命令行上使用 -classpath 選項(xiàng)(常用方法)或使用 CLASSPATH 環(huán)境變量可識(shí)別這些類(lèi)的位置(參見(jiàn)設(shè)置 Windows 或 Solaris 的 Classpath)。

實(shí)際上,這三個(gè)搜索路徑將被連為一個(gè)簡(jiǎn)單的類(lèi)路徑。這有點(diǎn)象以前使用的“單級(jí)”類(lèi)路徑,但現(xiàn)在的模型有一些重要差別:

偶然“隱藏”或省略自舉類(lèi)相對(duì)困難一些。

通常只需指定用戶類(lèi)的位置。系統(tǒng)將“自動(dòng)”查找自舉類(lèi)和擴(kuò)展類(lèi)。

工具類(lèi)現(xiàn)在位于獨(dú)立的歸檔中 (tools.jar)。只有當(dāng)它包含在用戶類(lèi)路徑中時(shí)才可用(稍后會(huì)有解釋?zhuān)?

Java 啟動(dòng)器如何查找自舉類(lèi)

自舉類(lèi)是實(shí)現(xiàn) Java 1.2 平臺(tái)的類(lèi)。自舉類(lèi)在 /jdk1.2/jre/lib 中的 rt.jar 和 i18n.jar 歸檔中。這些歸檔由存儲(chǔ)在 sun.boot.class.path 系統(tǒng)屬性中的自舉類(lèi)路徑值指定。該系統(tǒng)屬性?xún)H供引用,不應(yīng)直接修改。

需要重新定義自舉類(lèi)路徑的可能性較小。極少數(shù)情況下需要使用另一組核心類(lèi)時(shí),非標(biāo)準(zhǔn)選項(xiàng) -Xbootclasspath 允許重新定義自舉類(lèi)路徑。

注意:實(shí)現(xiàn) JDK 開(kāi)發(fā)工具的類(lèi)與自舉類(lèi)在不同歸檔中。工具歸檔為 /jdk1.2/lib/tools.jar。調(diào)用啟動(dòng)器時(shí),開(kāi)發(fā)工具將該歸檔添加到用戶類(lèi)路徑中。然而,這個(gè)擴(kuò)大的用戶類(lèi)路徑僅用于執(zhí)行工具。處理源代碼的工具 javac 和 javadoc 將使用初始類(lèi)路徑,而不是擴(kuò)大后的類(lèi)路徑(有關(guān)詳細(xì)信息,參見(jiàn)下面的 Javac 和 Javadoc 如何查找類(lèi))。

Java 啟動(dòng)器如何查找擴(kuò)展類(lèi)

擴(kuò)展類(lèi)是擴(kuò)展 Java 平臺(tái)的類(lèi)。擴(kuò)展目錄中的每個(gè) .jar 文件即被認(rèn)為是擴(kuò)展,且都使用 Java 擴(kuò)展框架加載。我們不提供改變擴(kuò)展目錄位置的選項(xiàng)。

Java 啟動(dòng)器如何查找用戶類(lèi)

用戶類(lèi)是在 Java 平臺(tái)上構(gòu)建的類(lèi)。查找用戶類(lèi)時(shí),啟動(dòng)器需要使用用戶類(lèi)路徑,它是一張目錄、JAR 歸檔和包含類(lèi)文件的 ZIP 歸檔的列表。

類(lèi)文件有一個(gè)反映類(lèi)全限定名的子路徑名。例如,如果類(lèi) com.mypackage.MyClass 存儲(chǔ)在 /myclasses 下,則 /myclasses 一定位于用戶類(lèi)路徑中,且類(lèi)文件的完全路徑一定為 /myclasses/com/mypackage/MyClass.class。如果類(lèi)存儲(chǔ)在名為 myclasses.jar 的歸檔中,則 myclasses.jar 一定位于用戶類(lèi)路徑中,且類(lèi)文件一定作為 com/mypackage/MyClass.class 存儲(chǔ)在歸檔中。

在 Solaris 中,我們用字符串指定用戶類(lèi)路徑,而用冒號(hào) (:) 分隔類(lèi)路徑項(xiàng)。java 啟動(dòng)器將用戶類(lèi)路徑字符串放置在 java.class.path 系統(tǒng)屬性中。該值可能的源為:

缺省值“.”意味著用戶類(lèi)文件是當(dāng)前目錄中的所有類(lèi)文件(如果是在包中,則為當(dāng)前目錄下的)。

CLASSPATH 環(huán)境變量的值,它覆蓋缺省值。

命令行選項(xiàng) -cp 或 -classpath 的值,它覆蓋缺省值和 CLASSPATH 值。

-jar 選項(xiàng)指定的 JAR 歸檔,它覆蓋所有其它值。如果使用該選項(xiàng),則所有用戶類(lèi)都來(lái)自指定的歸檔。

Java 啟動(dòng)器如何查找 JAR-CLASS-PATH 類(lèi)

JAR 文件通常包含一個(gè)“清單” - 該文件列出 JAR 的內(nèi)容。清單可以定義 JAR-CLASS-PATH ,而后者進(jìn)一步擴(kuò)展類(lèi)路徑(僅當(dāng)從該 JAR 中加載類(lèi)時(shí))。查找 JAR-CLASS-PATH 訪問(wèn)的類(lèi)時(shí)將按以下順序進(jìn)行:

通常,查找 JAR-CLASS-PATH 項(xiàng)引用的類(lèi)時(shí),即將其當(dāng)作 JAR 文件的一部分。出現(xiàn)在 JAR-class-path 中的 JAR 文件將在 JAR-CLASS-PATH 前面的類(lèi)路徑項(xiàng)之后及 JAR-CLASS-PATH 后面的類(lèi)路徑項(xiàng)之前進(jìn)行搜索。

然而,如果 JAR-CLASS-PATH 指向一個(gè)已搜索過(guò)的 JAR 文件(例如擴(kuò)展或在類(lèi)路徑前面列出的 JAR 文件),則不再搜索該 JAR 文件(這種優(yōu)化方式提高了效率,防止了循環(huán)搜索)。這樣的 JAR 文件將在它出現(xiàn)的地方(類(lèi)路徑中更靠前的地方)進(jìn)行搜索。

如果 JAR 文件作為擴(kuò)展安裝在 jdk 的 ext 子目錄中,則忽略它所定義的 JAR-CLASS-PATH。我們假定擴(kuò)展所需的所有類(lèi)都是 JDK 的一部分或已作為擴(kuò)展安裝。

OldJava 啟動(dòng)器如何查找類(lèi)

oldjava 啟動(dòng)器不支持 Java 擴(kuò)展框架。下列情況下,它提供向后兼容性:

有一個(gè)實(shí)現(xiàn) 1.1 風(fēng)格的安全管理器(與 1.2 類(lèi)加載方法不兼容)的應(yīng)用程序,或者

正在加載的類(lèi)已生成,或以與 1.2 類(lèi)結(jié)構(gòu)不兼容的方式(例如用模糊器)管理。

(有關(guān)這些問(wèn)題的詳細(xì)信息,參見(jiàn) Windows 或 Solaris 的 java 啟動(dòng)器參考頁(yè)。)

oldjava 啟動(dòng)器在一個(gè)類(lèi)路徑中組合了自舉類(lèi)和用戶類(lèi)。用 oldjava 指定類(lèi)路徑的方法有兩種:

在 CLASSPATH 環(huán)境變量中指定用戶類(lèi)路徑。用戶類(lèi)路徑加在預(yù)定義的自舉類(lèi)路徑后。

用命令行選項(xiàng) -cp 或 -classpath 指定完整的類(lèi)路徑。忽略 CLASSPATH 的值和預(yù)定義的自舉類(lèi)路徑。

組合類(lèi)路徑存儲(chǔ)在 java.class.path 系統(tǒng)屬性中。

Javac 和 JavaDoc 如何查找類(lèi)

javac 和 javadoc 工具使用兩種不同方式使用類(lèi)文件。

象其它 Java 應(yīng)用程序一樣,javac 和 javadoc 必須加載多種類(lèi)文件才能運(yùn)行。

要處理它們操作的源代碼,javac 和 javadoc 必須獲得源代碼中所用對(duì)象類(lèi)型的信息。

用來(lái)解析源代碼引用的類(lèi)文件大部分和用來(lái)運(yùn)行 javac 和 javadoc 的類(lèi)文件相同,但有重要的一些例外:

javac 和 javadoc 經(jīng)常解析對(duì)與 javac 或 javadoc 的實(shí)現(xiàn)無(wú)關(guān)的類(lèi)和接口的引用。有關(guān)被引用的用戶類(lèi)和接口的信息可能以類(lèi)文件、源代碼文件或二者結(jié)合起來(lái)的形式存在。

tools.jar 中的工具類(lèi)僅用來(lái)運(yùn)行 javac 和 javadoc。工具類(lèi)不用來(lái)解析源代碼引用,除非 tool.jar 在用戶類(lèi)路徑中。

程序員可能要用另一種 Java 平臺(tái)實(shí)現(xiàn)解析自舉類(lèi)或擴(kuò)展類(lèi)引用。利用 -bootclasspath 和 -extdirs 選項(xiàng),javac 和 javadoc 都可以支持這種操作。使用這些選項(xiàng)不會(huì)修改用來(lái)運(yùn)行 javac 或 javadoc 工具本身的類(lèi)文件集。

如果在類(lèi)文件和源文件中定義了被引用的類(lèi),則 javadoc 通常使用源文件(javadoc 不編譯源文件)。同樣情況下,javac 使用類(lèi)文件,但會(huì)自動(dòng)重新編譯它認(rèn)為過(guò)期的類(lèi)文件。自動(dòng)重新編譯的規(guī)則將在 javac 文檔(Windows 或 Solaris)中介紹。

缺省情況下,javac 和 javadoc 在用戶類(lèi)路徑中搜索類(lèi)文件和源代碼文件。如果指定了 -sourcepath 選項(xiàng),則 javac 和 javadoc 僅搜索指定的源文件路徑。

類(lèi)加載和安全策略

類(lèi)或接口必須用類(lèi)加載器加載后才能使用。對(duì)特定類(lèi)加載器的使用確定了與類(lèi)加載器關(guān)聯(lián)的安全策略。

程序可通過(guò)調(diào)用類(lèi)加載器對(duì)象的 loadClass 方法加載類(lèi)或接口,但通常程序僅通過(guò)引用方式進(jìn)行加載。這樣就將調(diào)用內(nèi)部類(lèi)加載器,它對(duì)擴(kuò)展類(lèi)和用戶類(lèi)應(yīng)用安全策略。如果未啟用安全策略,則所有類(lèi)都是“可信任的”。即使啟用了安全策略,也不適用于自舉類(lèi)。它永遠(yuǎn)是“可信任的”。

啟用后,系統(tǒng)和用戶策略文件將對(duì)安全策略進(jìn)行配置。JDK 軟件包括一個(gè)系統(tǒng)策略文件,它對(duì)擴(kuò)展類(lèi)授予“可信任”狀態(tài),并對(duì)用戶類(lèi)設(shè)置基本限制。

要啟用或配置安全策略,參見(jiàn)安全功能。

注意:一些 Java 1.1 平臺(tái)使用的安全編程技術(shù)與 1.2 類(lèi)加載模型不兼容。為了對(duì)已有代碼提供臨時(shí)支持,這一版本包括 oldjava 啟動(dòng)器,它使用 1.1 類(lèi)加載模型。


網(wǎng)頁(yè)標(biāo)題:如何使用Java啟動(dòng)器查找類(lèi)
網(wǎng)頁(yè)路徑:http://www.5511xx.com/article/djshcee.html