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个整数对象中相同整数的地址是相同的。
在实际应用当中,对已创建的对象进行复用。