Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Applet:Java堆空间_Java_Applet_Heap_Next Generation Plugin - Fatal编程技术网

Applet:Java堆空间

Applet:Java堆空间,java,applet,heap,next-generation-plugin,Java,Applet,Heap,Next Generation Plugin,由于一个小的实现错误,我发现我很快就会遇到Java堆空间问题 现在这个错误被修复了,一切都很好,但它确实让我想到了如何解决这个问题,我提出了多种解决方案,比如 java-Xms5m-Xmx15m MyApp 问题是这会改变我计算机上的java内存,但我正在开发一个小程序,它将用于webrowser 因此,是否有一种方法可以在运行时在小程序中更改堆大小?AFAIK,只有用户可以更改JRE堆设置。小程序无法更改此设置 更新: 在JDK的最新版本中,这似乎是可能的。看看: 更新2: 只能为JNLP应用

由于一个小的实现错误,我发现我很快就会遇到Java堆空间问题

现在这个错误被修复了,一切都很好,但它确实让我想到了如何解决这个问题,我提出了多种解决方案,比如

java-Xms5m-Xmx15m MyApp

问题是这会改变我计算机上的java内存,但我正在开发一个小程序,它将用于webrowser


因此,是否有一种方法可以在运行时在小程序中更改堆大小?

AFAIK,只有用户可以更改JRE堆设置。小程序无法更改此设置

更新:

在JDK的最新版本中,这似乎是可能的。看看:

更新2:


只能为JNLP应用程序设置内存设置,而不能为小程序设置内存设置。

如果未在命令行中指定内存设置,则必须从JVM设置中获取。因此,当您将小程序部署到web时,它将取决于运行它时计算机上的内存设置。默认情况下,它通常设置为60-90Mb,因此请尽量将其保持在该值之下


如果小程序可以更改这些设置,请考虑后果。。。它还能改变什么。这最终只是要求利用安全漏洞,Java的目标是先安全,后功能:)

JVM可能早在您启动Applet之前就已经启动了。现在做决定太晚了 更改堆大小。尝试JavaWebStart,在那里你可以控制它,繁殖
小程序/应用程序的新JVM。

您可以向小程序标记添加参数。但是您感兴趣的参数仅在Java6U10或更高版本上可用

例如:

<APPLET archive="my_applet.jar" code="MyApplet" width="300" height="300">
    <PARAM name="java_arguments" value="-Xmx256m">
</APPLET>

还可以为通过部署的小程序定义额外内存。JNLP,但这是更简单的方法。请特别注意applet Wiki()中的最后两个链接。很好的链接和示例调用。(耳语)希望这篇文章的其他作者能学到一两件事