美文网首页
Java相关知识(二)

Java相关知识(二)

作者: ZunJun | 来源:发表于2018-10-30 19:21 被阅读0次

Object有哪些公用方法?

1.clone()方法:保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。
2.getClass()方法:final方法,获得运行时类型。
3.toString()方法:该方法用的比较多,一般子类都有覆盖。
4.finalize()方法:该方法用于在垃圾收集器回收前调用,做一些释放清理资源工作,因为无法确定该方法什么时候调用,所以很少使用。
6.equals()方法:非常重要的一个方法,一般子类都会重写该方法。
7.hashCode():用于哈希查找,可以减少在查找中使用equals()的次数,重写equals()方法一般都要重写hashCode()方法。
8.wait()方法:使当前线程等待该对象的锁(等待锁定池),当前线程必须是该对象的拥有者,wait()方法一直等待,直到调用notify()/notifyAll()方法被唤醒重新回到对象锁定池当中等待接受任务。
9.notify()/notifyAll()方法:该方法唤醒在该对象上等待的某个线程。

epuals()和==的区别?

关于变量之间的比较,可以分为基本类型变量的比较和引用类型之间的比较。

对于基本类型来说,它们存储在jvm的栈当中,因此比较的是变量的内容,也就是比较的是变量的值。 image
对于引用数据类型来说,因为对象的内容存储在jvm的堆中,栈中只是存储对象的引用(地址),无论是==还是equals比较的都是栈中的内容,即对象的引用,也就是比较的是两个对象的地址。但是根据创建对象的方式不同可以部分两种情况:

1.使用表达式创建对象:


image
2.使用new方法创建对象:
image
到这里也许你会有疑问了?
1.为什么表达式创建和new创建,会让==比较产生不同的结果

因为jvm在程序运行的时候会创建一个缓冲池,当使用表达式创建的时候,程序会在缓冲池当中寻找与其相同值的对象,如果找到,就把这个对象的地址赋给当前创建的对象,因此c和d都指向了c的引用,所以这里在使用==的时候返回true。而当用new创建对象的时候,是堆中重新分配内存,因此栈中的引用是不相同的,所以a和b是内容的值相同引用的栈的地址不同,所以a==b返回false.
2.既然equals比较的是引用,那么a.equals(b)为什么返回true。这里是因为integer里。重写的equals方法!


image
创建一个类验证一下:
image
当自定义Value类中没有重写equals方法时,调用equals方法返回结果为false,说明此时比较的并不只是内容。
重写equals方法:
image

相关文章

  • Java相关知识(二)

    Object有哪些公用方法? 1.clone()方法:保护方法,实现对象的浅复制,只有实现了Cloneable接口...

  • Nothing seek,Nothing find

    美图欣赏 Java、Android知识点汇集 Java集合类 ** Java集合相关的博客** java面试相关 ...

  • Java相关知识

  • 美图2018安卓开发实习生笔试题(回忆)

    选择和填空题 考察知识点: Java的copy by reference Java的线程安全相关知识 Java的t...

  • Java相关知识(一)

    1.Overload和Override的区别。Overloaded的方法是否可以改变返回值类型。 解释:重写Ove...

  • Java锁相关知识

    从ReentrantLock入手,学习Java锁相关知识 首先来看一下Java锁的使用 ReentrantLock...

  • 【Java】HashMap相关知识

    1 HashMap特点 HashMap是一个散列表(数组+链表),它存储的内容是键值对(key-value); H...

  • JAVA并发相关知识

    看了java核心技术 卷1的第14章《并发》,在此做点笔记,供以后复习。 线程睡眠函数(java.lang.Thr...

  • JAVA IO基本知识

    本部分总结一下JAVA IO的相关知识。 全部章节传送门: JAVA IO学习笔记: IO基本知识 JAVA IO...

  • java后端春招知识宝典

    Java面试相关知识点 这篇笔记主要用来记录一个大牛的java相关知识点 一、计算机网络 网络上的知识,基本上以理...

网友评论

      本文标题:Java相关知识(二)

      本文链接:https://www.haomeiwen.com/subject/iitntqtx.html