乙個 new 物件在記憶體中的誕生

2021-08-15 13:17:22 字數 564 閱讀 6597

persion persion=new persion

乙個簡單的new物件在記憶體中的誕生

1.生成persion.class檔案通過類載入器載入進記憶體中

2.執行main方法,棧中開闢main方法記憶體空間(壓柞-進棧),main在最底,在棧空間中分配了乙個變數persion的記憶體

3.在堆記憶體中開闢乙個物件例項空間,分配物件的記憶體首位址值

4.在堆中開闢的空間裡進行屬性的分配,並進行預設初始化 (在這裡舉例初始化的不同方式)

string name;
5.屬性顯示初始化。

string name =「哈哈」;
6.**塊初始化 (靜態/非靜態**塊)

static ;
非靜態就是沒有 static 關鍵字

7.構造器初始化

public persion(string name)

8.將首位址給persion,棧中的persion變數根據位址指向裡堆空間開闢的物件

物件 new乙個

1格式格式 class 類名 類名 要求符合大駝峰命名法,見名知意 類名這裡可以認為是乙個資料型別名,自定義資料型別 屬性描述 描述當前類有哪些屬性 例如 人類的身高體重,年齡姓名 行為描述 描述當前類有哪些行為 例如 人類的吃飯行為,睡覺行為,打遊戲行為依葫蘆畫瓢格式 scanner掃瞄器 sca...

乙個程序在記憶體中的布局

對於乙個完整的程式,在記憶體中分布情況如下圖 值得一提的是 在c 中struct存放在棧區,class存放在堆區,所以一般struct要比class要快的。堆和棧的比較表 僅針對c 棧 stack 堆 heap 申請方式 由os自動分配。例如在函式宣告乙個區域性變數int b os自動在棧中為b開闢...

乙個程序在記憶體中的布局

對於乙個完整的程式,在記憶體中分布情況如下圖 值得一提的是 在c 中 struct 存放在棧區,class 存放在堆區,所以一般 struct 要比class 要快的。堆和棧的比較表 僅針對c 棧 stack 堆 heap 申請方式 由 os自動分配。例如在函式宣告乙個區域性變數 int b os ...