39得票2回答
GHC的运行时选项与垃圾回收相关

我有一个Haskell程序,处理文本文件并构建一个带有数百万个元素的Map。整个程序运行需要2-3分钟时间。我发现调整-H和-A选项可以大大缩短运行时间。 RTS有关这一功能的文档,但对我来说阅读起来很困难,因为我不了解GC理论中的算法和术语。我正在寻找更少技术性的解释,最好是与Haskel...

12得票1回答
JNI,垃圾收集和指针 - Java / C ++应该由谁来完成?

在C++中,我们有指针的概念。现在,如果我们在C++中分配了一些内存,并将其作为对象引用传递给Java(使用JNI),那么到底应该由谁释放内存呢? 是: 1.) Java中的垃圾收集器会自动处理吗? 2.) 我们需要在封装的JNI类finalize方法中显式执行指针的删除操作(delet...

7得票3回答
Canvas: 尝试使用已回收的位图 android.graphics.Bitmap。

11-24 23:19:18.434: ERROR/AndroidRuntime(12660): Uncaught handler: thread main exiting due to uncaught exception 11-24 23:19:18.684: ERROR/AndroidR...

8得票2回答
.NET 垃圾回收问题。程序阻塞 15-40 分钟。

一些事实: 我们开发了一个WCF服务,它充当客户端和数据库之间的层。它是自托管的,并作为Windows服务运行。 该服务保持了几个缓存,其中最大的缓存在1-2GB内存范围内。总内存使用量通常约为5-8GB。连接是双工的,使用TCP协议,并且序列化是用protobuf-net完成的。我们连接的...

20得票2回答
为什么使用Epsilon相比G1,重复的内存分配速度更慢?

我很好奇用G1和Epsilon测量JDK 13中分配内存所花费的时间。我观察到的结果出乎意料,我想了解其中的原因。最终,我希望了解如何使Epsilon的使用比G1更具性能(或如果不可能,则为什么不行)。 我编写了一个小测试,重复地分配内存。根据命令行输入,它要么: 创建1,024个新的1...

7得票2回答
[Garbage collection]在dotTrace性能分析器中是什么意思?

在这张图片中,[Garbage collection]指的是什么?还有“20次调用”是什么意思? 我的意思是,我怎样才能找出为什么垃圾回收花费了这么长时间?是因为收集了很多小对象?还是一个大对象?有没有任何提示可以优化这个问题呢? 相关的代码如下: private void Dese...

9得票3回答
Spring原型Bean及Spring的好处

我已经逐渐掌握了Spring一段时间,认为我对这些概念有一个合理的想法,但是我在另一个线程中找到了一些信息,这让我感到困惑…… “……虽然初始化生命周期回调方法会在所有对象上调用,而不管范围如何,在原型的情况下,配置的销毁生命周期回调不会被调用。客户端代码必须清理原型作用域对象并释放原型be...

11得票3回答
如何在C#中释放或回收字符串?

我有一个很长的字符串(例如20MB)。 我现在正在解析这个字符串。问题是C#中的字符串是不可变的,这意味着一旦我创建了一个子字符串并查看它,内存就会被浪费。 由于所有的处理过程,内存被String对象占用了,而且我不再使用、需要或者引用它们;但垃圾回收器需要很长时间才能释放它们。 所以应...

14得票3回答
多进程和垃圾回收

在Python 2.6及以上版本中,multiprocessing模块提供了一个Pool类,因此可以这样做:class Volatile(object): def do_stuff(self, ...): pool = multiprocessing.Pool() ...

9得票1回答
如何使JVM将内存释放回操作系统

我正在为我的应用程序使用GC选项XX:+UseParNewGC-XX:+UseConcMarkSweepGC。 正如大多数人已经体验到的那样,JVM在将堆增加到最大堆大小方面表现出色,但它不会释放内存回操作系统。我遇到了-XX:MaxHeapFreeRatio和-XX:MinHeapFree...