问题标签 [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 投票
5 回答
2680 浏览

c++ - 函数内的字符串文字:自动变量还是在堆中分配?

我们在函数内部使用的字符串文字是自动变量吗?或者它们是否分配在我们必须手动释放的堆中?

我的情况类似于下面显示的代码,其中我将字符串文字分配给类的私有字段(在代码中标记为 ONE)并稍后在我的程序中检索它并使用它(标记为 TWO)。我是否将堆栈中的变量分配给 ONE 中的字段?代码是否可以引用一个悬空指针,在这种情况下它可以工作,因为程序足够小?

我已经编译并运行了它,它运行良好,但是在我的实际程序中出现了奇怪的崩溃,我将字符串文字分配给这样的类的字段,我怀疑我上面提到的情况。

我应该将变量“s”声明为 char 数组而不是指针吗?我打算使用std :: string,但我只是对此感到好奇。

一如既往,非常感谢任何指针或帮助:) 谢谢。

0 投票
2 回答
995 浏览

.net - .NET 内存管理在托管代码中是否比在本机代码中更快?

我原以为托管代码中的内存分配是否比本机代码中的更快是明确的 -但似乎存在一些争议。由于没有对操作系统的上下文交换调用,虚拟机下的内存管理可能会更快,但后来我看到虚拟机本身需要定期调用操作系统以获得更多内存,并且它具有内存本身的管理开销而不是操作系统。

与其像我一样做出未经证实的断言,请提供指向支持您立场的参考资料的链接。

0 投票
1 回答
1373 浏览

.net - 为什么 .NET 应用程序的内存使用量在最小化时似乎下降了?

例如,启动 Paint.NET。然后用任务管理器查看它的内存使用情况:在我的电脑上,它使用 36Mb。

然后最小化 Paint.NET:现在它只需要 1Mb 多一点。

每个 .NET 应用程序都会发生这种情况。最小化 .NET 应用程序时会发生什么?GC 发生了吗?

0 投票
3 回答
9828 浏览

.net - ABCpdf 时不时会耗尽内存

我正在进行的项目是使用第 3 方组件在名为 ABCpdf.Net 的 VB.Net 网络系统中构建动态 PDF。(不是一个糟糕的工具,但也不是一个伟大的工具。)

有时,由于我无法理解的原因,文档对象会抛出 SEHException。进一步挖掘,事实证明这是由 WebSupergoo.ABCpdf6.Internal.PDFException 类型的文档对象中的自定义异常引起的。内容仅包含不太有用的标题“无法获取图像数据。内存不足”通常在尝试将图像添加到 PDF 时发生。由于这些图像是小于 100k 的 PNG,我猜它们的大小不是问题。

此外,真正奇怪的是,一旦这个问题开始发生,让它停止的唯一方法似乎是重新启动 Web 服务器,这显然有点低于标准。

有没有人遇到过这个问题(甚至使用过这个工具?)

0 投票
10 回答
30290 浏览

java - Java 中的循环引用

给定一个以复杂、循环的方式相互引用的类实例的聚合:垃圾收集器是否可能无法释放这些对象?

我隐约记得这是过去 JVM 中的一个问题,但我认为这在几年前就已经解决了。然而,对 jhat 的一些调查显示,循环引用是我现在面临的内存泄漏的原因。

注意:我一直认为 JVM 能够解析循环引用并从内存中释放这些“垃圾岛”。但是,我提出这个问题只是为了看看是否有人发现了任何例外。

0 投票
1 回答
6937 浏览

winapi - 如何确定最佳线程堆栈大小?

实际上,有两种大小:最初提交的和总保留的。

您使用静态分析还是动态分析?哪些工具?有哪些技巧?

0 投票
10 回答
25695 浏览

c++ - 您可以在 c 或 c++ 中分配一个非常大的单个内存块(> 4GB)吗?

这些天我想知道有非常大量的内存,是否可以分配一块大于 4GB 的内存?还是我需要分配一堆较小的块并处理它们之间的切换?

为什么???我正在处理一些openstreetmap xml数据,这些文件很大。我目前正在将它们流式传输,因为我无法将它们全部加载到一个块中,但我只是对 malloc 或 new 的上限感到好奇。

0 投票
5 回答
14245 浏览

ruby - Ruby 内存管理

我使用 Ruby 已经有一段时间了,我发现,对于更大的项目,它会占用相当多的内存。在 Ruby 中减少内存使用的最佳实践是什么?

  • 请让每个答案都有一个“最佳实践”,并让社区投票。
0 投票
4 回答
6567 浏览

java - 监视通过 JNI 用 Ja​​va 调用的 C DLL 的内存使用情况?

如何监视通过 JNI 从 Java 调用的本机 C DLL 正在使用的内存?使用标准 Java 监视工具和选项,我可以看到 Java 内存空间,但我无法查看 C DLL 使用的任何内存。Java 正在使用 ~70MB,但任务管理器中的任务显示 200Mb+,如果可能的话,我想看看额外的 130MB 中有什么。

0 投票
5 回答
727 浏览

c# - 托管环境中使用的最大堆?(.net/java)

您个人在 Java 或 .NET 等托管环境中使用的最大堆是多少?你遇到了哪些性能问题,你最终得到的收益是否会随着堆的增大而递减?