真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java虛擬機(jī)裝載和初始化一個(gè)class類(lèi)代碼解析-創(chuàng)新互聯(lián)

在 java 應(yīng)用程序開(kāi)發(fā)中,只有被 java 虛擬機(jī)裝載的 Class 類(lèi)型才能在程序中使用。只要生成的字節(jié)碼符合 java 虛擬機(jī)的指令集和文件格式,就可以在 JVM 上運(yùn)行,這為 java 的跨平臺(tái)性提供條件。下面,我們來(lái)看看虛擬機(jī)是如何裝載和初始化一個(gè) class 類(lèi)的。

創(chuàng)新互聯(lián)公司基于分布式IDC數(shù)據(jù)中心構(gòu)建的平臺(tái)為眾多戶提供成都西云數(shù)據(jù)中心 四川大帶寬租用 成都機(jī)柜租用 成都服務(wù)器租用。

裝載一個(gè)類(lèi)

學(xué)習(xí)過(guò)C/C++語(yǔ)言的讀者知道,C/C++源代碼必須首先別編譯成本地的機(jī)器代碼,然后還需要一個(gè)鏈接代碼過(guò)程。該鏈接過(guò)程的主要任務(wù)就是:合并不同的源碼文件產(chǎn)出的中間代碼,并最終獲得一個(gè)可直接執(zhí)行的應(yīng)用程序。然后,Java語(yǔ)言不是這么做的,Java應(yīng)用中類(lèi)似于鏈接過(guò)程的步驟是在字節(jié)碼被裝載到JVM中之后再執(zhí)行的。


正如我們所知,JVM存在不止一個(gè)類(lèi)加載器,不同的加載器使用不同的方式來(lái)加載類(lèi)。但是,它們都只在必須加載類(lèi)時(shí),才開(kāi)始裝載類(lèi)。當(dāng)然,如果已裝載完畢的類(lèi)引用了某些未裝載的類(lèi),類(lèi)裝載器會(huì)進(jìn)一步去裝載這些類(lèi),整個(gè)的裝載過(guò)程是遞歸的。


裝載時(shí)機(jī)與方式

在Java中,類(lèi)的裝載策略是由類(lèi)加載器控制的。我們使用下面這個(gè)簡(jiǎn)單的示例代碼來(lái)演示類(lèi)的裝載方式與時(shí)機(jī):

// TestLoader.java
package compiler;
public class TestLoader {
public static void main(String[] args) {
System.out.println("test");
}
}

當(dāng)前標(biāo)題:Java虛擬機(jī)裝載和初始化一個(gè)class類(lèi)代碼解析-創(chuàng)新互聯(lián)
文章源于:http://weahome.cn/article/geoej.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部