我想知道一個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