标签:调用 java hashCode 面试 线程 集合 题目 yes 方法
面试题提纲
1、关键字,private protected public static final 组合着问
访问控制符
同一个类中 | 同一个包中 | 不同包中的子类 | 不同包非子类 | |
---|---|---|---|---|
private | yes | |||
默认(包可访问) | yes | yes | ||
protected | yes | yes | yes | |
public | yes | yes | yes | yes |
其他修饰符
基本含义 | 修饰类 | 修饰成员 | 修饰局部变量 | |
---|---|---|---|---|
static | 静态的、非实例的、类的、 | 只能修饰内部类 | yes | |
final | 最终的、不可改变的 | yes | yes | yes |
abstract | 抽象的、不可实例化的 | yes | yes |
2、Object类里面有哪几种方法
九种方法
getClass():获取类对象
hashCode():获取hashCode的值
equals():比较对象的值和地址是否相等
notify():随机选择一个在该对象上调用wait方法的线程,解除其阻塞状态。该方法只能在同步方法或同步块内部调用。如果当前线程不是锁的持有者,该方法抛出一个IllegalMonitorStateException异常。
notifyall():解除所有那些在该对象上调用wait方法的线程的阻塞状态。该方法只能在同步方法或同步块内部调用。如果当前线程不是锁的持有者,该方法抛出一个IllegalMonitorStateException异常。
wait():导致线程进入等待状态,直到它被其他线程通过notify()或者notifyAll唤醒。该方法只能在同步方法中调用。如果当前线程不是锁的持有者,该方法抛出一个IllegalMonitorStateException异常。
finalize():对象回收时调用
equals 和 hashCode方法,重写equals的原则()
其实当 equals 方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码
3、什么是向上转型
JAVA中的一种调用方式。向上转型是对A的对象的方法的扩充,即A的对象可访问B从A中继承来的和B复写A的方法。
Student extends Person
Person person = new Student()
向下转型是不安全的,容器出现错误,一种强转的过程
4、Exception和Error
Exception:出现的异常,java.lang.NullPointerException
Error: 出现错误
5、反射的用途
反射最重要的用途就是开发各种通用框架
6、HashMap实现原理(数组+链表),查找数据的时间复杂度
HashMap的实现原理--链表散列
1、底层有一个hash表,查询的速率快
2、HashMap集合是一个无序的集合。
LinkHashMap
LinkedHashMap集合底层是哈希表+链表(保证迭代的顺序)
LinkHashMap集合是一个有序集合
7、List有哪些子类,各有什么区别
有序、带索引、可重复
1、Vector: 同步的
底层数据结构是数组,查询快,增删慢。
线程安全,效率低。
2、ArrayList
底层数据结构是数组,查询快,增删慢。
线程不安全,效率高。
3、LinkedList
底层数据结构是链表,查询慢,增删快。
线程不安全,效率高。
8、Java泛型机制,泛型机制的优点,以及类型变量
好处:
1、避免异常
2、把运行期异常,提升为编译期异常
3、集合中存储的元素类型统一了
4、从集合中取出的元素类型是泛型指定的类型,不需要进行大量的“向下转型”
弊端:
泛型是什么类型就是什么,只可以存储什么数据
导致集合中存储的元素缺乏多样性
标签:调用,java,hashCode,面试,线程,集合,题目,yes,方法 来源: https://www.cnblogs.com/luoshouping/p/15333344.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。