摘要: 最近在忙畢業(yè)設(shè)計(jì),被分到的課題是 :java class loading技術(shù)研究
第一次接觸java虛擬機(jī)方面的問題,對(duì)我來說,還真有些困難。查了兩天的資料,簡(jiǎn)單整理一下。
一個(gè)類代表要執(zhí)行的代碼,而數(shù)據(jù)則表示其相關(guān)狀態(tài)。狀態(tài)時(shí)常改變,而代碼則不會(huì)。當(dāng)我們將一個(gè)特定的狀態(tài)與一個(gè)類相對(duì)應(yīng)起來,也就意味著將實(shí)例化一個(gè)對(duì)象。盡管相同的類對(duì)應(yīng)的實(shí)例的狀態(tài)千差萬別,但其本質(zhì)都對(duì)應(yīng)著同一段代碼。在JAVA中,一個(gè)類通常有著一個(gè).class文件,但也有例外。
我們所編譯的代碼,都是首先通過編譯器編譯成字節(jié)碼文件。對(duì)于JAVA來說,就是生成一個(gè)一個(gè)的.class文件。當(dāng)我們運(yùn)行程序的時(shí)候,再由JAVA虛擬機(jī)將所需要的.class文件加載進(jìn)內(nèi)存。(這個(gè)時(shí)候的工作由每一個(gè)加載器來完成)。我的畢設(shè)所要研究的問題就在這里。如何自己定義一個(gè)classloader?自定義的classloader由什么意義呢?呵呵,才接觸兩天,具體的我還沒理解透呢。
閱讀全文