Skip to content

Commit

Permalink
Update: 微调 StackOverFlowError 文章格式
Browse files Browse the repository at this point in the history
  • Loading branch information
StabilityMan committed Jul 26, 2019
1 parent 5695032 commit 3b5a767
Showing 1 changed file with 3 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ public class StackOverflowErrorExample {

```

在这种情况下,`a()` 方法将无限入栈,直至栈溢出,耗尽线程栈空间,抛出 `java.lang.StackOverflowError` 错误,如下图所示。
在这种情况下,`a()` 方法将无限入栈,直至栈溢出,耗尽线程栈空间,如下图所示。

```
Exception in thread "main" java.lang.StackOverflowError
Expand Down Expand Up @@ -102,10 +102,10 @@ Exception in thread "main" java.lang.StackOverflowError

常见的解决方法包括以下几种:

* **修复引发无限递归调用的异常代码,**通过程序抛出的异常堆栈,找出不断重复的代码行,按图索骥,修复无限递归 Bug。
* **修复引发无限递归调用的异常代码,** 通过程序抛出的异常堆栈,找出不断重复的代码行,按图索骥,修复无限递归 Bug。
* 排查是否存在类之间的循环依赖。
* 排查是否存在在一个类中对当前类进行实例化,并作为该类的实例变量。
* **通过 JVM 启动参数 `-Xss` 增加线程栈内存空间,**某些正常使用场景需要执行大量方法或包含大量局部变量,这时可以适当地提高线程栈空间限制,例如通过配置 `-Xss2m` 将线程栈空间调整为 2 mb。
* **通过 JVM 启动参数 `-Xss` 增加线程栈内存空间,** 某些正常使用场景需要执行大量方法或包含大量局部变量,这时可以适当地提高线程栈空间限制,例如通过配置 `-Xss2m` 将线程栈空间调整为 2 mb。

线程栈的默认大小依赖于操作系统、JVM 版本和供应商,常见的默认配置如下表所示:

Expand Down

0 comments on commit 3b5a767

Please sign in to comment.