天天看點

java程式設計思想5-初始化與清理

1.構造器

a. 構造器確定操作對象之前從初始化
           

2.方法重載

a. 允許方法名相同二形參不同的方法存在,參數順序不同也視為不同的方法
b. 涉及基本類型的重載:如果傳入資料類型小于方法聲明的形參類型,實際資料類型就會提升;如果傳入資料類型大于方法的形參類型,就需要類型轉換來執行窄化轉換,不這樣做編譯會報錯
           

3. this關鍵字

a. this關鍵字隻能在方法内部使用,表示對“調用方法的那個對象的引用”,this指這個對象或目前對象,本身表示對目前對象的引用
b. 由于參數名稱和資料成員名稱相同,this.xx可以代表資料成員
           

static含義

a. static方法就是沒有this的方法,在static方法内部不能調用非靜态方法,static方法不是通過“向對象發送消息”的方式來完成的
           

垃圾回收

a. 引用計數:每個對象含有一個引用計數器,引用連接配接對象時,引用加1。如果對象間存在循環引用可能會出現,對象應該被回收,但引用計數不為0。
b. 如果從堆棧和靜态存儲區開始,周遊所有引用,就能找到所有 活的對象,然後是此對象包含的 所有引用,這樣可以解決引用計數的缺陷。停止-複制計數,先暫停程式運作,然後将所有存活的對象從目前堆複制到另一個堆,新堆裡面空間排列是緊湊的,舊堆裡面剩下的都是垃圾。這種效率低,首先需要兩個堆,然後有時候隻會産生少量垃圾,然而這個 回收器 還是會進行複制,造成浪費。
c. 标記-清掃,從堆棧和靜态存儲區出發,周遊所有引用,找出所有存活對象 ,給對象标記,不會回收,标記完成後,進行清理工作