我必须编写一个程序来处理 3000*3000 矩阵。它只能工作到 600*600。
所以我通过增加堆大小来运行我的程序,java -Xms64m -Xmx1024m <class_name>
因为最初OutOfMemoryError
正在发生。这解决了问题。
现在,同样的程序用于在 Applets 中绘制值。所以我做了一个包并导入它。但是随后出现了同样的错误,因为您无法运行小程序。
您只能键入javac class_name.java
和appletviewer class_name.java
。
所以我无法增加堆大小。所以我特意放了一个main()
函数......计算要绘制的值(存储在数组中)。
小程序会打印它们。该数组是静态的和全局的。
然后我编译(javac class_name.java
)并运行(java -Xms64m -Xmx1024m <class_name>
),然后输入appletviewer class_name.java
。
但是 0,0,0,... 显示出来了。基本上是 int 数组的默认值。
好像该main()
功能从未运行过。即使数组是全球性的。
最终,我只需要一个main()
函数......以及一些存储值并在ppletviewer class_name.java
输入时保留它们的变量。
有没有办法做到这一点?或者增加小程序的堆大小?
因为当我输入逻辑init()
或paint()
函数时,同样的错误会出现(OutOfMemoryError
)