在应用程序范围内,我有一个CFC作为单个对象。
其中一种方法用于大量数据处理,并周期性地导致"Java堆空间“错误。
编辑方法中的所有变量都是VAR作用域,因此在调用结束时不应该将它们保存在对象范围内。
对于Java人来说,这可能是一个有点愚蠢的问题,但我想知道是如何清理CFC方法内存的:只有在整个请求结束时,或者在每个方法/函数调用之后。
第二个选项很有趣,因为它允许我将我的大型方法分成几个,作为可能的优化之一。
发布于 2010-03-15 18:47:39
众所周知,coldfusion在处理当前请求之前不会执行垃圾收集,即使您尝试手动调用它。
发布于 2010-03-15 16:29:49
Java在没有对对象的引用之后释放资源。您有单例应用程序作用域对象,这实际上意味着它永远不会释放它的实例变量和类变量。不过,您将在代码中手动执行此操作。您应该展示一些代码,以获得更多关于如何优化代码的建议。
https://stackoverflow.com/questions/2448680
复制相似问题