Nous avons une application Swing qui traite des quantités relativement importantes de données. Par exemple, nous traitons actuellement des fichiers CSV avec des millions de lignes de données. Pour des raisons de performance et de simplicité, nous gardons simplement toutes les données en mémoire. Cependant, différents utilisateurs auront différentes quantités de données à traiter ainsi que différentes quantités de RAM. Lors de la création du programme d'installation, nous devons bien entendu spécifier la taille du tas. Existe-t-il un moyen simple de permettre à l'utilisateur de spécifier le tas sans qu'il soit nécessaire de modifier manuellement un fichier de configuration ou un fichier .bat? Je suppose que tous les utilisateurs ne seraient pas à l'aise avec cela.Comment autoriser l'utilisateur à choisir facilement la quantité de mémoire à allouer dans une application Java Swing?
J'ai vu un exemple où une application a spécifié trois raccourcis différents chacun avec une quantité différente de mémoire spécifiée. Cela pourrait fonctionner mais j'aimerais une option plus flexible. L'utilisateur pourrait alors choisir celui qui fonctionnerait le mieux pour lui.
Nous utilisons NSIS. Le problème avec cette solution est que la taille du tas est fixée au moment de l'installation. L'utilisateur devrait être en mesure de modifier la taille du tas plus tard quand ils ajoutent plus de mémoire à leur ordinateur ou doivent travailler sur un fichier plus grand que celui qu'ils ont déjà travaillé auparavant. –
Il suffit de demander à l'utilisateur de réexécuter le programme d'installation et de choisir une option différente s'il a besoin d'une taille de segment supérieure. Si vous voulez le rendre plus facile pour l'utilisateur, essayez de créer un petit programme qui affiche une fenêtre de dialogue pour laisser la sélection de la taille du tas et lancer votre programme principal comme un processus différent. Il y a une discussion à ce sujet à http://stackoverflow.com/questions/480433/launch-jvm-process-from-a-java-application-use-runtime-exec –