在JSF中,什么在清理bean方面有更好的性能?

在JSF中,什么在清理bean方面有更好的性能?,jsf,javabeans,Jsf,Javabeans,我在JSF中一直面临这个基本的疑问,您认为在JSF中清理bean会对性能产生更好的影响吗 检索bean,清除它,然后将其设置回上下文 FacesContext context = FacesContext.getCurrentInstance(); Map<String, IFEContainer> advSSSuggestions = (Map<String,IFEContainer>) context.getELContext().getELResolver

我在JSF中一直面临这个基本的疑问,您认为在JSF中清理bean会对性能产生更好的影响吗

检索bean,清除它,然后将其设置回上下文

  FacesContext context = FacesContext.getCurrentInstance();

  Map<String, IFEContainer> advSSSuggestions = (Map<String,IFEContainer>) context.getELContext().getELResolver().getValue(context.getELContext(), null, "advSSSuggestions");

  advSSSuggestions.clear();

  FacesContext.getCurrentInstance().getELContext().getELResolver().setValue(context.getELContext(), null, "advSSSuggestions", advSSSuggestions);
c在上下文中直接为bean设置一个新对象

 context.getELContext().getELResolver().setValue(context.getELContext(), null, "advSSSuggestions", null);
 context.getELContext().getELResolver().setValue(context.getELContext(), null, "advSSSuggestions", new HashMap<String,IFEContainer>());

我认为你不需要使用..getElResolver.setValue..更好。。因为它已经管理好了。因为在会话被销毁之后,会话的所有对象也将被销毁/

b在你们将NULL放入会话后,之前的映射对象不会同时被销毁,你们将从映射中删除它


c每次放置新对象时,如果HashMap对于高负载系统来说太昂贵,无法保存在会话上下文中。

完全不需要在建议a中设置回上下文。它不是PHP之类的。至于你的具体问题,运行一个分析器。