java入門 記憶體分配與操作

2021-08-06 08:23:03 字數 619 閱讀 6405

person p = new person(「zhangsan」,20);

該句話都做了什麼

1、因為new用到了person.class.所以 先找到person.class檔案並載入到記憶體中

2、執行改類中的static**塊,如果有的話,給person.class類進行初始化

3、在堆記憶體中開闢空間,分配記憶體位址。

4、在堆記憶體中建立物件的特有屬性,並進行預設初始化

5、對屬性進行顯示初始化

6、對物件進行構造**塊初始化。

7、對物件進行建構函式初始化

8、將記憶體位址賦給棧記憶體的p變數

class person 

public

void

setname(string name)

public

void

speak()

public

static

void

showcountry()

public

static

void

method()

}class persondemo

}

(五)Java入門 內部類

內部類可以直接訪問外部類的內容,但是外部類要想訪問內部類,必須建立內部類的物件。內部類可以修飾為static,那裡面訪問外部類的變數必須是static的。1 若內部類不加static,則相當於外部類的成員。out.in a new out new in 2 若內部類加上static,外部類就不要建立...

Java記憶體分配

大多數情況,物件在新生代eden區中分配。當eden去沒有足夠記憶體空間分配時,進行minor gc。大物件是指連續占用記憶體空間的物件,比如很長的字串以及陣列。用乙個年齡計數器,每次minor gc後存活的物件移動到survior空間,並且計數器加1.年齡計數器大於一定值 預設是15 將晉公升到老...

嵌入式C語言入門 記憶體管理

堆和棧的區別 區 動態分配 void malloc size t size malloc 配置記憶體空間 表頭檔案 include 函式引數 無符號整型資料 函式說明 malloc 在動態儲存區分配size位元組的連續空間 返回值 成功返回指向空間起始位址的指標,失敗返回null void real...