我想知道一个cfc是如何在coldfusion下实例化的!我知道你创建了一个组件的实例,你会得到一个对新创建的实例的引用,你可以用它来调用它们中的公共方法。ColdFusion CFC实例创建的生命周期是什么?
但是,当我写个代码
<cfscript>
person = createObject('component','human') // what happen here!!!!
person.speak();
</cfscript>
提出了一些修正,我在这里的讲话!究竟发生了什么。为什么我问这个问题的原因是因为我有存储在应用范围实例,该实例是非常高负载下使用如下
application.person.speak();
现在。我发现内存不是为obj发布的,并且在某些时候达到了200mb ..奇怪! 。如此作出的修正,因为它说,在最佳实践
request.person = duplicate(application.person);
现在还有另一种直接的方式做,这是
request.person = createObject('component','human');
区别,第一个创建对象并保持它在份额范围内,做一个深层副本,每次请求时都会请求(这里只创建一次实例)。其次,每次请求都会创建实例。它们之间存在性能差异,因为在第二种方法中,每次都创建实例。我想知道创建一个实例后面的架构究竟是什么,使前者变得更好!
只想知道!
感谢编辑丹。 – 2011-02-23 20:33:38