当前位置:  开发笔记 > 编程语言 > 正文

嵌套for循环 - 多少?

如何解决《嵌套for循环-多少?》经验,为你挑选了1个好方法。

在Java中可以使用多少嵌套for循环?我们可以继续添加嵌套for循环直到无限吗?Java编译器支持多少for循环?



1> Andy Turner..:

编译器中的堆栈大小有限; 如果你有太多的嵌套循环,你会得到一个StackOverflowError.

StackOverflowError如果我运行以下bash脚本(生成N嵌套for循环),我得到一个:

#!/bin/bash

N=800

(echo "class Test { void test() {"
yes "for (;;) {" | head -n "${N}"
yes "}" | head -n "${N}"
echo "} }") > Test.java

javac Test.java

(800不紧,700不编,800不紧)

您可以javac使用-J-Xss标志增加堆栈的大小.

单个方法的字节码大小也有64kB的限制; 如果你正在编写"做某事"的循环,你可能会在打击编译器的堆栈之前达到这个限制; 上面脚本生成的简单for循环被编译器优化为一个无限循环.

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有