小编use*_*553的帖子

在 Java 中创建静态单例模式

我正在创建一个实用程序类,它将用于(除其他外)创建一个org.mozilla.javascript.Context绑定到当前线程的新对象。我有一个单一的全局 JavaScript 范围,它可能有几个导入/初始化语句等。

我希望外部类能够通过简单地使用Utility.getContext()and来检索 Context 对象和 Scope 对象以供将来执行Utility.getScope(),而不必显式使用该getInstance()函数。单例模式是必要的,因为上下文和范围都需要是单个实例。

下面的代码有意义吗?

public class Utility {
    private static Utility instance;
    private static ScriptableObject scope = null;

    private Utility() {}

    private static Utility getInstance() {
        synchronized (Utility.class) {
            if (instance == null)
                instance = new Utility();
            return instance;
        }
    }

    private static Context getSingletonContext() {
        Context context = Context.getCurrentContext();
        if (context == null)
            context = Context.enter();
        if (scope == null) {
            scope = new ImporterTopLevel(context);
            Script …
Run Code Online (Sandbox Code Playgroud)

javascript java singleton scope

1
推荐指数
1
解决办法
300
查看次数

标签 统计

java ×1

javascript ×1

scope ×1

singleton ×1