当我将 INTEGER 数组的大小指定为 200,000,000 时,为什么会出现 StackOverflowException?
200,000,000 比最大 32 位 INTEGER 2,147,483,647 小得多。
200,000,000 is much less than the maximum 32-bit INTEGER, 2,147,483,647.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
堆栈溢出不是在您的符号用完位时发生,而是在您的计算机内存不足时发生。 200M 条目的阵列需要 800Mb 内存。这对于放在堆栈上来说非常大。
A stack overflow happens not when your notation runs out of bits, but when your computer runs out of memory. A 200M-entry array would need 800Mb of memory. That is very large to put on the stack.