Shw*_*nka 2 java memory-management anti-patterns
我正在使用这个声明
//some code
int a[][]=new int[5000000][5000000];
//some code
Run Code Online (Sandbox Code Playgroud)
并使用命令运行它
java -mx512m Test
Run Code Online (Sandbox Code Playgroud)
它给出了OutOFMemoryError:Java堆空间,指示堆栈跟踪中提到的语句的行号
我该如何解决这个问题
小智 8
您可能需要考虑一种需要较少内存的问题方法.
来自Google Calculator(假设64位整数):
(5 000 000^2) * 64 bits = 186 264.515 gigabytes
Run Code Online (Sandbox Code Playgroud)
我遇到了Eclips关注Java堆的同样问题,解决方法是将mx512m修改为mx4096m或mx2048m(扩展允许的最大内存限制)所以在你的情况下尝试命令java -mx4096m Test将允许java使用4你公羊的GB
| 归档时间: |
|
| 查看次数: |
826 次 |
| 最近记录: |