Java成神之路(十七)API、SPI与异常

API&SPI

  1. API 、SPI
    API:直接的功能的接口和方法
    SPI:继承扩展,完成自定义功能的类与方法,接口。
  2. SPI的定义与实现原理
    SPI的定义:Java类库的内部代码能够调用外部类的方法。基于接口的实现+策略模式+配置文件实现动态加载机制
    实现原理:反射。
    使用ServiceLoader加载配置文件,本质是反射动态加载。

异常

  1. 异常类型
    Error:编译异常;Runtome Exception:运行时异常。Exception:库类异常;throw:自定义异常
    ArithmeticExecption:算数异常
    NullPointerException:空指针异常
    ClassCastException:类型强制转换异常
    ArrayIndexOutOfBoundsException:数组下标越限异常
    NumberFormatException:字符串转数字异常
    IOException:输入输出异常
    java.lang.AbstractMethodError:抽象方法异常
    java.lang.AssertionError:断言异常
  2. 自定义异常
    继承于Throwable的子类,检查型异常就需要继承Exception,运行时异常需要继承RuntimeException类。
  3. Error,Exception
    Exception:可以是可控的或不可控的,表示人为的异常,应该在应用程序级被处理
    Error:总是不可控制的,表示系统错误或者底层资源错误,应该在系统级捕获。
  4. 异常链:
    在子类构造器中存在cause对象作为参数,这个cause表示原始异常
  5. try-with-resources
    JDK1.7后出现的自动关闭外部资源语句。当一个外部资源的句柄实现了AutoCloseable(类似FileInputStream),就是直接简化为try{}catch(IOException e){},自带异常压制(处理时异常,结束时异常会被抑制,抛出处理时异常)和自动关闭资源
  6. finally 和return的执行顺序。
    Finally总是先执行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值