15得票6回答
Java虚拟机会移动内存中的对象吗?如果会,那么是如何移动的?

Java虚拟机是否会移动内存中的对象?如果是这样,它如何处理对已移动对象的引用更新? 我提出这个问题是因为我正在探索一种分布式存储对象的想法(即跨多台服务器),但出于效率原因,我需要能够在服务器之间移动对象。对象需要能够包含对彼此的指针,甚至是对远程服务器上的对象的指针。我正试图思考更新已移...

24得票10回答
在C语言中,函数内使用静态变量能提高程序运行速度吗?

我的函数将被调用数千次。如果我想加快它的速度,将局部函数变量更改为静态变量是否有用?我的逻辑是这样的,因为静态变量在函数调用之间是持久存在的,它们只在第一次分配内存,因此,每个后续调用不会再为它们分配内存,并且会更快,因为内存分配步骤没有执行。 另外,如果上述说法是正确的,那么使用全局变量而...

9得票6回答
这是释放内存的好方法吗?

我已经在iPhone上编程有一段时间了,对内存管理的经验不是很好。我想知道以下方法是否是释放内存的好方法。 int count = [someObject retainCount]; for (int i = 0; i < count; i ++) { [someObject re...

18得票5回答
为什么在C#中允许使用“long”作为数组长度?

我想尝试分配一个大小为 4 亿字节的数组,这是我的 C# 代码:long size = 4 * 1000; size *= 1000; size *= 1000; byte[] array = new byte[size]; 这段代码在包含new的行中出现System.OverflowExce...

20得票3回答
Valgrind在MIPS上报告没有堆使用

我正在使用valgrind(v3.10.0)来查找一个复杂应用程序(net-snmp的大规模修改构建的一部分)中的内存泄漏。我确定存在泄漏(应用程序的内存占用呈线性无限增长),但在终止时,valgrind总是报告以下内容。==1139== HEAP SUMMARY: ==1139== ...

9得票3回答
使用内存映射文件读取大文件

我看到许多文章建议不要将大文件作为mmap文件映射,以便虚拟地址空间不会仅由mmap占用。 在64位进程中,地址空间dramatically increases,这如何改变呢? 如果我需要随机访问一个文件,有没有理由不一次性映射整个文件?(数十GB的文件)

16得票4回答
在PHP脚本中取消所有变量的设置

尝试在脚本中自动取消所有变量的设置。 尝试过以下方法: echo '<br /> Variables in Script before unset(): <br />'; print_r(array_keys(get_defined_vars())); ec...

19得票5回答
哪种内存分配算法最适合于性能和时间关键的C++应用程序?

我提出这个问题是为了确定哪种内存分配算法可以在性能关键的应用中(如游戏引擎或嵌入式应用程序)提供更好的结果。结果实际上取决于内存碎片化的百分比和内存请求的时间确定性。 教科书上有几种算法(例如伙伴内存分配),但也有其他算法,如TLSF。因此,就可用的内存分配算法而言,哪一种最快且导致的碎片最...

87得票3回答
iPhone操作系统的内存警告。不同级别代表什么意思?

关于管理iPhone操作系统设备内存的黑科技:不同级别的内存警告意味着什么。一级?二级?表盘上会到达11吗? 背景:经过长时间的内存压力测试期后,包括在我的iPad应用程序运行iPod音乐播放器应用程序时,我倾向于忽略偶尔收到的随机内存警告。我的应用程序从未崩溃。它没有泄漏。而且,好吧,内存...

7得票3回答
.NET Framework中哪些托管类分配(或使用)非托管内存?

是否有已知(记录)的 .NET 类型集,可以在进程内存的非托管部分分配内存? 例如,微软文档指出 WPF 基础架构为其保留渲染模型分配了非托管内存,以优化性能。还有其他类似的 .NET 框架部分会利用大量的非托管内存吗?