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

2024-04-11

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

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


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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 将 Set> 转换为 HashMap

    在我的代码中的某一时刻 我创建了一个Set
  • Spring boot + hikari - dataSource 或 dataSourceClassName 或 jdbcUrl 是必需的问题

    尝试启动 Spring 应用程序时出现以下错误 ERROR 5908 main com zaxxer hikari HikariConfig HikariPool 1 dataSource or dataSourceClassName or
  • Hibernate中通过ID获取对象

    我注意到我们的高级开发人员使用以下代码通过 ID 检索实体 Override public Source get Long id Session session getSession if session null session sess
  • SWT - 表查看器 - 隐藏列并从列中获取值

    我正在尝试从表中的数据创建一个数组列表 我需要从可见列中获取值 但我还需要从表中不可见的列中获取值 将 SWT 与表查看器一起使用 我不知道如何不显示表中的列 我也不知道如何通过指定列名从表中提取数据 我一直使用 Swing 所以我一直使用
  • Eclipse 插件:应有的自动完成功能

    我有一个问题 有多种可能的解决方案 我正在学习计算机科学 目前正在担任实习生 我的任务是为 Android 和 iOS 制作一个商业应用程序 我现在已经使用 Visual studio 2010 工作了 2 年 Xcode 相当相似 所以这
  • 如何在java中使用模式匹配器?

    假设字符串是我想提取xyz从字符串中出来 我用了 Pattern titlePattern Pattern compile lttitle gt s s lt title gt Matcher titleMatcher titlePatte
  • Java-Android 上的 MulticastSocket 问题

    我开始使用 MulticastSocket 进行编码 尝试制作一个带有客户端和服务器的简单应用程序来发送消息 我的服务器代码 import java io IOException import java net DatagramPacket
  • Electron 应用程序可以与 java 代码集成吗?

    由于node js仍然缺乏Java中存在的重要功能 因此我想使用Java而不是node js 并使用Web语言 html js css 创建客户端 Electron 是跨平台的 java 也是跨平台的 因此似乎有一个能够两全其美的解决方案
  • 在Java中,如何在单线程程序中抛出ConcurrentModificationException? [复制]

    这个问题在这里已经有答案了 我正在读这篇文章 Java常见并发问题 https stackoverflow com questions 461896 what is the most frequent concurrency problem
  • 正则表达式删除2个字符串之间的所有内容

    我的replaceAll 需要一个正则表达式来删除2 个字符串和字符串本身之间的所有内容 例如 如果我有类似的东西 stackoverflow is really awesome nremove123 n I love it 我试图做一个像
  • ffmpeg 用于屏幕捕获?

    所以我有一个小程序来捕获屏幕和计算机麦克风的声音 然后屏幕截图被编码为 ScreenVideo2 声音被编码为 AAC 如何使用 ffmpeg 逐帧混合 然后将混合输出发送到 wowza 媒体服务器 如果用ffmpeg无法完成 您能提供一些
  • Android ImageView未加载

    我正在使用 android imageView 并将图像放入可绘制文件夹中 并将 imageView 源更改为该图像 但它没有在预览面板中显示图像 当我在 android studio 中打开图片时 它显示这样的错误 但我可以在电脑桌面上打
  • 在处理器生成的类中使用库

    我正在开发一个库来使用注释和处理器生成类 生成的类应该使用Gson来自谷歌的图书馆 我的问题是 我应该在哪里添加 Gson 依赖项 我目前正在将其添加到处理器 build gradle 中 但是当生成类时 找不到 Gson Android
  • 将resourceBundle与外部文件java一起使用

    我一直在阅读有关此问题的其他问题和答案 但我不明白资源边界是如何完全工作的 我认为这与 Joomla 使用多语言选项的方式类似 基本上 您有要阅读的不同语言的不同消息的文件 所以我在 src Lang 文件夹中创建了 System prop
  • 如何从github项目获取jar? [复制]

    这个问题在这里已经有答案了 我想使用官方网站上的 kSoap2 android 库http simpligility github io ksoap2 android index html http simpligility github
  • Keycloak - 自定义表单操作在流程中不可见

    我正在尝试为用户注册实现自定义表单操作 我在表单上添加了一些自定义字段 我希望验证这些字段 在浏览了 keycloak 文档后 我意识到我需要 扩展 FormAction FormActionFactory 将actionfactory打包
  • EJB3 - 通过注入与查找获取 bean - 有什么区别、影响和陷阱?

    我知道有两种获取 EJB 实例的方法 通过 EJB 注释在 servlet 和 EJB 中进行依赖注入 在任何地方通过 Context lookup 进行 JNDI 查找 使用这两种方法有哪些差异 影响和陷阱 它们是一样的吗 依赖注入比查找
  • jtree 编程式多选

    是否能够以编程方式选择 JTree 中的多个树节点 我已经设置了多选模式tree getSelectionModel setSelectionMode TreeSelectionModel DISCONTIGUOUS TREE SELECT
  • 改造 POST java.io.IOException:由 java.io.EOFException 引起的连接上的流意外结束:\n 未找到:

    我已经解决了与此相关的所有问题 但尚未找到适合我的解决方案 我在用着retrofit 2 8 1 and OkHttp 4 5 0 我的服务界面如下所示 public interface MlApiService POST Multipar
  • 总小时数无法从 Android 插入 MySQL

    我使用以下公式获得总小时数 public void updateTotalHours int a SplitTime objMyCustomBaseAdapter getFistTime int b SplitTime objMyCusto

随机推荐

  • sp_executesql 导致我的查询非常慢

    我在数据库表上运行 sp executesql 时遇到一些问题 在本例中 我使用 ORM NHibernate 生成一个查询一个表的 SQL 查询 该表大约有 700 万条记录 并且索引很高 当我运行 ORM 在没有 sp executes
  • 使用 xml 资源创建 ArrayAdapter 并使用微调器检索“id”或“value”字段

    我正在尝试创建一个微调器 我使用 ArrayAdapter 从资源 xml 填充其值 我还想给资源项一些 id 或 value 我如何在 onItemSelected 回调中检索这些值 这是 Java 代码 package com waus
  • struts2中如何使用$.ajax()方法

    大家好 我正在使用 struts 2 和 jquery 插件 1 8 现在我在谷歌上搜索使用 ajax struts中的方法 但我认为我没有输入正确的关键字 任何人都可以给我一个教程 我们如何使用 struts 使用此函数并将响应作为字符串
  • 如何在 yii 中的 CGridview 中显示相关表的数据

    我正在尝试使用 CGridView 显示结果 我有两张桌子Users and products 出口产品是维护 then 之间的多对多关系的表 并让关系名称为 myrelation public function actionSearch
  • 在R中,如何制作箱线图?

    我的输入表有两列 如下所示 x y 1 187 2 235 3 857 3 253 2 955 1 267 我想为每个单独的 x 值绘制 y 值的箱线图 x 值限制为 1 2 3 这是我的 R 代码 data read table inpu
  • VBA 脚本导致 Excel 在 15 次循环后没有响应

    我正在运行一个脚本来查找并删除包含 2018 年之后数据的行 我正在搜索大约 650000 行 每次我在 5 秒后运行脚本时 光标都会变成旋转的圆圈 并且 Excel 程序变得无响应 这是我正在使用的代码 Option Explicit O
  • 设置 Keycloak 返回的访问令牌的范围

    我正在关注这个教程https medium com sairamkrish keycloak integration part 3 integration with python django backend 5dac3b4a8e4e ht
  • 我可以通过 npm 分发非 javascript 文件吗?

    如果您将 Npm 与 TypeScript 或 JavaScript 一起使用 它是一个很棒的工具 但据我所知 看起来可以通过 node npm 分发任何类型的项目或语言 例如 假设我创建了一个包含一些库的 php phar 文件 我可以使
  • 将新行添加到数据表的顶部

    当我们使用 datatable newrow 命令时 一个新的空行添加到行的底部 但是我希望将 newrow 添加到数据表的顶部 我怎样才能做到呢 您可以使用 NewRow 创建具有相同列的行 要真正将其放入数据表中 您必须执行以下操作 m
  • 摩纳哥编辑器:隐藏概述标尺

    有没有办法在摩纳哥编辑器中完全隐藏概述标尺 通过以下内容仍然可见 overviewRulerLanes 0 hideCursorInOverviewRuler true scrollbar vertical hidden overviewR
  • Android“找不到字体资源”错误

    我正在为 Android 版本 22 进行开发 我收到运行时异常 找不到字体资源 这是代码 Typeface customFont Typeface createFromAsset getAssets fonts norwester otf
  • 如何在嵌入式 YouTube iFrame 端触发功能

    尝试在嵌入式 YouTube iFrame 末端触发函数 只需要知道如何找到终点 之后我就很好了 很难从你的问题中看出 但听起来你想在 YouTube 视频结束时触发一个事件 您可以使用下面的示例代码设置事件处理程序 player new
  • 估计测试工作量占开发时间的百分比[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • sql server图形查询,找到节点的所有路径

    我有一个非常常见的问题 我试图使用图形查询来解决 sql server 2017 我想构建一个查询并查找节点中的任何人如何连接到C 我想构建一个查询并查找节点中的任何人如何连接到C 有 1 或 2 个连接 这是创建该图的完整脚本 DROP
  • 使用 Facebook v2.1 Graph API 通过 cURL 以编程方式创建测试用户

    我想以编程方式为我的 Facebook 应用程序创建 Facebook 测试用户 我一直在查看 HTTP Facebook Graph API v2 1 的 API 文档 https developers facebook com docs
  • 如何检测 mongodb 序列化程序是否已注册?

    我为 mongoDB 创建了一个自定义序列化器 我可以注册它并且它按预期工作 然而 我的应用程序有时会抛出错误 因为它尝试注册序列化器两次 如何检测序列化器是否已注册 从而阻止我的应用程序再次注册 如果您正在使用 BsonSerialize
  • iTunes Connect 中的无限制 Web 访问意味着什么

    当您将应用程序提交到Apple应用程序商店时 有一个名为 评级 的部分 您应该根据图表对内容进行评级并确定内容出现的频率 有一个选项称为 无限制的网络访问 互联网上也没有关于此的更多详细信息 iTunes Connect 开发人员指南 ht
  • 意图设置标志 FLAG_ACTIVITY_CLEAR_TOP

    在Android上 我启动了4个活动A B C D 如果我想从D返回到A 我可以使用 intent setFlags Intent FLAG ACTIVITY CLEAR TOP 但如果活动是如下打开的同班活动 我现在如何从D回到A Int
  • ORDER BY 日期和时间 BEFORE GROUP BY mysql 中的名称

    我有一张这样的桌子 name date time tom 2011 07 04 01 09 52 tom 2011 07 04 01 09 52 mad 2011 07 04 02 10 53 mad 2009 06 03 00 01 01
  • 如何让用户轻松选择在 Java Swing 应用程序中分配多少内存?

    我们有一个处理相对大量数据的 Swing 应用程序 例如 我们目前处理包含数百万行数据的 CSV 文件 出于性能和简单性的原因 我们将所有数据保留在内存中 然而 不同的用户需要处理的数据量以及 RAM 量也不同 创建安装程序时 我们当然需要