En raison d'une petite erreur de mise en œuvre, j'ai découvert la rapidité avec laquelle je pourrais atteindre un problème d'espace java P>
Maintenant, le bogue est corrigé, tout va bien, mais cela m'a fait chercher dans la manière de résoudre ce problème et je foudn plusieurs solutions telles que p>
java -xms5m -xmx15m myApp p> blockQuote>
Le problème est que cela modifie la mémoire Java sur mon ordinateur, mais je travaille sur une applet qui va être utilisée dans un webrowser. P>
Par conséquent, y a-t-il un moyen, au moment de l'exécution d'une applet pour changer la taille du tas? p>
4 Réponses :
AFAIK, seul utilisateur peut modifier les paramètres du tas JRE. L'applet ne peut pas modifier ces paramètres. P>
Il semble que dans les dernières versions de JDK, cela soit possible. Regardez: Comment puis-je commencer une applet Java avec plus de Mémoire? P>
Les paramètres de mémoire ne peuvent être définis que pour les applications JNLP, pas pour les applets. P>
Si ce n'est pas spécifié sur la ligne de commande, vous devez l'obtenir à partir des paramètres JVM. Ainsi, lorsque vous déployez votre applet sur le Web, il dépendra des paramètres de mémoire qu'ils ont sur leur ordinateur lorsqu'ils l'exécutent. Typiquement, il est défini sur 60-90 Mo par défaut, essayez donc de le garder sous cela. P>
Considérez les ramifications si l'applet pouvait modifier ces paramètres ... Que pourraient changer d'autre. Cela vient de demander un exploit de sécurité finalement et Java vise une sécurité avant la fonctionnalité :) p>
Le JVM a peut-être commencé bien avant votre applet. Il est trop tard maintenant à Changer la taille du tas. Essayez Java Web Démarrer où vous pouvez contrôler cela, frai une nouvelle JVM pour votre applet / application. P>
Vous pouvez ajouter des paramètres à la balise d'applet. Mais le paramètre que vous êtes intéressé est disponible uniquement sur Java6 U10 ou ultérieur.
Exemple: P> ici Plus d'informations http://www.oracle.com/techNetwork/java/javase/plugin2-142482.html#java_arguments a > p> p>
Une mémoire supplémentaire peut également être définie pour les appleployés déployés via. JNLP, mais c'est la méthode plus simple. Remarque en particulier les deux derniers liens de l'applet wiki ( Stackoverflow.com/tags/applet/info ). Bon appel sur le lien et exemple. (Whispers) Espérons que certains des autres contributeurs à ce fil apprendra une chose ou deux. ;)