1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-25 02:27:10 +08:00

[fix]虚拟机栈的描述

This commit is contained in:
guide 2021-03-12 15:04:20 +08:00
parent b47309ed33
commit 9e410b645e
2 changed files with 3 additions and 1 deletions

View File

@ -102,7 +102,9 @@ Java 虚拟机在执行 Java 程序的过程中会把它管理的内存划分成
**Java 虚拟机栈会出现两种错误:`StackOverFlowError``OutOfMemoryError`。** **Java 虚拟机栈会出现两种错误:`StackOverFlowError``OutOfMemoryError`。**
- **`StackOverFlowError`** 若 Java 虚拟机栈的内存大小不允许动态扩展,那么当线程请求栈的深度超过当前 Java 虚拟机栈的最大深度的时候,就抛出 StackOverFlowError 错误。 - **`StackOverFlowError`** 若 Java 虚拟机栈的内存大小不允许动态扩展,那么当线程请求栈的深度超过当前 Java 虚拟机栈的最大深度的时候,就抛出 StackOverFlowError 错误。
- **`OutOfMemoryError`** 若 Java 虚拟机堆中没有空闲内存,并且垃圾回收器也无法提供更多内存的话。就会抛出 OutOfMemoryError 错误。 - **`OutOfMemoryError`** Java 虚拟机栈的内存大小可以动态扩展, 如果虚拟机在动态扩展栈时无法申请到足够的内存空间,则抛出`OutOfMemoryError`异常异常。
![](./pictures/java内存区域/《深入理解虚拟机》第三版的第2章-虚拟机栈.png)
Java 虚拟机栈也是线程私有的,每个线程都有各自的 Java 虚拟机栈,而且随着线程的创建而创建,随着线程的死亡而死亡。 Java 虚拟机栈也是线程私有的,每个线程都有各自的 Java 虚拟机栈,而且随着线程的创建而创建,随着线程的死亡而死亡。

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB