Java 如何创建要通过应用程序访问的类实例

Java 如何创建要通过应用程序访问的类实例,java,Java,我有一个util类,其中没有访问会话对象的权限。我只想在登录时初始化这个util类一次,并希望在整个应用程序中获得该实例 在这里,每个用户都需要有自己的util类实例来实现这一点 请帮帮我你在找什么 用这个怎么样。然后,您可以将参数传递给factory方法,并为每个用户返回一个新实例。我同意@GanGnaMStYleOverFlow关于singleton的说法,但希望提供更好的实现版本: public class MyClass { private static MyClass inst

我有一个util
,其中没有访问会话对象的权限。我只想在
登录时初始化这个util类一次,并希望在整个应用程序中获得该实例

在这里,每个用户都需要有自己的util类实例来实现这一点

请帮帮我你在找什么


用这个怎么样。然后,您可以将参数传递给factory方法,并为每个用户返回一个新实例。

我同意@GanGnaMStYleOverFlow关于singleton的说法,但希望提供更好的实现版本:

public class MyClass {
    private static MyClass instance;
    private MyClass() {}

    public static synchronized MyClass getInstance() { 
        if (instance != null) {
            instance = new MyClass();
        }
        return new MyClass();
    }
}

无法直接实例化此类,因为构造函数是私有的。无法创建此类的2个实例,因为它由
getInstance()
管理。此实现是线程安全的,因为
getInstance()
是否已同步

如果我创建一个单例,则所有用户都只能使用一个实例。在这里,我希望在每个用户登录到application@user1815754你的用户会在不同的会话中吗?我从来没有使用过他们,但可能解决方案是在会话跟踪上。@GanGnaMStYleOverFlow是的,它们会在不同的会话中,对于不同的会话,我希望该util类有不同的实例在登录时向其传递任何必需的信息,将其放入会话(或应用程序)上下文中;不清楚是每个用户还是每个应用程序。我不明白问题是什么。正确的解决方案取决于环境。它是一个独立的应用程序,一个JavaEE应用程序吗?它是一个JavaEE应用程序@DaveNewton-这是每个用户,而不是每个application@user1815754你能把申请的全部内容都贴出来吗?您可以使用很多选项,但要推荐一个选项,我们需要知道您正在处理的是什么以及限制您使用的是什么。my util类仅接受金额值,它将根据用户计算金额(用户信息需要在登录应用程序时存储在该util类中)与需要的所有其他用户utill类新实例相同,但我不想要单例模式。我的util类只接受amount值,它将根据用户(登录到应用程序时需要存储在该util类中的用户信息)计算金额,与需要的所有其他用户utill类新实例相同
public class MyClass {
    private static MyClass instance;
    private MyClass() {}

    public static synchronized MyClass getInstance() { 
        if (instance != null) {
            instance = new MyClass();
        }
        return new MyClass();
    }
}