mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-06-20 22:17:09 +08:00
[docs fix]异常图片
This commit is contained in:
parent
6aea90d3f4
commit
b6e569529b
@ -50,7 +50,7 @@ JRE 是 Java 运行时环境。它是运行已编译 Java 程序所需的所有
|
||||
|
||||
**Java 程序从源代码到运行的过程如下图所示:**
|
||||
|
||||

|
||||

|
||||
|
||||
我们需要格外注意的是 `.class->机器码` 这一步。在这一步 JVM 类加载器首先加载字节码文件,然后通过解释器逐行解释执行,这种方式的执行速度会相对比较慢。而且,有些方法和代码块是经常需要被调用的(也就是所谓的热点代码),所以后面引进了 JIT(just-in-time compilation) 编译器,而 JIT 属于运行时编译。当 JIT 编译器完成第一次编译后,其会将字节码对应的机器码保存下来,下次可以直接使用。而我们知道,机器码的运行效率肯定是高于 Java 解释器的。这也解释了我们为什么经常会说 **Java 是编译与解释共存的语言** 。
|
||||
|
||||
|
@ -221,7 +221,7 @@ JDK 提供了很多内置的注解(比如 `@Override` 、`@Deprecated`),
|
||||
|
||||
比如下面这段 IO 操作的代码:
|
||||
|
||||

|
||||

|
||||
|
||||
除了`RuntimeException`及其子类以外,其他的`Exception`类及其子类都属于受检查异常 。常见的受检查异常有: IO 相关的异常、`ClassNotFoundException` 、`SQLException`...。
|
||||
|
||||
@ -229,7 +229,7 @@ JDK 提供了很多内置的注解(比如 `@Override` 、`@Deprecated`),
|
||||
|
||||
`RuntimeException` 及其子类都统称为非受检查异常,例如:`NullPointerException`、`NumberFormatException`(字符串转换为数字)、`ArrayIndexOutOfBoundsException`(数组越界)、`ClassCastException`(类型转换错误)、`ArithmeticException`(算术错误)等。
|
||||
|
||||

|
||||

|
||||
|
||||
### Throwable 类常用方法有哪些?
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user