finalize方法
當對象被判定爲垃圾對象時,有JVM自動調用此方法,用以標記垃圾對象,進入回收隊列。
垃圾對象:沒有有效引用指向此對象時,爲垃圾對象。
垃圾回收:由GC銷燬垃圾對象,釋放數據存儲空間。
自動回收機制:JVM內存耗盡,一次性回收所有垃圾對象。
手動回收機制:使用System.gc();通知JVM進行垃圾回收。
包裝類
什麼是包裝類?
基本數據類型所對應的引用數據類型 如下圖
注意:Object類可統一所有數據,包裝類的默認值是null。
類型的轉換與拆箱、裝箱
8種包裝類提供不同類型間的轉換方式
Number父類提供6個共性方法 將自身類型轉化成其他數字類型 ex:
Byte b1 = new byte("10");
int b2 = b1.intValue();
double b3 = b1.doubleValue();
float b4 = b1.floatValue();
short b5 = b1.shortValue();
long b6 = b1.longValue();
parseXXX(String s)靜態方法,八種類型都有 ex:
parseByte("123");
parseShort("123");
parseDouble("123.45");
......
valueOf(基本類型),valueOf(字符串類型),靜態轉型方法,8種類型都有 ex:
Byte b1 = Byte.valueOf((byte)10);
Byte b2 = Byte.valueOf("10");
注意:需保證類型兼容,否則拋出NumberFormatException異常
JDK5.0之後,自動裝箱、拆箱。基本數據類型和包裝類自動轉換。ex:
Byte b1 = 10;
int i = b1;
整數緩衝區
Java預先創建了256個常用整數包裝類型對象。
這256個整數對象中相同整數的地址是相同的。
在實際應用當中,對已創建的對象進行復用。