후드 아래의 coldfusion에서 cfc가 어떻게 인스턴스화되는지 알고 싶습니다. 나는 당신이 컴포넌트의 인스턴스를 생성하고 새로 생성 된 인스턴스에 대한 참조를 얻을 것이고,이 인스턴스를 사용하여 그 안에있는 public 메소드를 호출 할 수 있다는 것을 알고있다.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');
차이가 첫 번째 개체를 생성하고 공유 범위에 보관된다 모범 사례 말한다 그래서 수행 수정했다 요청이있을 때마다 요청할 딥 카피 (여기서 인스턴스는 한 번만 생성됨). 두 번째는 요청이있을 때마다 인스턴스 생성을 수행합니다. 두 번째 방법에서는 매번 인스턴스가 만들어지기 때문에 성능 차이가 있습니다. 나는 그것이 이전보다 덜 좋게 만드는 인스턴스를 만드는 것의 뒤에 정확히 아키텍처가 무엇인지 알고 싶습니다 !!
그냥 알고 싶어!
편집 단에게 감사드립니다. –