初識JAVA 類加載機制
從本篇博文開始,我們就進入虛擬機類加載機制的學習了。那么什么是類加載呢?當我們寫完一個Java類的時候,并不是直接就可以運行的,它還要編譯成.class(字節碼)文件,再由虛擬機解釋給當前的操作系統去執行。這些過程都是我們看不見的,我們能看見的也就是一個.class文件。既然虛擬機要解釋這些.class文件給當前的操作系統聽,那么他怎么獲得這些.class文件呢?虛擬機獲得這些.class文件的過程就是類加載了。

所以,總結來說就是:虛擬機將.class文件從磁盤或者其他地方加載到內存,并同時對文件中的數據進行校驗、轉換解析和初始化,最終形成可以被虛擬機直接識別的類型,這就是類加載機制!
首先我們來看看類的一個生命周期:
總共有加載、驗證、準備、解析、初始化、使用和卸載七個階段。其中前面的5個階段就是我們要說的類加載機制了,驗證、準備、解析階段又統稱為連接階段。注意:解析階段不一定會在準備階段之后就執行,也有可能會在初始化階段之后,這是為了支持Java的動態綁定的特性。
什么是動態綁定呢?相信大家都知道JAVA的4大特性吧:封裝、繼承、抽象、多態。其實多態就可以理解為動態綁定。多態的實現機制就是:父類或者接口可以創建他們的子類或者實現類的實例對象。簡單的來說就是:父類可以new出子類,接口可以new出他的實現類。
多態通俗來說就是:父類A有一個方法function(),子類B,C分別繼承A并且重寫function(),當創建一個對象A b = new B(); b.function()就調用B的funciotn,假如你new C(),那調用的就是C重寫的function。虛擬機怎么判斷你使用的是哪個類的function就是動態綁定,這個現象就是多態。
今天就先說這么多,大家好好理解一下。要記住那幾個階段,接下來的博文我們會逐一的講解每個階段的流程。
Java 虛擬化
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。