有几个并发用户使用的大型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