关于Object类
这是Java中所有类的父类,有时候面试官会问你,你知道Object类中有哪些方法吗。
我觉得可以从这几个方向来回答
多线程
多线程少不了的就是线程间通信,那wait()和notify()肯定少不了,当然还有 volatile,condition等等,但是我们可以从这两个方法作为切入点,展开来聊聊多线程,接下来一个问题就是为什么wait方法为什么必须在同步代码块里面执行,这个在源码的注释里写的很清楚,我之前的文章也有写过这个知识点,然后可以展开聊lock锁,继而引申出AQS,然后可以引申的就比较多了,具体看自己掌握多少了,面试官不打断你,你就把你知道的知识点串联起来输出就行
hashcode
hashcode和equals这两个方法避免不了的问题就是重写equals为什么一定要重写hashcode方法,小伙伴们可以从hashset或者hashmap角度进行分析,当然hashset本质还是hashmap,之前我还看了String类的重写hashcode和equals方法,尤其是hashcode方法特别有意思,里面我记得有一个31这个数字,这个数背后有点学问,感兴趣的小伙伴可以自己去百度一下,我确实有些忘记了
clone
说实在的这个方法感觉平时用的不是很多,至少我是这样,在深浅克隆的地方用到了这个方法.
这里我就是从我的角度出发,如果面试过程中我被问到这个问题,我大概会从这几个角度出发来回答,但是面试的时候也看发挥,可能这块想起来,那块忘记,但平时自己学习还是要把这些知识点搞清楚。