java部分基础知识汇总
1、受检异常和非受检异常的区别? 所有的异常都是继承至Throwable,包括Error和Exception两个大类 Error: 不用捕获,通常是一些底层和硬件的错误,与程序本身无关Exception: 非受检异常:程序本身的异常,如果不主动捕获的,会由jvm去进行处理 受检异常:IOException/SQLException ,必须要去捕获的异常 当发生异常时,可以通过try catch去捕获异常,或通过throws抛出去。 eg:在用户修改密码时,对于开放的临时用户的密码时不允许修改的,修改的时候可以抛出RejectException这样去做,之前调用的代码就会发生变化,因为异常是主逻辑的补充逻辑,修改一个补充逻辑就改了主逻辑,这样是不行的实现类的变更会影响到调用者,这样破坏了封装性。因为一行代码多个捕获条件,使用降低了代码的可读性。这是在使用受检异常时可能会引发的问题。 什么时候使用受检异常? 例如 IOException/SQLException ,必须要去捕获的异常 。 受检异常可以转化为非受检异常,当受检异常威胁到系统的安全性、稳定性的时候必须要去处理。2、软引用、弱引...


