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