6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

StackOverflowError(無限ループ)

Last updated at Posted at 2018-09-02

技術書に無限ループになってしまうからそれはだめだと書いてあり、実際どのようにしたら無限ループになるのかを調べました。

public static void add(){
    add();
}

簡単に書くと、こうすると無限ループになります。
関数を宣言して、その内側でおなじ関数を呼ぶ。
すると,add()がadd()を呼び続けるため無限ループになる。

eclipse上だと、java.lang.StackOverflowError
というエラー文が出て終了します。

つまり、stack領域がいっぱいになってあふれたということでエラーになります。

Java Platform, Standard Edition 7 API 仕様によると、
アプリケーションでの再帰の回数が多すぎてスタックオーバーフローが起こる場合にスローされます。

ということだそうです。
自分の場合勝手にとまりましたが、とまらなかったら、ctrl + c か ctrl + z か Escキー
が有効だそうです。

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?