Java从入门到精通Chapter7_3对象比较 // 通常引用不一定需要有一个对象相关联,引用只是存放一个对象的内存地址,并非存放 // 一个对象,严格说引用和对象是不同的,但可以将这种区别忽略,可以简单的说book是 // Book类的一个对象,而事实上应该说book是包含Book对象的一个引用 // equals()方法比较两个对象引用所指的内容是否相等,而==比较的是两个对象 // 引用的地址是否相等 // 对象引用超过其作用范围,则这个对象被视为垃圾 // 将对象赋值为null时,被视为垃圾 // 垃圾回收器只能回收那些有new操作符创建的对象,如果某些对象不是通过new操作符 // 在内存中获取一块内存区域,这种对象可能不被垃圾回收机制所识别,所以在java // 语言中提供了一个finalize()方法,这个方法是Object类的方法,被声明为protected // 用户可以在自己的类中定义这个方法,如果用户定义了finalize()方法,在垃圾回收时 // 首先调用该方法,并且在下一次垃圾回收动作发生时,才能真正回收对象占用的内存。 // java提供了System.gc()方法强制启动垃圾回收器,告知垃圾回收器来清理。