148得票4回答
Rust有什么替代垃圾收集器的东西?

我知道Rust没有垃圾回收器,并且想知道当绑定超出作用域时内存是如何释放的。所以在这个例子中,我知道当a超出作用域时,Rust会回收分配给它的内存。{ let a = 4 } 我遇到的问题首先是它如何发生的,其次这不是一种垃圾回收吗?它与typical垃圾回收有什么不同?

146得票13回答
为什么delete不会将指针设置为NULL?

我一直想知道为什么在 delete 后自动将指针设置为 NULL 不是标准的一部分。如果可以处理这个问题,那么由于无效指针而导致的许多崩溃就不会发生了。但话说回来,我能想到标准限制这样做的一些原因: 性能: 额外的指令可能会降低 delete 的性能。 是否与 co...

145得票25回答
Android Studio - 如何增加分配的堆大小

我已经使用Android Studio三个月了,其中一个我在上面开始的应用程序变得相当大。该程序底部右侧指示的内存使用情况显示我的分配堆达到了494M的极限。 当我开始更改XML文件时,我的内存使用量很快就达到了那个上限,并且IDE崩溃并出现了类似于这样的内存不足错误。 我曾尝试使...

142得票10回答
降低Django内存使用,有简单易行的方法吗?

我的内存使用随时间增长,重新启动Django对用户不友好。 我不确定如何对内存使用进行分析,但一些关于如何开始测量的提示会很有用。 我有一种感觉,有一些简单的步骤可以产生巨大的收益。确保'debug'设置为'False'是一个明显的大问题。 有人能提出其他建议吗?在低流量网站上缓存可以带...

140得票6回答
虚拟内存和物理内存有什么区别?

我经常对操作系统中的虚拟化概念感到困惑。将RAM视为物理内存,为什么我们需要虚拟内存来执行进程? 当从外部硬盘驱动器中获取进程(程序)并放入主内存(物理内存)以进行执行时,虚拟内存位于哪里。 谁负责虚拟内存,虚拟内存的大小是多少? 假设RAM大小为4GB(即2^32-1地址空间),虚拟内...

135得票12回答
如何在安卓系统中获取当前内存使用情况?

我使用了/proc/meminfo并解析了命令响应,但结果显示: MemTotal:94348 kB MemFree:5784 kB 这意味着只有5MB的空闲内存。在Android手机上是否可能出现这种情况? 我的手机上只安装了5-6个应用程序,并且没有其他任务正在运行。但是这个命令仍然显...

132得票6回答
Visual Studio对已删除的指针做了什么,为什么要这样做?

我正在阅读的一本C++书籍指出,当使用delete运算符删除指针时,它所指向的位置的内存将被“释放”,并且可以被覆写。书中还指出,该指针会继续指向同一位置,直到被重新分配或设置为NULL。然而,在Visual Studio 2012中似乎并非如此!例如:#include <iostrea...

132得票29回答
C ++中避免内存泄漏的一般准则

有什么一般性质的技巧可以确保我在C++程序中不会泄漏内存? 我如何确定谁应该释放动态分配的内存?

129得票4回答
易失性变量是否昂贵?

阅读完编译器编写者的JSR-133食谱,特别是关于volatile实现的“与原子指令的交互”一节后,我认为在不更新volatile变量的情况下读取它需要LoadLoad或LoadStore障碍。在页面的下面,我看到LoadLoad和LoadStore在X86 CPU上实际上是无操作的。这是否意...

128得票2回答
Haskell数据类型的内存占用

在Haskell中(主要是使用GHC),我如何找到存储某种数据类型的实际内存量?是否可以在运行时(例如在GHCi中)计算它,或者可以从组件估计复合数据类型的内存需求? 通常情况下,如果已知类型a和b的内存需求,那么代数数据类型的内存开销是多少,例如:data Uno = Uno a data...