问题标签 [heap-memory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
11955 浏览

c# - 堆与堆栈分配的含义(.NET)

从关于堆和堆栈的SO 答案1中,它向我提出了一个问题:为什么知道变量的分配位置很重要?

另一个答案中,有人指出堆栈更快。这是唯一的暗示吗?有人可以给出一个简单的分配位置更改可以解决问题(例如性能)的代码示例吗?

请注意,这个问题是 .NET 特定的

1 问题已从 SO 中删除。

0 投票
7 回答
77554 浏览

java - eclipse ini 配置

实际上我和我的朋友正在尝试学习和使用 eclipse 3.4,我们在工作时遇到了一些堆内存问题,我的朋友建议增加 eclipse ide 的内存分配,因为他有 4GB RAM,他想分配足够的堆,分配体面的烫发大小,并为这个 Eclipse IDE 启用并行垃圾收集。

我们人们无法通过修改 eclipse.ini 文件来实现这一点,他想为 eclipse 分配 1GB 的 RAM。

请帮助我们

谢谢

0 投票
2 回答
326 浏览

c# - 关于引用/集合/值类型的另一个 C# 问题

我有以下代码:

我的问题是第一人称实例去哪里了?CLR 会在某处神奇地创建它的新实例吗?无论如何在列表之外引用它 - 例如,在方法完成后它会去哪里?使用什么方法将对象存储在集合中(这是 4 个问题)。

0 投票
4 回答
2924 浏览

c++ - 有没有办法监控 C++/MacOS 中的堆使用情况?

我担心我的某些代码会导致内存泄漏,我不确定如何检查它。是否有适用于 MacOS X 的工具或其他东西?

谢谢

0 投票
5 回答
268528 浏览

java - 使用 HeapDumpOnOutOfMemoryError 参数进行 JBoss 的堆转储

-XX:+HeapDumpOnOutOfMemoryError有人告诉我,当我们的应用程序出现内存不足错误时,我可以将参数添加到我的 JVM 启动选项到我的 JBoss 启动脚本中以获取堆转储。我想知道这些数据在哪里被转储?它只是到控制台,还是到某个日志文件?如果只是到控制台,如果我没有通过控制台登录到Unix服务器怎么办?

0 投票
4 回答
2789 浏览

c++ - 关于堆上成员变量的 C++ 礼仪

明确地将对象成员放在堆上(通过新的)是否被认为是不礼貌/不好的做法?我认为您可能希望允许客户端选择内存区域来实例化对象。我知道在某些情况下堆成员可能是可以接受的。如果你知道一种情况,你能描述一下吗?

0 投票
10 回答
57625 浏览

c++ - 在 C++ 中正确使用堆栈和堆?

我已经编程了一段时间,但主要是 Java 和 C#。我从来没有真正需要自己管理内存。我最近开始使用 C++ 进行编程,对于何时应该将内容存储在堆栈中以及何时将它们存储在堆中感到有些困惑。

我的理解是,经常访问的变量应该存放在栈和对象上,很少使用的变量,大数据结构都应该存放在堆上。这是正确的还是我不正确?

0 投票
6 回答
789 浏览

c++ - 如何确定一个对象是否应该在堆栈上?

我一直在寻找在 C++ 中在堆栈或堆上分配对象的经验法则。我在这里找到了很多关于 SO 的讨论。很多人说,这关乎一个物体的生命周期。如果您需要比函数范围更长的生命周期,请将其放入堆中。这很有意义。

但是让我感到困惑的是,许多人说,如果对象很小,就将它们分配给堆栈。如果对象很大,则将其放入堆中。但是他们都没有说如何识别物体是否大?

我有以下问题,

  1. 如何识别物体是否大?
  2. 堆栈的最大大小是多少?每个操作系统会有不同的堆栈大小?
  3. 我有一个包装类vector<string>。它将有大约 100 个项目。如果我将此类分配给堆栈,它会导致堆栈溢出吗?我试过这个,但效果很好。不确定我做错了什么。
0 投票
4 回答
2844 浏览

c - HP-UX 中的堆损坏?

我试图了解在 HP-UX 11.11 中运行导致 SIGSEGV(11,分段错误)的程序出了什么问题:

问题似乎发生在 libc 内部的某个地方!系统调用跟踪结束于:

程序的最后一条指令:

这是系统的问题,还是我遗漏了什么?任何深入挖掘的指导将不胜感激。

谢谢。

0 投票
2 回答
1952 浏览

c# - 如何查看给定 .NET 应用程序中的内存分配?

我需要检查堆中分配了多少内存。有没有办法用 C# 以编程方式获取这个值?

我知道,System.Runtime.InteropServices.Marshal.SizeOf(...)但这只能告诉我一个对象的大小。