- PR -

J2EEでいうところの”キャッシュする”場所とは?

1
投稿者投稿内容
tzk
常連さん
会議室デビュー日: 2002/05/17
投稿数: 35
投稿日時: 2003-12-05 18:03
本日は疑問がありまして投稿いたしました。

よくものの本等で、
「JNDIのlookupはコストのかかる処理なので一度取得したオブジェクトをキャッシュすることにより、パフォーマンスが向上します。」
などという記述を目にします。(おかしな表現がありましたら申し訳ありません。)

こういった表現で出てくるキャッシュとは、どのような実装を指すのでしょうか?
私がイメージできるのは、
@ServletContextへのセット
AServletのstaticフィールドへのセット
といった部分なのですが、通常どのように実装されていますか?
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2003-12-05 18:25
引用:

tzkさんの書き込み (2003-12-05 18:03) より:
よくものの本等で、
「JNDIのlookupはコストのかかる処理なので一度取得したオブジェクトをキャッシュすることにより、パフォーマンスが向上します。」
などという記述を目にします。(おかしな表現がありましたら申し訳ありません。)

こういった表現で出てくるキャッシュとは、どのような実装を指すのでしょうか?
私がイメージできるのは、
@ServletContextへのセット
AServletのstaticフィールドへのセット
といった部分なのですが、通常どのように実装されていますか?




こういうことですかね。
http://www-6.ibm.com/jp/developerworks/java/021122/j_j-ejb0924.html

ServiceLocatorというJ2EEパターンの一つでもあります。
tzk
常連さん
会議室デビュー日: 2002/05/17
投稿数: 35
投稿日時: 2003-12-08 20:56
ukさん、ご丁寧な回答ありがとうございました。
リンク先を拝見し、JNDIについては解決しました。

もう一点疑問に思っているのは、独自リソースのキャッシュ先です。
例えば、XMLツリーなどを読み込んでアプリケーション内で再利用
する場合、どこに格納するものでしょうか。

Strutsもどきの独自FWを作っているのですが、そういったリソースの
キャッシュ方法について現在考え中です。

アイデアをお持ちの方がいらっしゃいましたら教えて下さい。
Anthyhime
ぬし
会議室デビュー日: 2002/09/10
投稿数: 437
投稿日時: 2003-12-09 07:05
Singletonなどを利用してファクトリクラスでキャッシュするのが一般的かと。
注意点としてはちゃんとスレッドセーフに書くことですかね。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2003-12-09 12:28
引用:

Anthyhimeさんの書き込み (2003-12-09 07:05) より:
Singletonなどを利用してファクトリクラスでキャッシュするのが一般的かと。
注意点としてはちゃんとスレッドセーフに書くことですかね。



アプリケーション全体で利用するのならそうですね。
特定のクラス内で使用するならそのクラス内にキャッシュを持てばいいと思いますが。
1

スキルアップ/キャリアアップ(JOB@IT)