Java面试 八股文每日3题:day15
Posted 闲言_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面试 八股文每日3题:day15相关的知识,希望对你有一定的参考价值。
1.聊聊Object 类相关方法?
1. getClass: 获取当前运行时对象的Class对象。
2. hashCode: 返回对象的hash码。
3. clone: 拷贝当前对象,必须实现Cloneable接口。浅拷贝对 基本数据类型进行 值拷贝,对 引用类型 拷贝引用;深拷贝对基本数据类型进行值拷贝,对引用类型对象不但拷贝对象的引用还拷贝对象的 相关属性和方法。两者不同在于 深拷贝创建 一个新的对象。
4. equals: 通过内存对象比较两个对象是否相等, String 类重写了这个方法使用值来比较是否相等。
5. toString: 返回类名@哈希码的16进制。
6. nodify:唤醒当前对象监视器的 任一个线程。
7. nodifyAll:唤醒当前对象监视器上的 所有线程。
8. wait:暂停线程的执行,与Thread.sleep(long l)相比,sleep使当前线程休眠一段时间,并 没有释放该对象的锁,wait 释放了锁。
9. finalize:对象被垃圾回收器回收时执行的方法
2.String、StringBuffer、StringBuilder
1.String 是有 char[]数组构成,使用了 final修饰,是 不可变的对象,可以理解为 常量,线程 安全。对String进行改变时,每次都会生成一个新的对象,然后把指针指向新的引用对象。
2. StringBuffer线程 安全, StringBuilder线程 不安全
3.操作 少量字符数据 用String, 单线程操作 大量数据用 StringBuilder, 多线程操作 大量数据用 StringBuffer。
3.聊聊重写和重载
重写:发生在 父子类(继承关系)中,子类重写父类非私有的方法。 方法名、 参数列表、 返回值类型都要 相同,方法体不同,访问修饰符大于等于父类,抛出的异常小于等于父类。
重载:发生在 同一个类中,方法名相同,参数列表不同(参数个数、参数类型、参数顺序),不能根据返回值类型判断重载(与返回值类型无关), 返回值和访问修饰符可以不同。
以上是关于Java面试 八股文每日3题:day15的主要内容,如果未能解决你的问题,请参考以下文章