乐趣区

关于后端:面试题百日百刷java基础篇六

锁屏面试题百日百刷,每个工作日保持更新面试题。 请看到最初就能获取你想要的, 接下来的是今日的面试题:

1.Object 类的常见办法总结 **

Object 类是一个非凡的类,是所有类的父类。它次要提供了以下 11 个办法:

public final native Class<?> getClass()//native 办法,用于返回以后运行时对象的 Class 对象,应用了 final 关键字润饰,故不容许子类重写。

public native int hashCode() //native 办法,用于返回对象的哈希码,次要应用在哈希表中,比方 JDK 中的 HashMap。

public boolean equals(Object obj)// 用于比拟 2 个对象的内存地址是否相等,String 类对该办法进行了重写用户比拟字符串的值是否相等。

protected native Object clone() throws CloneNotSupportedException//naitive 办法,用于创立并返回以后对象的一份拷贝。个别状况下,对于任何对象 x,表达式 x.clone() != x 为 true,x.clone().getClass() == x.getClass() 为 true。Object 自身没有实现 Cloneable 接口,所以不重写 clone 办法并且进行调用的话会产生 CloneNotSupportedException 异样。

public String toString()// 返回类的名字 @实例的哈希码的 16 进制的字符串。倡议 Object 所有的子类都重写这个办法。

public final native void notify()//native 办法,并且不能重写。唤醒一个在此对象监视器上期待的线程 ( 监视器相当于就是锁的概念)。如果有多个线程在期待只会任意唤醒一个。

public final native void notifyAll()//native 办法,并且不能重写。跟 notify 一样,惟一的区别就是会唤醒在此对象监视器上期待的所有线程,而不是一个线程。

public final native void wait(long timeout) throws InterruptedException//native 办法,并且不能重写。暂停线程的执行。留神:sleep 办法没有开释锁,而 wait 办法开释了锁。timeout 是等待时间。

public final void wait(long timeout, int nanos) throws InterruptedException// 多了 nanos 参数,这个参数示意额定工夫(以毫微秒为单位,范畴是 0-999999)。所以超时的工夫还须要加上 nanos 毫秒。

public final void wait() throws InterruptedException// 跟之前的 2 个 wait 办法一样,只不过该办法始终期待,没有超时工夫这个概念

protected void finalize() throws Throwable {}// 实例被垃圾回收器回收的时候触发的操作

2.Java 序列化中如果有些字段不想进行序列化,怎么办?**

对于不想进行序列化的变量,应用 transient 关键字润饰。

transient 关键字的作用是:阻止实例中那些用此关键字润饰的的变量序列化;当对象被反序列化时,被 transient 润饰的变量值不会被长久化和复原。transient 只能润饰变量,不能润饰类和办法。

全部内容在 git 上, 理解更多请点我头像或到我的主页去取得,谢谢 **

退出移动版