标签: heap

分配向量时,它们是在堆还是堆栈上使用内存?

以下所有陈述都是正确的吗?

vector<Type> vect; //allocates vect on stack and each of the Type (using std::allocator) also will be on the stack

vector<Type> *vect = new vector<Type>; //allocates vect on heap and each of the Type will be allocated on stack

vector<Type*> vect; //vect will be on stack and Type* will be on heap. 
Run Code Online (Sandbox Code Playgroud)

如何存储在内部分配Typevector或任何其他STL容器?

c++ heap stack stl vector

140
推荐指数
4
解决办法
8万
查看次数

"堆上"和"堆外"之间的区别

Ehcache 讨论了堆上和堆外内存.有什么不同?使用什么JVM args来配置它们?

java memory heap ehcache

133
推荐指数
4
解决办法
8万
查看次数

数组,堆和堆栈以及值类型

int[] myIntegers;
myIntegers = new int[100];
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,是新的int [100]在堆上生成数组吗?从我通过c#读到的CLR,答案是肯定的.但我无法理解的是,数组中的实际int会发生什么.由于它们是值类型,我猜它们必须被装箱,因为我可以,例如,将myIntegers传递给程序的其他部分,如果它们一直留在堆栈上它会使堆栈混乱.还是我错了?我猜他们只是盒装,并且只要数组存在就会活在堆上.

c# memory arrays heap stack

129
推荐指数
4
解决办法
5万
查看次数

"zend_mm_heap corrupted"是什么意思

突然之间,我的应用程序出现了问题,这是我以前从未遇到的问题.我决定检查Apache的错误日志,我发现一条错误消息"zend_mm_heap corrupted".这是什么意思.

操作系统:Fedora Core 8 Apache:2.2.9 PHP:5.2.6

php heap fedora php-internals

123
推荐指数
8
解决办法
16万
查看次数

在C++中适当的堆栈和堆使用?

我已经编程了一段时间,但它主要是Java和C#.我实际上从来没有必须自己管理内存.我最近开始用C++编程,我有点困惑的是什么时候我应该把东西存放在堆栈上以及何时将它们存储在堆上.

我的理解是,非常频繁访问的变量应该存储在堆栈中,对象,很少使用的变量和大型数据结构都应该存储在堆上.这是正确的还是我错了?

c++ heap stack memory-management c++-faq

121
推荐指数
5
解决办法
6万
查看次数

如何在Windows下作为服务启动时为Jenkins提供更多堆空间?

我想增加Jenkins的可用堆空间.但由于它作为服务安装,我不知道该怎么做.

heap jvm-arguments jenkins

109
推荐指数
5
解决办法
16万
查看次数

在分配的内存上*不*使用free()是否可以?

我正在学习计算机工程,我有一些电子课程.我听到了,从我的两个教授(这些课程),有可能避免使用的free()功能(后malloc(),calloc()等),因为分配可能不会被再次使用的存储空间分配等内存.也就是说,例如,如果您分配4个字节然后释放它们,您将有4个字节的空间可能不会再次分配:您将有一个漏洞.

我认为这很疯狂:你不能拥有一个非玩具程序,你可以在堆上分配内存而不释放它.但是我没有足够的知识来解释为什么它如此重要以至于每一个都malloc()必须有一个free().

那么:在没有使用的情况下,是否有可能适合malloc()使用free()?如果没有,我该如何向我的教授解释这一点?

c c++ heap memory-leaks memory-management

83
推荐指数
5
解决办法
7793
查看次数

我什么时候想要使用堆?

除了优先级队列的明显答案之外,什么时候堆在我的编程冒险中会有用?

heap data-structures

82
推荐指数
3
解决办法
4万
查看次数

Android Gradle无法为对象堆保留足够的空间

我安装了Android Studio 1.1.0.我还没有做任何事情,比如开始新的Android应用程序或导入任何东西.不知何故,它试图构建一些东西,它会引发同步错误.

错误:无法启动守护程序进程.此问题可能是由守护程序的错误配置引起的.例如,使用无法识别的jvm选项.请参阅http://gradle.org/docs/2.2.1/userguide/gradle_daemon.html上守护程序的用户指南章节.

请阅读以下流程输出以了解更多信息:


初始化VM时出错无法为对象堆保留足够的空间无法创建Java虚拟机.

我已经检查过,gradle.org/.../gradle_daemon.html但找不到任何有助于我解决问题的方法.

这不是内存问题,因为我有8GB的物理内存,没有其他程序在运行.

heap android jvm gradle

82
推荐指数
5
解决办法
12万
查看次数

存储在堆栈或堆中的Java基元数组是?

我有这样的数组声明:

int a[];
Run Code Online (Sandbox Code Playgroud)

a是一个原始int类型的数组.这个数组存储在哪里?它是存储在堆还是堆栈上?这是一个原始类型int,所有原始类型都不存储在堆上.

java arrays heap stack primitive-types

81
推荐指数
4
解决办法
4万
查看次数