java面试宝典Beta5.0 复制内容

本文详细介绍了Java中的方法重载和重写,以及编译时和运行时的多态性。讲解了默认修饰符的包访问权限,并强调了在重写equals方法时同时重写hashCode的重要性。深入探讨了Java异常处理,区分了系统异常和普通异常的处理方式。此外,还涵盖了ArrayList的实现细节,以及Java集合框架的不同层次,包括普通集合、线程安全集合和并发集合的特性与选择。最后,列举了Map接口的主要实现类如HashMap、HashTable和LinkedHashMap,以及Set接口的实现类如HashSet和LinkedHashSet,强调了在使用时需要注意的重写规则和性能考虑。

1.方法重载(overload)实现的是编译时的多态性(也称为前绑定),而方法重写

(override)实现的是运行时的多态性(也称为后绑定)

2.默认修饰符有包访问权限

3.重写 equals 时总是要重写 hashCode

4.java 为系统异常和普通异常提供了不同的解决方案,编译器强制普通异常必须 try..catch 处理或用 throws 声明继
续抛给上层调用方法处理,所以普通异常也称为 checked 异常,而系统异常可以处理也可以不处理,所以,编译器不
强制用 try..catch 处理或用 throws 声明,所以系统异常也称为 unchecked 异常

5.面试题里面对日期有详尽的介绍

6.对于 ArrayList, array 是他的成员变量,但是每次在方法中使用该成员变量的时候作者都会重
新在方法中开辟一个局部变量,然后给局部变量赋值为 array,然后再使用

7.在 java 中有普通集合、同步(线程安全)集合、并发集合。普通集合通常性能最高,但是不保证多线程的安全
性和并发的可靠性。线程安全集合仅仅是给集合添加了 synchronized 同步锁,严重牺牲了性能,而且对并发的效率就
更低了,并发集合则通过复杂的策略不仅保证了多线程的安全又提高的并发时的效率。

8.Map 接口有三个实现类(HashMap:基于 hash 表的 Map 接口实现,非线程安全,高效,支持 null 值和 null
键; HashTable:线程安全,低效,不支持 null 值和 null 键; LinkedHashMap:是 HashMap 的一个子类,保存了
记录的插入顺序; SortMap 接口: TreeMap,能够把它保存的记录根据键排序,默认是键值的升序排序)

10.Set 接口有两个实现类(HashSet:底层是由 HashMap 实现,不允许集合中有重复的值,使用该方式时需要重写 equals()和 hashCode()方法; LinkedHashSet:继承与 HashSet,同时又基于 LinkedHashMap 来进行实现,底层使用的是 LinkedHashMp)。

11.反 射 首 先 是 能 够 获 取 到 Java 中 要 反 射 类 的 对象 , 获 取 字节码有 三 种 方 法 ,
1.Class.forName(className) 2.类名.class 3.this.getClass()。然后将字节码中的方法,变量,构造函数等映射成
相应的 Method、 Filed、 Constructor 等类,这些类提供了丰富的方法可以被我们所使用。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值