由於一個小的實現錯誤,我發現我的速度可以達到Java堆空間的問題小程序:Java堆空間
現在的錯誤是固定的一切都很好,但它確實讓我尋找到如何解決這一點,我foudn多種解決方案,如
的Java -Xms5m -Xmx15m MyApp的
的問題是,這改變了我的計算機上的Java內存,但我正在那將是一個小程序在webrowser中使用。
因此,有沒有辦法在APPLET的RUNTIME中更改堆大小?
由於一個小的實現錯誤,我發現我的速度可以達到Java堆空間的問題小程序:Java堆空間
現在的錯誤是固定的一切都很好,但它確實讓我尋找到如何解決這一點,我foudn多種解決方案,如
的Java -Xms5m -Xmx15m MyApp的
的問題是,這改變了我的計算機上的Java內存,但我正在那將是一個小程序在webrowser中使用。
因此,有沒有辦法在APPLET的RUNTIME中更改堆大小?
您可以將參數添加到小程序標記。但是您感興趣的參數僅在Java6 u10或更高版本上可用。
實施例:
<APPLET archive="my_applet.jar" code="MyApplet" width="300" height="300">
<PARAM name="java_arguments" value="-Xmx256m">
</APPLET>
在這裏的詳細信息http://www.oracle.com/technetwork/java/javase/plugin2-142482.html#JAVA_ARGUMENTS
AFAIK,只有用戶可以更改JRE堆設置。 Applet無法更改此設置。
更新:
看來,在JDK的最新版本,這是可能的。請看:How can I start an Java applet with more memory?
UPDATE2:
內存設置只能爲JNLP應用程序設置,而不是小程序。
如果未在命令行中指定它,則必須從JVM設置中獲取它。因此,當您將小應用程序部署到網絡上時,它將取決於它們在運行時在其計算機上具有的內存設置。通常它默認設置爲60-90Mb,所以請儘量保持它。
考慮一下applet是否可以改變這些設置的後果......還有什麼可以改變的。這只是要求最終實現安全漏洞,而Java旨在實現功能之前的安全性:)
JVM可能早在Applet之前已經開始。現在到 更改堆大小已經太晚了。試用Java Web Start,您可以控制它,爲您的Applet /應用程序產生一個新的JVM。
額外存儲器也經由部署的Applet來定義。 JNLP,但這是更簡單的方法。請特別注意小應用程序Wiki中的最後兩個鏈接(http://stackoverflow.com/tags/applet/info)。請打開鏈接和示例。 (竊竊私語)希望這個線程的其他貢獻者會學到一兩件事。 ;) – 2011-02-17 08:41:55