首页 > 科技 >

阿里架构师公开披露Java面试题,这么全面?猫厂出的题你会几个(3)

2018-06-25 23:10:25 网络整理 阅读:138 评论:0

Exception类表示程序可以处理的异常,可以捕获且可能恢复。遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常。

7.Unchecked

Exception和Checked Exception,,各列举几个#

Unchecked Exception:

a. 指的是程序的瑕疵或逻辑错误,并且在运行时无法恢复。

b. 包括Error与RuntimeException及其子类,如:OutOfMemoryError,

UndeclaredThrowableException, IllegalArgumentException,

IllegalMonitorStateException, NullPointerException, IllegalStateException,

IndexOutOfBoundsException等。

c. 语法上不需要声明抛出异常。

Checked Exception:

a. 代表程序不能直接控制的无效外界情况(如用户输入,数据库问题,网络异常,文件丢失等)

b. 除了Error和RuntimeException及其子类之外,如:ClassNotFoundException,

NamingException, ServletException, SQLException, IOException等。

c. 需要try catch处理或throws声明抛出异常。

阿里架构师公开披露Java面试题,这么全面?猫厂出的题你会几个(3)

8.Java中如何实现代理机制(JDK、CGLIB)

JDK动态代理:代理类和目标类实现了共同的接口,用到InvocationHandler接口。

CGLIB动态代理:代理类是目标类的子类,用到MethodInterceptor接口。

9.多线程与死锁

死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。

产生死锁的原因:

一.因为系统资源不足。

二.进程运行推进的顺序不合适。

三.资源分配不当。

10.如何才能产生死锁

产生死锁的四个必要条件:

相关文章