2011-02-23 58 views
0

我們有遺留的應用程序,它們很快就會開始使用常見的jsp頁面。然而就使用的技術而言,他們每個人都在使用不同的視圖技術。不久之後,他們可以在這些頁面中使用jstl。將對象存儲到JSTL的請求中的代價

我想存儲我的請求束執行情況,以便通過JSTL這樣使用

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

我們的包都有可能進入10000。

我的問題:

在請求中存儲大對象會帶來額外的成本嗎?

更新:我們的包是靜態的。 (每個服務器只有一個它的實例。)我的意思是說我們在請求對象中只有一個引用。

也許我應該清楚地說明我的要求。已經存在的常用頁面已經實現。這個實現共享一個非常不同的bundle實現。它與java.util.ResourceBundle不同。這就是爲什麼我不能使用jstl fmt標籤。

+0

**是**代價高昂 – 2011-02-23 18:34:54

+0

爲什麼要這樣做?捆綁包不是你在請求中保存的東西。可能是如果你解釋你的要求,我們可以提供更多的幫助。 – CoolBeans 2011-02-23 18:37:48

+0

@Jigar Joshi - org.life.java,@CoolBeans我更新了。謝謝 – Ozgur 2011-02-23 18:47:43

回答

3

如果你正在重複使用已經創建的包,那麼我認爲存儲不應該花費你(考慮到請求也是Java對象,並且只會引用另一個包含某些對象的集合),但是如果你正在創建那麼每次請求調用中的bundle都會很昂貴,而不是從存儲的角度來看,但是每次創建一個包含10000個條目的bundle以及垃圾收集的時間。

3

這一切的成本你是一個哈希地圖,這是一個餡對象指針的成本,同時不爲零,有效地爲零。實際上,總共可以達到20-30字節(取決於您是否主要運行32b或64b JVM)。