Java 在填满堆空间之前崩溃

2023-12-27

我有一个 java 模拟器,需要处理大量数据。它工作得很好,但是我得到了一系列int[100000][100][2]与其他大阵列一起。程序说内存不足。 (Java.lang.outOfMemoryError)

一切都很好,我只是给了它更多的内存,但它似乎总是用完大约 300M,即使我允许它 2GB。这都是来自观看任务管理器。

我的系统有问题吗,或者这只是我需要处理的java问题?

@丹尼尔普莱登

操作系统:Win 7 32Bit 4GB 内存

JVM命令:java -Xmx2048M -Xms2048M模拟器

错误数据:必须从 IDE 获取(使用 IntelliJ)。我不知道如何从 cmd 执行此操作。我想这就是您正在寻找的。

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    at Simulator.main(Simulator.java:63)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

您可能会遇到堆碎片问题。即使设置了-Xmx2GB,上面的整数数组也需要一个块连续的记忆。我建议还固定最小堆大小,例如 -Xms2GB。当然,由于操作系统开销、其他进程等原因,这要求您的计算机实际上有远高于 2GB 的内存。

或者,您可以重新访问您的数据结构,看看您是否真的需要这样一个连续的块。以某种方式分解它可能会减少对大的连续内存块的需求。

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

Java 在填满堆空间之前崩溃 的相关文章

  • 在java Swing中创建带有递增和递减按钮的数字文本框

    如何在 java swing 中创建一个数字文本框 它有两个按钮 向上和向下 分别递增和递减文本框中的值 此文本框也必须可编辑仅数字值 像这样的东西 我尝试在文本框附近放置两个按钮 然后在单击按钮时手动执行操作 有没有其他方法可以更好地做到
  • 在 Java 中跨平台地播种随机生成器,无需时间

    我几乎同时在两个线程上初始化两个随机数生成器 并且我希望这两个生成器的行为完全不同 我会打电话Random nextInt 7 经常一个接一个地在两台发电机上运行 使用System currentTimeMillis 这不是一个好主意 因为
  • java“类文件包含错误的类”错误

    我正在尝试制作一个控制台应用程序来测试我的网络服务 我成功部署了一个网络服务http localhost 8080 WS myWS http localhost 8080 WS myWS我用 wsimport 制作了代理类 wsimport
  • 如何使用 JAVA 和 ADB 命令检查 Appium 中键盘是否打开

    我正在尝试检查 Android 默认键盘是否打开 我没有找到任何可以在 Appium 中使用 JAVA 和 ADB 命令检查键盘的内容 我发现这个 ADB 命令可以检查键盘是否打开 adb shell dumpsys input metho
  • 为什么这不会导致 NullPointerException?

    public class Null public static void greet System out println Hello world public static void main String args Null null
  • JavaPreparedStatementUTF-8字符问题

    我有一份准备好的声明 PreparedStatement st 在我的代码中 我尝试使用 st setString 方法 st setString 1 userName userName 的值为 ak a setString 方法将 ak
  • AIX:IBM Java:java.net.SocketException:连接超时:可能是由于地址无效

    当尝试与我们的服务器建立 SSL 连接时 我们在 IBM AIX 上经常看到以下异常 java net SocketException Socket closed at com sun net ssl internal ssl SSLSoc
  • 如何加快 jar 签名者的速度?

    我使用 ant 来签署我的 jars 以进行网络启动部署 Ant signjar 在 Web 启动签名时非常慢 如何加快签名过程 我找到了一种可能的解决方案 早些时候 在构建脚本 ant signjar 中 按顺序调用所有 jar 我们使用
  • 创建一个 int 类型的随机数组。爪哇

    我需要创建一个随机的 int 数组 并按我自己的类对其进行排序 这是我制作数组的地方 public class MyProgram9 public static void main String args int list new int
  • 从 AlertDialog 返回值

    我想构建一个函数来创建 AlertDialog 并返回用户输入的字符串 这是我用于创建对话框的函数 如何返回该值 String m Text private String openDialog String title AlertDialo
  • 将 @RequestLine 与 Feign 一起使用

    我有一个工作 Feign 接口定义为 FeignClient content link service public interface ContentLinkServiceClient RequestMapping method Requ
  • 捕获 XSS(跨站脚本)攻击的最佳正则表达式(Java 中)?

    杰夫实际上在净化 HTML http refactormycode com codes 333 sanitize html 但他的示例是用 C 编写的 而我实际上对 Java 版本更感兴趣 有人有更好的 Java 版本吗 他的示例是否足以直
  • 我们可以用java定制一个垃圾收集器吗?

    我们知道java的垃圾收集器是一个低优先级线程 在java中我们可以创建任何具有高优先级的线程 那么是否有可能拥有我们自己定制的具有可变优先级的垃圾收集器线程 我们可以根据内存管理的级别进行设置 有人尝试过吗 如果是的话 您能分享一些关于如
  • JTable中动态加载大量数据

    这是我的问题 我目前有一个 JTable 其中包含 5 000 到超过 200 000 行 你知道我要说什么了 数据已经加载到内存中了 这不是问题 但是如何 我可以创建一个高效的 JTable 以便它只加载以下行 是可见的 并且任何事件仅作
  • servlet 如何获取 servlet 之外的文件的绝对路径?

    我们一直在使用 System getProperties user dir 来获取属性文件的位置 现在它已经部署在 Tomcat 上 通过 servlet 系统调用将位置指定为 tomcat 而不是属性文件所在的位置 我们如何动态调用属性文
  • 从 AJP 连接器请求中检索 Shibboleth 属性

    当我在 Apache 上运行 Shibboleth 身份验证时遇到了一个奇怪的问题 当 Tomcat7 在后端运行时 Apache 通过 mod proxy ajp 发送所有内容 Shibboleth 的参数也是如此 In the 文档 h
  • Web 应用程序似乎启动了名为 [22] 的线程,但未能停止它。这很可能造成内存泄漏

    我有一个 Web 应用程序 后端有 Servlet 部署在 tomcat 上 该应用程序是简单的java应用程序 我经常在服务器日志中看到此错误 严重 Web 应用程序似乎启动了一个名为 22 但未能阻止它 这很有可能 造成内存泄漏 是否存
  • 如何手动添加Android Studio依赖

    我多次尝试向我的项目添加依赖项 但每次都会出现错误 我想添加它们的依赖项是 de hdodenhof circleimageview 1 3 0 and com github bumptech glide glide 3 6 1 所以我想下
  • 如何使用 AEM 解析 org.apache.http.ssl?

    最终 我尝试在 Java 代码中使用 AWS S3 库来通过 AEM 启用服务器端 S3 上传 但在安装依赖项和 或由 AEM 识别时遇到了问题 每次我添加新的依赖项时 都会弹出五个问题 在我尝试构建的这个包中 这是我看到的错误 The i
  • 用于从链表中删除元素的大 O 表示法[重复]

    这个问题在这里已经有答案了 我正在阅读有关链接列表的内容 我发现 从链表中删除所需的元素需要 O n 运行时间 其中 n 是元素的数量 列表中的元素 http www cs mcgill ca dprecup courses IntroCS

随机推荐

  • “TypeError:item.getAttachmentsAsync 不是函数”Outlook 加载项 office-js 与 Vue

    我一直在关注此链接中的教程 https learn microsoft com en us javascript api outlook office messageread view outlook js preview getAttac
  • 如何删除jquery添加的样式属性

    我正在使用具有一些自定义要求的 devExpress 表 更新 休息了一天 然后回去并使用 React Styling 正确完成了它 感谢您的建议 在屏幕截图中 我禁用了某些单元格 但是 用户希望除所选行之外的所有单元格看起来均已禁用 使用
  • 跟随 NavigationLink 并返回后 SwiftUI .toolbar 消失

    我已将 toolbar 添加到 NavigationView 的顶层 最终将用于选择列表中的项目 而无需使用滑动手势 向上按钮 向下按钮等 我还有一个 navigationBar 正在进行 用于访问帐户和设置的其他视图 在大多数情况下 它看
  • D3.js:结合缩放/画笔

    我目前在 Mike Bostock 的工作画笔和缩放 https bl ocks org mbostock 34f08d5e11952a80609169b7917d4172例如 尽管我没有在 svg 上覆盖矩形对象 而是将其附加到我的图表上
  • 在文本文件中求和整数的最快方法

    Question 假设您有一个大型 ASCII 文本文件 每行都有一个随机非负整数 每个整数的范围从 0 到 1 000 000 000 文件中有 100 000 000 行 读取文件并计算所有整数之和的最快方法是什么 限制 我们有 10M
  • 如何通过在最近使用的文本框中单击光标按钮来插入文本?

    我有一个带有多个文本框和一组按钮的表单 使用下面的 Javascript 我可以单击一个按钮并将文本插入到指定的框中之一 单击按钮时是否可以将文本插入到最近 活动的文本框中 目前我有这个 但它使用的是文本框的特定 ID 而不是最近使用 活动
  • 是否可以仅使用免费软件在 C# 中将文档转换为 PDF 或编辑 PDF?

    我有一个愚蠢的想法 即创建一个 docx 或 rtf 或 pdf 格式的模板 然后替换该文档中的文本以生成报告 这似乎是比使用付费报告软件更好的方法 嗯 我相信我现在已经尝试了几乎所有的方法 但我很惊讶用 pdf 做任何事都是不可能的 Tr
  • 可通过 Jetpack Compose 中输入的文本 OutlinedTextField 进行调整

    我有一个 OutlinedTextField 里面有 DropdownMenu 我希望在按下 DropdownMenu 列表内的项目后 该项目的值开始位于 OutlinedTextField 内 并根据文本的长度根据宽度进行调整 我怎样才能
  • 如何在.Net Core中启用nginx反向代理与gRPC配合使用?

    我遇到了一个问题 无法让 nginx 与 gRPC 一起正常工作 我正在使用 Net core 3 1 来提供支持 REST 和 gRPC 的 API 我正在使用下面的 docker 镜像 Net Core 3 1 aspnet 3 1 a
  • 连接 Google 表格中的两个范围

    tl dr 如何使两个范围作为一个函数的参数出现 例如 我想查看 E 列 中的每个单元格except E5 MY FUNCTION somehowjoin E1 E4 E6 E 背景我正在 Google Sheets 中编写项目跟踪器 例如
  • 在选择查询中插入子查询

    我有一个 组 表和一个 参与者 表 现在我需要为每个组插入一名参与者 我将如何自动化这个 INSERT INTO Participants Name FirstName GroupID VALUES GENERIC GENERIC Grou
  • Atom Editor Golang - 转到声明不起作用

    我已经完成了atom的全新安装并安装了go plus软件包 我无法使用的一个功能是 转到声明 这就是为什么我仍然停留在崇高的土地上 有谁知道这是否适用于 golang 我的项目似乎不需要 ctags 对于atom来说 最好的方法是什么 我尝
  • 如何删除两个 UICollectionView 列之间的边距

    我有 UICollectionView 我希望单元格之间没有间距 然而 尽管我尽了一切努力 我似乎 无法删除该空间 Code CGFloat collectionView UICollectionView collectionView la
  • java.lang.LinkageError:违反加载器约束

    今天是个好日子 我遇到过这样的链接错误问题 java lang LinkageError loader constraint violation when resolving method javax xml transform Trans
  • node.js + MySQL 和 JSON 结果 - 回调问题和对客户端没有响应

    我想使用 node js 查询 mySQL 数据库并将结果作为 JSON 返回以在移动应用程序中使用 不幸的是 我的请求有点超时 服务器在 2 分钟内没有执行任何操作 直到日志文件显示我的请求console log 声明 此外 回调不会返回
  • 自定义 jQuery 伪选择器接收未定义的参数

    我正在尝试向 jQuery 添加自定义伪选择器 目前使用的是 v1 8 0 基于我发现的一些不同的教程 我本质上是在尝试实现一个不区分大小写的 contains 选择器 我现在的化身看起来像这样 expr icontains functio
  • Flask-Admin 中的批量编辑

    我正在使用 Flask Admin 我希望能够从列表视图中一次更新许多字段 看来我正在寻找的是自定义操作 我能够让它发挥作用 但我怀疑不是以最好的方式 我想知道是否可以做得更多 烧瓶 我现在做什么 例如 如果我正在更新表中的所有行cars具
  • 如何对新实例进行预处理以进行分类,使特征编码与 Scikit-learn 的模型相同?

    我正在使用数据多类分类创建模型 该模型有 6 个特征 我正在使用 LabelEncoder 使用下面的代码预处理数据 Encodes the data for each column def pre process data self se
  • 如何让 GNU Screen 在当前工作目录中启动一个新窗口?

    默认情况下 当您在 GNU Screen 中创建新窗口时 它将在调用 Screen 的目录中启动 我想在 GNU Screen 中当前所在窗口的当前工作目录中启动一个新窗口 我该怎么做 查看 GNU 屏幕chdir命令 在 Screen 中
  • Java 在填满堆空间之前崩溃

    我有一个 java 模拟器 需要处理大量数据 它工作得很好 但是我得到了一系列int 100000 100 2 与其他大阵列一起 程序说内存不足 Java lang outOfMemoryError 一切都很好 我只是给了它更多的内存 但它