Spring POJO真的比無狀體的會話EJB(SLSB)快嗎?
目前,很多人都認為 spring 不論在那個方面都會比 SLSB 有更高的效率,真的是這樣嗎?
spring 中的 POJO 的生命周期可以是 Singlton 或每請求創建(或是 2.0 支持的 session 及 application,request 等范圍), SLSB 是通過實例池經心管理的。如果 spring POJO 不采用 singlton 的形式那么就需要承受創建和銷毀 POJO 的消耗,當然 SLSB 的出池和入池同樣會有同步的消耗,由于現在的虛擬機對象的創建和消耗速度大幅提高所以不一定比 SLSB 獲取的速度慢,但是如果每個對象構建的資源消耗很大如總是需要構建或初始化復雜對象,那么 SLSB 的速度顯然有優勢。如果 spring 采用 singleton 模式,那么其中如果需要同步,則雖然省去了創建和銷毀的消耗,但是大量的同步會使性能的殺手。并且在多 CPU 的服務器上沒有同步的多線程并行效果更好(可以在不同的處理器上單獨運行)
posted on 2007-03-29 10:29 超越巔峰 閱讀(2401) 評論(5) 編輯 收藏 所屬分類: Java EE