#在千锋“逆战”学习第21天#finalize()方法、包装类、String类

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个整数对象中相同整数的地址是相同的。

在实际应用当中,对已创建的对象进行复用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章