1880得票20回答
IDisposable接口的正确使用方法

从阅读Microsoft文档了解到,IDisposable接口的“主要”作用是清理非托管资源。 对我来说,“非托管资源”意味着诸如数据库连接、套接字、窗口句柄等东西。但是,我看到过实现Dispose()方法以释放托管资源的代码,这对我来说似乎是多余的,因为垃圾回收器应该已经为你处理了这些。 例...

956得票23回答
Java错误:java.lang.OutOfMemoryError:GC超时限制已超出

当我执行我的JUnit测试时,会遇到这个错误信息:java.lang.OutOfMemoryError: GC overhead limit exceeded 我知道什么是OutOfMemoryError,但是GC overhead limit是什么意思?我该如何解决这个问题?

664得票24回答
Java有析构函数吗?

Java有析构函数吗?我似乎找不到任何相关文档。如果没有,我该如何实现相同的效果? 为了让我的问题更具体,我正在编写一个处理数据的应用程序,并且规范要求有一个“重置”按钮,可以将应用程序恢复到刚启动时的状态。但是,所有数据都必须“实时”存在,除非应用程序关闭或按下重置按钮。 通常作为C/C...

474得票9回答
机器配置文件在哪里?

我想应用一些更改,以便在我的C# 3.5应用程序中使用服务器GC设置-可以通过编辑 machine.config 文件来实现。 唯一的问题是我不知道它在哪里。 如何以可重复的方式在多台不同的计算机上找到此文件的路径?

395得票14回答
JavaScript中的对象删除

我对JavaScript的delete操作符感到有些困惑。看下面这段代码:var obj = { helloText: "Hello World!" }; var foo = obj; delete obj; 执行完这段代码后,obj是null,但是foo仍然引用着一个和obj完全...

382得票5回答
何时应该使用GC.SuppressFinalize()?

在.NET中,什么情况下应该使用GC.SuppressFinalize()? 使用这种方法有哪些优势?

367得票18回答
Java中的finalize()方法是何时被调用的?

我需要知道在JVM中何时调用finalize()方法。我创建了一个测试类,通过覆盖finalize()方法将其写入文件,但它未被执行。有人可以告诉我为什么它没有被执行吗?

362得票13回答
为什么调用System.gc()是不良实践?

回答有关如何在Java中强制释放对象(该人正在清除一个1.5GB的HashMap)使用System.gc()的问题后,我被告知手动调用System.gc()是不良实践,但评论并没有完全说服我。此外,没有人似乎敢于点赞或踩我的答案。 我被告知那里这是不良实践,但我也被告知垃圾收集器运行不再系统...

358得票3回答
Java 堆术语:年轻代、老年代和永久代?

我正在尝试理解Java堆术语中的年轻代、老年代和永久代的概念,特别是它们之间的相互作用。 我的问题如下: 什么是年轻代? 什么是老年代? 什么是永久代? 这三个代之间如何相互作用/关联?

348得票12回答
你需要处理对象并将其设置为 null 吗?

你需要处理对象并将它们设置为null,还是垃圾收集器会在它们超出范围时清理它们?