锁屏面试题百日百刷,每个工作日保持更新面试题。请看到最初就能获取你想要的, 接下来的是今日的面试题:
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上,理解更多请点我头像或到我的主页去取得,谢谢**