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

java - 分配的变量引用在哪里,在堆栈中还是在堆中?

我有个问题

例如,当我在方法中声明变量时会发生什么。

myShip 引用在哪里分配,在堆栈中还是在堆中?

我认为在堆栈中,但我很困惑,因为我正在阅读 J2ME 游戏编程书“Java 类被实例化到 Java 堆上”

所有java类?

提前致谢

0 投票
5 回答
108367 浏览

java - 永久增加java堆大小?

有没有办法可以在我自己的计算机上为 jvm 设置默认堆大小?我想将其设置为 1g,因为我总是在运行自定义程序,这些程序总是在默认 jvm 大小中达到超额点。

我只是不想每次从命令行运行我的 java 应用程序时都要记住输入 -XmX1g ......

必须有一种管理方式才能做到这一点吗?

0 投票
4 回答
539 浏览

java - 克服堆溢出问题

我试图从 Project Euler 中解决问题。我知道我的方法会合乎逻辑地工作(它几乎可以立即返回小规模问题的答案)。但是,它的扩展非常可怕。我已经尝试更改 .ini 文件,但无济于事。

这是我的代码:

这是编辑后的代码,就像宝石一样工作:

0 投票
4 回答
2118 浏览

c++ - 在 C++ 中分配和释放 char *

大家好,我遇到了一个我无法弄清楚的堆损坏错误。

上面的代码是我唯一一次在 _gcvt_s 和 pushFont() 中使用 c 指针,它只接受一个 char * 作为它的第一个参数,并将文本放在屏幕上。除此之外我不使用c。当我尝试在主循环之后释放 c(我认为我应该这样做)时,我收到一条错误消息,指出 Visual Studio 已获得堆错误(堆损坏)。

注释掉对 pushFont 的调用我仍然收到错误。

谁能向我解释为什么释放一个字符(我在堆上分配的 1 个字节)会给我一个堆损坏?

最后,我的主循环做了很多事情,我和一个伙伴正在用 WinSocket 制作乒乓球游戏,主体的其余部分是游戏的循环。我认为没有必要发帖,但如果有必要,我会用整个主循环更新我的帖子,但我相信我对 malloc() 和 free() 的理解刚刚结束。

谢谢大家,

0 投票
4 回答
1426 浏览

c++ - Deleting a heap then dereferencing a pointer to that memory

This is code from an exercise:

When the space allocated to the int on the heap is deleted, I thought that dereferencing the pointer would give some sort of memory error. Instead, it returns 0.

Why is this?

0 投票
6 回答
365 浏览

c++ - 在堆上创建对象需要对象的大小吗?

当编译器需要知道 C(类)对象的大小时:例如,在堆栈上分配 C 或作为另一种类型的直接持有成员时

来自C++ 编码标准:101 条规则、指南和最佳实践

这是否意味着对于堆分配的对象,大小不是必需的?

0 投票
1 回答
11822 浏览

java - 运行时读取最大堆空间

众所周知,该java -Xmx选项用于设置Java程序可用的最大堆空间。但是有没有办法让 Java 程序读取已设置的值?类似的东西System.getMaximumHeapSpace()(不存在)。

0 投票
2 回答
1293 浏览

objective-c - 了解 Objective-C 的动态运行时

我在 Objective-C 和 Cocoa 中弄湿了我的脚,我注意到所有对象都是从堆中分配的。

为什么这是 Objective-C 中的标准?我特别热衷,因为 Objective-C 被认为是具有 OO 特性的 C 的严格超集。

0 投票
3 回答
2301 浏览

memory-leaks - jmap 在 Windows Server 2003 上不起作用

jmap 在 XP 上对我来说很好用。但是当我尝试执行命令时,它会抛出错误

没有足够的存储空间来处理。

我使用了以下命令

jmap -dump:format=b,file=heap1.bin 。

请注意,tomcat 在 windows 服务器上作为服务运行。

我在windows xp上也试过了,没有问题。

有任何想法吗??

谢谢

0 投票
23 回答
111459 浏览

c - 释放后将变量设置为NULL

在我的公司有一条编码规则,即在释放任何内存后,将变量重置为NULL. 例如 ...

我觉得,在上面显示的代码这样的情况下,设置为NULL没有任何意义。还是我错过了什么?

如果在这种情况下没有任何意义,我将与“质量团队”一起将这个编码规则删除。请指教。