# Java 语言特性

# 异常

# 若try语句块中包含“return”语句,finally语句块会执行吗?

会执行。只有两种情况finally块中的语句不会被执行:

  1. 调用了System.exit()方法;
  2. JVM“崩溃”了。

# 异常的层次结构

  • Throwable类 是异常层级中的基类
  • Error类 表示内部错误 这类错误使我们无法控制的
  • Exception表示异常,RuntimeException及其子类属于未检查异常 这类异常包括ArrayIndexOutOfBoundsException、NullPointerException等 应该通过条件判断等方式语句避免未检查异常的发生
  • IOException及其子类属于已检查异常

# 反射

# 反射的作用与原理

运行时获取类的各种定义信息,比如定义了哪些属性与方法。
原理是通过类的class对象来获取它的各种信息。

# 注解

# 注解的基本概念与使用

注解可以看作是“增强版的注释”,它可以向编译器、虚拟机说明一些事情。
注解是描述Java代码的代码,它能够被编译器解析,注解处理工具在运行时也能够解析注解。
注解本身是“被动”的信息,只有主动解析它才有意义。
除了向编译器/虚拟机传递信息,我们也可以使用注解来生成一些“模板化”的代码。