小白学java第17天
idea查看jdk原码:光标放在想查看的位置输入ctrl+b
== 和 equals的对比:
==比较运算符:
1.既可以判断基本类型,又可以判断引用类型
2.如果判断基本类型,判断的是指是否相等 示例:int i= 10;double d=10.0
3.如果判断引用类型,判断的是地址是否相等,即判定是不是同一个对象
equal:是object类中的方法,只能判断引用类型,默认判断的是地址是否相等
hashcode方法:
1.提高具有哈希结构的容器的效率
2.两个引用,如果指向的是同一个对象,则哈希值肯定是不一样的
3.两个引用,如果指向的是不同对象,则哈希值是不一样的
4.哈希值主要根据地址号来的,不能完全将哈希值等价于地址
toString方法:
默认返回:全类名+@+哈希值的十六进制
注意:子类往往重写,重写后输出属性
快捷键:alt+insert->toString
当直接输出一个对象时,toString方法会被默认的调用 例如System.out.pringt(a) 这里的a是默认的a.toString()
finalize方法:
1.当对象被回收时,系统会自动调用该对象的finalize方法,子类可以重写该方法,做一些释放资源,数据库连接或打开文件的操作,如果程序员不重写飞哪里则,那么就会调用Object类的finalize,即默认处理,
2.垃圾回收机制:当某个对象没有任何引用时,jvm就认为这个对象是一个垃圾对象,就会使用垃圾回收机制来销毁该对象,在销毁对象去前会先调用finalize方法
3.垃圾回收机制的调用,由系统来决定,也可以通过System.gc()主动触发垃圾回收机制