繁体   English   中英

jsf表达式语言(el)类函数的寿命范围

[英]jsf expression language (el) classes function life scope

el语言中使用的静态类的范围是什么?

我承担应用范围?

我在调试模式下对其进行了测试,并且该延迟加载属性仅在多个Windows浏览器中初始化一次。

private static Object[] objects = null;

public static Object[] getObjects()
{
    if(ElClass.objects == null)
        //init objects
    return ElClass.objects;
}

没有具体实例的手段。 EL函数类甚至没有构造。 EL功能旨在完全无状态。 静态变量在JVM范围(或您所称的应用程序范围)范围内。 在普通的Java代码中,您也只需要执行ELClass.getObjects()而不是new ELClass().getObjects()

对于您的特定示例,我建议仅在静态初始化程序块中进行初始化。 懒加载是不必要的。

private static final Object[] objects;

static {
    // Init objects.
}

public static Object[] getObjects() {
    return objects;
}

我还建议添加一个私有构造函数,以防止您可以构造函数类。

private ELClass() {
    // Prevent construction.
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM