在ColdFusion CFC收集垃圾

时间:2010-03-15 16:22:56

标签: java coldfusion garbage-collection cfc

我在应用程序范围内有一个CFC作为单一对象。

其中一种方法用于海量数据处理,并定期导致“Java堆空间”错误。

编辑方法中的所有变量都是VAR范围的,因此在调用结束时不应将它们保留在对象范围内。

对于Java人来说这可能是一个有点愚蠢的问题,但我想知道 Java垃圾收集器如何清理CFC方法内存:仅在整个请求结束时,或者可能在每个方法/函数调用之后

第二个选项很有趣,因为它可以让我将我的大方法拆分为少数方法,作为可能的优化之一。

2 个答案:

答案 0 :(得分:2)

众所周知,即使您尝试手动调用当前请求,coldfusion也不会执行垃圾收集。

答案 1 :(得分:1)

Java在没有对象引用后释放资源。你有单例应用程序范围对象,实际上意味着它永远不会释放它的实例变量和类变量。除非您在代码中手动执行此操作。您应该显示一些代码以获得有关如何优化代码的更多建议。