Java堆空间:Applets
我不得不编写一个程序来为3000 * 3000矩阵工作。 它只能工作到600 * 600。Java堆空间:Applets
因此,我通过增加堆大小来运行我的程序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
)
可以在其中包含applet的HTML,例如指定JVM参数
<APPLET archive="applet.jar" code="ClassName" width="300" height="300">
<PARAM name="java_arguments" value="-Xms64m -Xmx1024m">
</APPLET>
这当然假设你正在浏览器(而不是appletviewer)的上下文中运行。 –
不是主要目的不是为了浏览器,而是为了在图表中显示数据。 我有一点新的Java,所以只需要清楚,上面的代码应该有类名“”ClassName“,并保存在一个名为applet.jar的文件? –
是的,这是正确的。 –
你尝试用 “增加堆的小程序” 谷歌搜索?如果您为最终用户这么做,抱歉,您无法完成此任务。您不能强制用户更改他们的系统设置以查看您的杰作。 –
试着阅读你在这个主题上提出的最后一个问题的答案......:P如果你不会阅读它们,那么没有必要回答。 –