0

すぐに一般的なjspページの使用を開始するレガシーアプリケーションがあります。ただし、使用されるテクノロジーに関しては、それぞれが異なるビューテクノロジーを使用しています。間もなく、これらのページでjstlを使用できるようになります。

このようにJSTLで使用するために、バンドルの実装をリクエストに保存したい

  request.setAttribute("bundle", getBundle());

私たちのバンドルにはおそらく10000のエントリがあります。

私の質問:

リクエストに応じて大きなオブジェクトを保存すると、追加のコストが発生しますか?

更新:バンドルは静的です。(サーバーごとにインスタンスは1つだけです。)つまり、リクエストオブジェクトには参照のみが含まれます。

多分私は私の要件を明確に述べる必要があります。すでに存在している共通ページはすでに実装されています。そして、この実装は非常に異なるバンドル実装を共有しています。java.util.ResourceBundleとは異なります。そのため、jstlfmtタグを使用できませんでした。

4

2 に答える 2

3

すでに作成されたバンドルを再利用している場合、保存に費用はかからないと思います(--requestもJavaオブジェクトであり、いくつかのオブジェクトを保持する別のコレクションへの参照があることを考慮すると)が、それぞれにバンドルを作成している場合呼び出しを要求すると、これも保存の観点からではなく、毎回10,000エントリのバンドルを作成するために、またガベージコレクションのために時間がかかります。

于 2011-02-23T18:46:26.453 に答える
3

このコストはすべて、オブジェクトポインタをハッシュマップに詰め込むコストです。ハッシュマップは、ゼロではありませんが、事実上ゼロです。実際には、合計で最大20〜30バイトです(主に32bまたは64b JVMを実行しているかどうかによって異なります)。

于 2011-02-23T18:49:41.083 に答える