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

c - 即使没有传递指针,线程中的所有函数都可以访问动态分配的内存(堆),还是它是函数的本地函数?

我有一个非常基本的问题,需要帮助。我试图了解动态分配的内存(在堆上)的范围是什么。

t在这里,funct()即使在main()没有传递参数(指向的指针t)的情况下分配了内存,我也可以访问结构function funct吗?因为堆对于线程来说是公用的?如果我struct node * t = NULL在外部定义main()为全局变量会有什么不同并且它有什么问题吗?

0 投票
1 回答
156 浏览

c++ - 如何对 NON-.NET 应用程序/DLL 的内存使用进行分类?

我有一个 32 位 Visual Studio 8.0 C++ Windows DLL(非 .NET),它占用的内存似乎比我预期的要多。我想确切地确定内存的去向,而不仅仅是使用的总内存的一个数字(对任务管理器或资源监视器的内存使用值不感兴趣)。回到 16 位时代,HeapWalker 非常有用,您甚至可以选择一个 BITMAP 句柄并查看它的图形内容。我试图记住如何阅读 .MAP 文件并将各个部分相加,但文档很少,我不确定这种技术有多准确。有人有什么建议吗?

0 投票
5 回答
62880 浏览

java - java.lang.OutOfMemoryError:带有 NetBeans 的 Java 堆空间

这是我在由 NetBeans 启动的 Tomcat servlet 容器实例中运行 Web 应用程序时遇到的错误。为了解决这个问题,我什至更改了 netbeans.conf 中的堆大小,但仍然显示相同的错误。我怎样才能防止这种情况发生?

0 投票
1 回答
10151 浏览

java - VM options in project properties in netbeans

I got a problem with the java heap space while using servlets in netbeans5.0 and got a solution to resolve it too,they asked to change the VM options of run category in the project properties.But,i couldnt find such option in my properties.Please do tell me what to do with this error. This is the picture of my project properties.

alt text http://img390.imageshack.us/img390/4116/28257416.png

0 投票
4 回答
28926 浏览

java - 使用 JVisualVM 从 Java 中的远程应用程序获取堆转储

我运行 JVisualVM(Windows XP、Sun Java 1.6.0.13、32 位客户端 VM)来监控远程应用程序(Linux、Sun Java 1.6.0.07、64 位服务器 VM)。在启动实际的远程应用程序之前,我jstatd使用所有访问策略在远程计算机上启动:

然后我使用命令行启动实际的应用程序

从客户端机器上,我可以看到远程应用程序并对其进行监控。我也可以进行线程转储等。不幸的是,堆转储按钮是灰色的。

如何使用 JVisualVM 从远程监控的应用程序中获取堆转储?

我尝试使用 jConsole。使用 jConsole,可以使用 com.sun.management.HotSpotDiagnostic dumpHeap 操作进行远程堆转储。我希望将转储传输到客户端并使用 JVisualVM 提供的工具进行分析。我怎样才能做到这一点?

0 投票
6 回答
2565 浏览

c++ - 使用 malloc() 强制垃圾收集/压缩

我有一个 C++ 程序,可以对不同长度的输入数组的各种算法进行基准测试。它或多或少看起来像这样:

是否可以将 (2) 处的整个堆管理重置为 (1) 处的状态?在程序期间分配的堆上分配的所有内存都保证在 (3) 处被释放。

我在 Linux 上使用 g++ 4.3。

编辑:我知道 C/C++ 中没有真正的垃圾收集。我想强制内存分配在 (2) 处加入它在其空闲列表中的相邻空内存块。

0 投票
5 回答
430 浏览

c++ - C/C++ 模式到 USE_HEAP 或 USE_STACK

有没有办法定义一个宏(或类似的东西),允许对象在堆栈或堆上干净地分配?

例如。当前代码:

最简单的建议可能如下,但正如您在下面看到的,维护 2 组代码并不是很干净。

我正在寻找可用于编译代码的设计模式/代理类,具体取决于客户的需求。

编辑:该代码用于为嵌入式设备/(嵌入式)Linux / Windows Mobile 构建库。大多数客户只想要基于堆栈的分配。其他一些人要求用堆栈换堆。

谢谢,查尔斯

0 投票
10 回答
5748 浏览

memory - “a”堆和“the”堆之间有什么关系?

堆是一种树数据结构,其中较高级别的树总是包含比较低级别更大(或更少,如果它是这样设置的话)的值。“该”堆是程序可用于动态分配的一堆空闲 RAM。它们都被称为“堆”,但一个与另一个有什么关系?

0 投票
7 回答
54148 浏览

java - 在运行时设置 JVM 堆大小

有没有办法从正在运行的 Java 程序设置堆大小?

0 投票
2 回答
3684 浏览

visual-c++ - 调试 Visual C++ 内存分配问题

我正在调试一个最终崩溃并显示以下消息之一的软件:

该软件确实很旧,但现在更改它不是一种选择。它是在 Visual C++ 6.0 上编写的。我们猜测这是某种缓冲区溢出,因此我们正在尝试寻找方法来检测它发生的位置。

我找到了有关PageHeap(似乎能够告诉我我想要什么)和GFlags的信息,但似乎我无法使其工作。

我创建了一个测试程序:

这引发了一个错误:

然后,我尝试通过运行将 PageHeap 附加到它:

然后重新运行它(通过 Visual C++ 6.0 界面和 Windows 资源管理器),导致相同的错误。

然后我尝试编译发布版本,并通过Visual C++ 6.0界面运行,得到错误:

从 Windows 资源管理器中,我刚刚得到了 Windows 对话框,要求我发送错误报告。

我错过了什么?