Java学习打卡Day21

总结

finalize()

  1. protected void finalize() throws Throwable
  2. 当对象被判定为垃圾对象时,由JVM自动调用此方法,用以标记垃圾对象,进入回收队列
  3. 垃圾对象:没有有效引用指向此对象时
  4. 垃圾回收: 由GC销毁垃圾对象,释放数据存储空间
  5. 自动回收机制:JVM的内存耗尽,一次性回收所有垃圾对象
  6. 手动回收机制:使用System.gc(); 通知JVM执行垃圾回收

包装类

概念

  1. 基本类型所对应的引用类型
  2. Object可统一所有数据,包装类的默认值为nuII.
  3. 包装类中实际上就是持有了一个基本类型的属性,作为数据的存储空间(Byte中有一个byte属性),还提供了常用的转型方法,以及常量,既可以存储值,又具备了一系列的转型方法和常用常量
  4. 包装类型中提供了若干转型的方法,可以让自身类型与其他包装类型、基本类型、字符串相互之间进行转换。

转型方法

  1. 8种包装类型中,有6种是数字型(Byte、Short、Integer、Long、Float、Double),继承自java.lang.Number父类。
  2. java.lang.Number父类为所有子类分别提供了6个转型方法,将自身类型转换成其他数字型。
    byteValue();
    shortValue();
    intValue();
    longValue();
    floatValue();
    doubleValue();
  3. parseXXX(String s) 静态转型方法,8种包装类型都有
  4. valueOf(基本类型)、valueOf(字符串类型),静态转型方法
  5. 在使用字符串构建包装类型对象时,要保证类型的兼容,否则产生NumberFormatException。
  6. JDK5之后,提供自动装箱、拆箱,简化使用包装类的编程过程
  7. 自动装箱时,会调用valueOf方法,Byte、Short、Integer、Long,四种整数包装类型都提供了对应的cache缓冲区,将常用的256个数字提 前创建对象并保存在数组中,实现复用。即在区间的复用已有对象,在区间外创建新对象
发布了33 篇原创文章 · 获赞 3 · 访问量 914

猜你喜欢

转载自blog.csdn.net/qq_44952731/article/details/104621526