如何推迟 IntelliJ IDEA 的 stackoverflowError?
How to postpone stackoverflowError IntelliJ IDEA?
我找到了一个无需增加任何内存大小的解决方案,
var count = 0
fun main(args: Array<String>) {
repeater()
}
fun repeater(){
a()
repeater()
}
fun a(){
if(count%2000==0 && count !=0){
count++
return
}
count++
println(count)
}
出于某种原因,这确实有效。
使用简单的 println() 对其进行测试,它从 1100 上升到超过 400k。
我最近才开始编程,我不太明白这一点,还在我的程序中测试它,其中 2 个机器人互相比赛,它确实将他们可以玩的比赛从 400 场增加到大约 4000-5000 场。
(我不得不玩不同的
调制器(?)找到最佳
)
我还使用多个中继器和调制器-ifs 进行了测试,但我找不到任何规则,有一些更好,有一些甚至更糟。
//这是原题:
我希望稍后抛出错误,所以如果它是在 1000 次递归调用之后抛出的,我希望它在 2000 次或更多次之后抛出。
增加堆内存或内存不会改变它。总是在 11000 左右打电话给我。
var count = 0
fun a(){ count++ println(count) a() }
使用 -Xss
JVM 参数增加线程堆栈大小。
-Xsssize
Sets the thread stack size (in bytes). Append the letter k or K to indicate KB, m or M to indicate MB, g or G to indicate GB. The default value depends on the platform:
Linux/ARM (32-bit): 320 KB
Linux/i386 (32-bit): 320 KB
Linux/x64 (64-bit): 1024 KB
OS X (64-bit): 1024 KB
Oracle Solaris/i386 (32-bit): 320 KB
Oracle Solaris/x64 (64-bit): 1024 KB
The following examples set the thread stack size to 1024 KB in different units:
-Xss1m
-Xss1024k
-Xss1048576
This option is equivalent to -XX:ThreadStackSize
.
我找到了一个无需增加任何内存大小的解决方案,
var count = 0
fun main(args: Array<String>) {
repeater()
}
fun repeater(){
a()
repeater()
}
fun a(){
if(count%2000==0 && count !=0){
count++
return
}
count++
println(count)
}
出于某种原因,这确实有效。 使用简单的 println() 对其进行测试,它从 1100 上升到超过 400k。 我最近才开始编程,我不太明白这一点,还在我的程序中测试它,其中 2 个机器人互相比赛,它确实将他们可以玩的比赛从 400 场增加到大约 4000-5000 场。 (我不得不玩不同的 调制器(?)找到最佳 ) 我还使用多个中继器和调制器-ifs 进行了测试,但我找不到任何规则,有一些更好,有一些甚至更糟。
//这是原题:
我希望稍后抛出错误,所以如果它是在 1000 次递归调用之后抛出的,我希望它在 2000 次或更多次之后抛出。 增加堆内存或内存不会改变它。总是在 11000 左右打电话给我。
var count = 0
fun a(){ count++ println(count) a() }
使用 -Xss
JVM 参数增加线程堆栈大小。
-Xsssize
Sets the thread stack size (in bytes). Append the letter k or K to indicate KB, m or M to indicate MB, g or G to indicate GB. The default value depends on the platform:
Linux/ARM (32-bit): 320 KB
Linux/i386 (32-bit): 320 KB
Linux/x64 (64-bit): 1024 KB
OS X (64-bit): 1024 KB
Oracle Solaris/i386 (32-bit): 320 KB
Oracle Solaris/x64 (64-bit): 1024 KB
The following examples set the thread stack size to 1024 KB in different units:
-Xss1m -Xss1024k -Xss1048576
This option is equivalent to
-XX:ThreadStackSize
.