我有一个CFC作为应用程序范围内的singletone对象。在ColdFusion CFC收集垃圾
其中一种方法用于海量数据处理并定期导致“Java堆空间”错误。
编辑该方法内部的所有变量都是VAR范围的,所以当invoke结束时,它们不应该保留在对象范围内。
它可以为Java的人有点愚蠢的问题,但我想知道Java垃圾收集器如何清理CFC方法内存:只有当整个请求结束,也许每个方法/函数invokation之后?
第二个选项很有趣,因为它可以让我将我的大方法分解为少数几个,作为可能的优化之一。
你是否尝试过在CF管理员中增加可用的堆大小? – 2010-03-15 17:17:16
@Ben,是的,我在Resin conf(使用Railo)做了它,但是目前有限的VPS RAM,这不会有很大的帮助。我只是想在购买更多内存之前尝试一些代码优化,至少我需要知道我不是“喂兽”:) – Sergii 2010-03-15 18:02:58