java中Object类是什么

发布时间:2020-10-27 11:20:29 作者:小新
来源:亿速云 阅读:177

java中Object类是什么?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

Object类有哪些方法

registerNatives()【底层实现、不研究】hashCode()equals(Object obj)clone()toString()notify()notifyAll()wait(long timeout)【还有重载了两个】finalize()Object一共有11个方法,其中一个为底层的实现registerNatives(),其中两个wait()和wait(long timeout, int nanos)重载方法。还有一个属性:返回字节码文件对象

hashCode

public native int hashCode();

由native方法底层实现了

equals

public boolean equals(Object obj) {
    return (this == obj);
}

直接判断内存地址了

想要更加清晰它们究竟是做什么的,我们来读读它的注释:

java中Object类是什么

java中Object类是什么

根据注释我们可以总结以下的要点:

为啥说hashCode()以散列表为底层带来性能的提升是很容易理解的。我们再来回顾一下HashMap的插入:

java中Object类是什么

如果hash值都不相等,那么可以直接判断该key是不相等的了!

toString

toString方法主要是用来标识该对象的

java中Object类是什么

clone

wait & notify & notifyAll

wait和notify方法其实就是Java给我们提供让线程之间通信的API。

为什么wait和notify在Object方法上

Thread.sleep()Object.wait()

二者都可以暂停当前线程,释放CPU控制权。

但是要注意的是:

notify方法调用后,被唤醒的线程不会立马获得到锁对象。而是等待notify的synchronized代码块执行完之后才会获得锁对象

finalize

finalize()`方法将在垃圾回收器清除对象之前调用,但该方法不知道何时调用,具有不定性

一般我们都不会重写它~

一个对象的finalize()方法只会被调用一次,而且finalize()被调用不意味着gc会立即回收该对象,所以有可能调用finalize()后,该对象又不需要被回收了,然后到了真正要被回收的时候,因为前面调用过一次,所以不会调用finalize(),产生问题。

java中Object类是什么

感谢各位的阅读!看完上述内容,你们对java中Object类是什么大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. java中的Object类可以实现哪些方法
  2. 如何使用Java中Object类

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java ava ct

上一篇:java多线程的基础知识有哪些

下一篇:java有什么作用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》