天天看點

java基礎之Object類

Object類是是所有類的父類,對于java中的任意一個類來說,都是Object類的子類。

Object類中的源碼:

是以我更喜歡将這個對象螢幕了解成是一個資料結構來盛放線程的,對于一個線程執行完成或者是執行過程中釋放了對象螢幕,那麼對象螢幕會随機挑選一個線程來進行執行syncronized代碼塊中的邏輯。

對于每一個線程來說,都會有寄存器來記錄上線程的線程狀态,然後将線程的執行現場來進行恢複。

同時注意一點,native關鍵字修飾的方法是本地方式,底層是通過c和c++來進行實作的。

是以沒有方法體的方法不一定就是抽象方法;抽象方法一定是沒有方法體的;

示範一下通過Object類中的wait方法和notify方法來進行線程間的通信:

通過上面的例子可以看到控制台中的輸出資訊:

上面提到過的克隆方法。其實克隆就相當于是一份拷貝方法。為了更加友善容易的來書寫我們的代碼而寫。

包括一些強軟弱虛等對象的引用,其實本質上是由于程式員沒有手動釋放占用的記憶體,而是由GC算法來決定的。使用GC來進行回收的時候,需要在什麼時間段來進行回收。

千裡之行,始于足下。不積跬步,無以至千裡