1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-20 22:17:09 +08:00

[docs fix]异常图片

This commit is contained in:
guide 2022-01-31 16:53:26 +08:00
parent 6aea90d3f4
commit b6e569529b
2 changed files with 3 additions and 3 deletions

View File

@ -50,7 +50,7 @@ JRE 是 Java 运行时环境。它是运行已编译 Java 程序所需的所有
**Java 程序从源代码到运行的过程如下图所示:**
![Java程序转变为机器代码的过程](/Users/guide/Documents/GitHub/JavaGuide/docs/java/basis/images/java程序转变为机器代码的过程.png)
![Java程序转变为机器代码的过程](./images/java程序转变为机器代码的过程.png)
我们需要格外注意的是 `.class->机器码` 这一步。在这一步 JVM 类加载器首先加载字节码文件,然后通过解释器逐行解释执行,这种方式的执行速度会相对比较慢。而且,有些方法和代码块是经常需要被调用的(也就是所谓的热点代码),所以后面引进了 JITjust-in-time compilation 编译器,而 JIT 属于运行时编译。当 JIT 编译器完成第一次编译后,其会将字节码对应的机器码保存下来,下次可以直接使用。而我们知道,机器码的运行效率肯定是高于 Java 解释器的。这也解释了我们为什么经常会说 **Java 是编译与解释共存的语言**

View File

@ -221,7 +221,7 @@ JDK 提供了很多内置的注解(比如 `@Override` 、`@Deprecated`
比如下面这段 IO 操作的代码:
![](/Users/guide/Documents/GitHub/JavaGuide/docs/java/basis/images/checked-exception.png)
![](./images/checked-exception.png)
除了`RuntimeException`及其子类以外,其他的`Exception`类及其子类都属于受检查异常 。常见的受检查异常有: IO 相关的异常、`ClassNotFoundException``SQLException`...。
@ -229,7 +229,7 @@ JDK 提供了很多内置的注解(比如 `@Override` 、`@Deprecated`
`RuntimeException` 及其子类都统称为非受检查异常,例如:`NullPointerException``NumberFormatException`(字符串转换为数字)、`ArrayIndexOutOfBoundsException`(数组越界)、`ClassCastException`(类型转换错误)、`ArithmeticException`(算术错误)等。
![](/Users/guide/Documents/GitHub/JavaGuide/docs/java/basis/images/unchecked-exception.png)
![](./images/unchecked-exception.png)
### Throwable 类常用方法有哪些?