有幾個併發用戶使用的大型JSF應用程序。在JSF應用程序中插入常用函數的最佳位置?
該應用程序獲取PemGem空間錯誤,CPU使用增加(主要是由於gurbage收集)和RAM使用率增加。我們需要優化代碼庫以解決這些問題。
應用程序廣泛使用少數常用功能。我想知道哪個是包含這些功能以優化內存和CPU使用率的最佳位置。
示例功能(如果必要的話,我們可以簡單地將這些靜態函數)
public long calculateAgeInDays(Date dob, Date toDate) {
if (dob == null || toDate == null) {
return 0l;
}
long ageInDays;
ageInDays = (toDate.getTime() - dob.getTime())/(1000 * 60 * 60 * 24);
if (ageInDays < 0) {
ageInDays = 0;
}
return ageInDays;
}
什麼是包括這些非常常見的功能的最佳場所。
- EJB - Singlton
- EJB - 無國籍
- JSF託管Bean(控制器) - 應用程序作用域
- JSF託管Bean(控制器) - 會話範圍
- JSF託管Bean(控制器) - 請求Scoped
- 簡單Java類
在此先感謝
我懷疑這會對性能產生積極影響。你有沒有介紹你的申請?有助於將複雜的EL轉換爲bean中的getter功能,並執行「懶惰」操作,因此它們僅被評估一次。 – Kukeltje 2015-03-03 21:50:43