所有人都知道面向對象思想,Java中的對象的創建在內存中是如何創建的,傳智播客的視頻看了一遍,把一些講解的比較清晰的內容記錄下來,方便記憶的更加深刻,Java中創建對象的過程,首先要理解JVM中棧、堆、方法區的空間,以及在這三個空間內,虛擬機都進行什么操作,這樣就會理解起來容易一些,其實Java是在C語言的基礎上發展起來的,很多的內容是借鑒C語言的。
以下分別是創建一個對象、兩個對象、以及三個對象的內存圖解,講的比較詳細,而且比較生動,很好理解:
(方法調用是在棧中進行的,當方法調用完成之后,會立即銷毀的,棧中存放是有先進后出的原則的,應該是從下往上進行存儲的,棧中存放方法名,以及堆中創建對象的內存地址,通過內存地址,進行對象屬性的調用以及賦值,對象方法是存放在方法區的,同樣是通過內存地址進行調用的,而且同一類對象共用一個方法區)
一、一個對象的創建在內存中的圖解
二、兩個對象的創建在內存中的圖解
三、三個對象的創建在內存中的圖解
(一個對象賦值給另一個對象,其實在內存中的表現就是指向對象在堆中位置)