如何让用户轻松选择在Java Swing应用程序中分配多少内存?

Jay*_*ren 3 java heap size large-data-volumes

我们有一个处理相对大量数据的Swing应用程序.例如,我们目前处理具有数百万行数据的CSV文件.出于性能和简单性的原因,我们只将所有数据保存在内存中.但是,不同的用户将需要处理不同数量的数据以及不同数量的RAM.在创建安装程序时,我们当然需要指定堆大小.是否有任何简单的方法允许用户指定堆而无需手动编辑配置或.bat文件?我猜不是所有的用户都会对此感到满意.

我已经看到一个例子,其中一个应用程序指定了三个不同的快捷方式,每个快捷方式都指定了不同的内存量.这可行,但我想要一个更灵活的选项.然后,用户可以选择最适合他们的那个.

Ala*_*Dea 6

我建议使用与IntelliJ类似的东西.当发生OutOfMemoryException时,它会弹出一个配置对话框.此对话框允许用户配置堆大小并将其存储到idea.exe.vmoptions.您需要将文件的内容转储到java/javaw启动命令中,或者使用一个Java程序引导程序并启动实际程序.

一个非常酷的变体是根据数据大小建议内存大小.用户实际上无法知道程序需要多少内存,因此在选择值时可以提供的任何指导都将极大地帮助他们.

支持此解决方案非常重要,您希望并以避免数据损坏的方式处理OutOfMemoryExceptions!