4

Application スコープにシングルトーン オブジェクトとして CFC があります。

メソッドの 1 つは大量のデータ処理に使用され、定期的に「Java ヒープ スペース」エラーを引き起こします。

EDITメソッド内のすべての変数は VAR スコープであるため、呼び出しが終了したときにオブジェクト スコープに保持しないでください。

Java の人にとってはちょっとばかげた質問かもしれませんが、Java ガベージ コレクターが CFC メソッドのメモリをクリーンアップする方法を知りたいです: リクエスト全体が終了したとき、または各メソッド/関数呼び出しの直後だけですか?

2 番目のオプションは、考えられる最適化の 1 つとして、大きなメソッドを少数に分割できるため、興味深いものです。

4

2 に答える 2

2

手動で実行しようとしても、現在のリクエストが処理されるまで、coldfusion がガベージ コレクションを実行しないことはよく知られています。

于 2010-03-15T18:47:39.153 に答える
1

オブジェクトへの参照がなくなると、Java はリソースを解放します。インスタンス変数とクラス変数を決して解放しないことを実際に意味するシングルトン アプリケーション スコープ オブジェクトがあります。コードでこれを手動で行う場合を除きます。コードを最適化する方法についてさらにアドバイスを得るには、いくつかのコードを表示する必要があります。

于 2010-03-15T16:29:49.607 に答える