问题标签 [memory-management]
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.
c# - Setting Objects to Null/Nothing after use in .NET
Should you set all the objects to null
(Nothing
in VB.NET) once you have finished with them?
I understand that in .NET it is essential to dispose of any instances of objects that implement the IDisposable
interface to release some resources although the object can still be something after it is disposed (hence the isDisposed
property in forms), so I assume it can still reside in memory or at least in part?
I also know that when an object goes out of scope it is then marked for collection ready for the next pass of the garbage collector (although this may take time).
So with this in mind will setting it to null
speed up the system releasing the memory as it does not have to work out that it is no longer in scope and are they any bad side effects?
MSDN articles never do this in examples and currently I do this as I cannot see the harm. However I have come across a mixture of opinions so any comments are useful.
memory-management - WebSphere 6.1 分代 gc 默认托儿所大小限制
默认情况下,nursery 应该是堆的 25%,我们将初始堆大小设置为 1GB。启用详细 gc 后,我们看到我们的 Nursery 大小为 55-60MB。我们已经强制使用-Xmns256M -Xmnx512M
. 这不应该自动发生吗?
memory - 如何记录 malloc
这有点假设并且非常简化,但是......
假设一个程序将调用第三方编写的函数。这些当事方可以被认为是非敌对的,但不能被认为是“有能力的”。每个函数都会接受一些参数,有副作用并返回一个值。它们在不运行时没有状态。
目标是通过记录所有 malloc(等)并在函数退出后释放所有内容来确保它们不会导致内存泄漏。
这可能吗?这实用吗?
ps 对我来说重要的部分是确保没有分配持续存在,因此在不这样做的情况下消除内存泄漏的方法对我没有用。
c# - 常用内存优化
csharp、dotnet 2.0 中最常见的内存优化是什么?想看看在winform应用程序中是否存在人们默认情况下可能不会做的常见事情
c++ - 全局内存是否在 C++ 中初始化?
全局内存是否在 C++ 中初始化?如果是这样,怎么办?
(二)澄清:
当程序启动时,在初始化原语之前,将成为全局内存的内存空间中有什么?我试图了解它是归零还是垃圾。
instance()
情况是:可以在初始化之前通过调用设置单例引用:
结果得到两个单例实例?
请参阅我关于单例的多个实例的 C++ 测验...
objective-c - NSAutoreleasePool 自动释放池是如何工作的?
据我了解,使用alloc、new或copy创建的任何内容都需要手动发布。例如:
不过,我的问题是,这不是同样有效吗?:
c++ - 通过不同类型的指针删除缓冲区?
假设我有以下 C++:
根据 C++ 标准,这是否安全?我需要转换回 achar*
然后使用delete[]
吗?我知道它适用于大多数 C++ 编译器,因为它是普通数据,没有析构函数。能保证安全吗?
c++ - 此 C++ 代码是否会导致内存泄漏(将数组转换为新的)
我一直在研究一些使用可变长度结构 (TAPI) 的遗留 C++ 代码,其中结构大小将取决于可变长度字符串。这些结构是通过转换数组分配的,new
因此:
但是稍后使用delete
调用释放内存:
new[]
数组和非数组的这种混合delete
会导致内存泄漏还是取决于编译器?malloc
更改此代码以使用它会更好free
吗?
vb6 - Scripting.Dictionary 的 RemoveAll() 方法是否首先释放其所有元素?
在 VB6 应用程序中,我有一个Dictionary
其键是String
s 和值是自定义类的实例。如果我调用RemoveAll()
,Dictionary
它会首先释放自定义对象吗?还是我明确需要自己这样做?
c++ - 在 C++ 中避免内存泄漏的一般准则
有哪些一般提示可以确保我不会在 C++ 程序中泄漏内存?如何确定谁应该释放动态分配的内存?