5 回答

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個(gè)贊
1,Java的bytecode里面有方法的原型信息,編譯時(shí)有class文件即可
2,Java運(yùn)行時(shí)從classpath里面尋找jar文件,再在jar文件里面找包名對(duì)應(yīng)的a/b/c.class
3,是這樣的

TA貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個(gè)贊
看一本關(guān)于講解jvm的書,具體的細(xì)節(jié),看看類加載,《深入jvm虛擬機(jī)》。
1、:全類名定義一個(gè)類,每個(gè)類被加載一次。
2、:你是想問怎么找到吧,我覺得和全類名比較類似。
最后個(gè)我沒懂你的意思

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊
我個(gè)人是這樣理解的:
1、c/c++編譯出的庫和java生成jar包這兩件事情是不等價(jià)的,jar包本質(zhì)上只是一個(gè)壓縮包;如果一定要類比,c/c++編譯的過程應(yīng)該相當(dāng)于java生成class文件的過程,也就是代碼轉(zhuǎn)換成機(jī)器(或虛擬機(jī))可以理解并執(zhí)行的文件;
2、JAVA虛擬機(jī)會(huì)把目標(biāo)class文件加載到內(nèi)存里,其中類的信息應(yīng)該放到“方法區(qū)”,被實(shí)例化的時(shí)候,引用在棧、實(shí)例在堆(和c/c++的malloc或new類似)。
3、每一個(gè)類是通過 類加載器 + 包名 + 類名 三部分信息在JVM中唯一標(biāo)識(shí);
4、比較好的書有《深入理解java虛擬機(jī)》、《osgi原理與最佳實(shí)踐》;

TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊
添加回答
舉報(bào)