這篇文章給大家分享的是有關java類加載器的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
成都創新互聯專注于任丘企業網站建設,響應式網站,商城網站開發。任丘網站建設公司,為任丘等地區提供建站服務。全流程定制網站制作,專業設計,全程項目跟蹤,成都創新互聯專業和態度為您提供的服務
1. 簡單,只需理解基本的概念,就可以編寫適合于各種情況的應用程序;2. 面向對象;3. 分布性,Java是面向網絡的語言;4. 魯棒性,java提供自動垃圾收集來進行內存管理,防止程序員在管理內存時容易產生的錯誤。;5. 安全性,用于網絡、分布環境下的Java必須防止病毒的入侵。6. 體系結構中立,只要安裝了Java運行時系統,就可在任意處理器上運行。7. 可移植性,Java可以方便地移植到網絡上的不同機器。8.解釋執行,Java解釋器直接對Java字節碼進行解釋執行。
1、類加載器概念
類加載器,用來加載 Java 類到 Java 虛擬機中 , 一般來說,Java 虛擬機使用 Java 類的方式如下:Java 源程序(.java 文件)在經過 Java 編譯器編譯之后就被轉換成 Java 字節代碼(.class 文件) , 類加載器,負責讀取 Java 字節代碼,并轉換成 java.lang.Class 類的一個實例
2、發生的時期
(1)遇到 new、getstatic、putstatic、invokestatic 這四條字節碼指令時,如果類還沒進行初始化,則需要先觸發其初始化。
(2)使用 java.lang.reflect 包的方法對類進行反射調用的時候,如果類還沒進行初始化,則需要先觸發其初始化。
(3)當初始化了一個類的時候,如果發現其父類還沒進行初始化,則需要先觸發其父類的初始化。
(4)當虛擬機啟動時,用戶需要指定一個執行的主類,即調用其 #main(String[] args) 方法,虛擬機則會先初始化該主類。
(5)當使用 JDK7 的動態語言支持時,如果一個 java.lang.invoke.MethodHandle 實例最后的解析結果為 REF_getStatic、REF_putStatic、REF_invokeStatic 的方法句柄,并且這個方法句柄所對應的類沒有進行過初始化,則需要先觸發其初始化。
3、加載Class 的方式
(1)加載,是找到 .class 文件并把這個文件包含的字節碼加載到內存中。
(2)連接,又可以分為三個步驟,分別是字節碼驗證、Class 類數據結構分析及相應的內存分配、最后的符號表的解析。
(3)Initialization(類中靜態屬性和初始化賦值),以及Using(靜態塊的執行)等。
感謝各位的閱讀!關于“java類加載器的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
網站名稱:java類加載器的示例分析
文章位置:http://m.newbst.com/article40/pjdieo.html
成都網站建設公司_創新互聯,為您提供網站策劃、品牌網站制作、微信小程序、虛擬主機、關鍵詞優化、App開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯