Java 堆空间 : Applets

标签 java applet heap-memory appletviewer

我必须编写一个程序来处理 3000*3000 矩阵。 它只能工作到 600*600。

所以我通过将堆大小增加 java -Xms64m -Xmx1024m <class_name> 来运行我的程序 因为最初是 OutOfMemoryError正在发生。 这解决了问题。

现在这个相同的程序用于在 Applet 中绘制值。 所以我做了一个包并导入了它。 但是随后出现了同样的错误,因为您无法运行 applet。

您只能输入 javac class_name.javaappletviewer 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)

最佳答案

您可以在包含小程序的 HTML 中指定 JVM 参数,例如

<APPLET archive="applet.jar" code="ClassName" width="300" height="300">
    <PARAM name="java_arguments" value="-Xms64m -Xmx1024m">
</APPLET>

参见 Oracle's documentation on applet deployment

关于Java 堆空间 : Applets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11201769/

相关文章:

Java - 分配替换的字符串,或打印它

java - 使用签名小程序中的本地 Jar

java - Primefaces 日历内联模式大小错误

java - 具有多项检查的 void 方法重构

java - 使用 Spring 在后台运行进程的推荐方法是什么?

java - 标记不会改变

java - 你能在网页上运行java可执行文件吗?

calloc 返回指向自身的指针

c - Linux 堆——做大量的新建/删除操作是否正常,或者堆是否变得严重碎片化?

java - 当一个抽象类扩展一个具体类时,继承的成员会变成抽象的吗?