当前位置: 首页 > 知识库问答 >
问题:

java double double check单例实例错误

高奇
2023-03-14

我试图实现双重检查,但得到这个错误。

static UserPayments singletonInstance;

public static volatile UserPayments getSingletonInstance(){
if (null == singletonInstance) {
    synchronized (UserPayments.class){
        if (null == singletonInstance){
            singletonInstance = new UserPayments();
        }
    }
}
return singletonInstance;

}

方法GetSingletonInstance的非法修饰符;只允许public,protected,private,abstract,static,final,synchronized,native和

共有1个答案

郎建章
2023-03-14

Volatile不能用于方法,只能用于字段。

根据Java语言规范:

8.3.1.4.易失性场

[...]

Java编程语言提供了第二种机制,即volatile字段,它在某些方面比锁定更方便。

因此,您可以用volatile标记实际字段singletoninstance,但不标记检索实例的方法。

 类似资料:
  • 1、宽度或者高度限制 minWidth、minHeight、maxWidth以及maxHeight选项允许你设置选区的范围。在这个例子中,图像的最大范围将限制为200x150px。 $(document).ready(function () {   $('#ladybug_ant').imgAreaSelect({ maxWidth: 200, maxHeight: 150, handles:

  • 实例账单即完整的虚拟机实例的账单总和。 实例账单即完整的虚拟机实例的账单总和。一个实例账单包含完整的虚拟机以及关联资源(如磁盘、GPU卡)的费用总和。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “费用/账单/实例账单” 菜单项,进入实例账单信息。 查看实例账单 该功能用于查看实例账单,并支持通过筛选条件导出对应的实例账单。 在实例账单列表,默认显示近本月的实例账单,支持单击顶部

  • 本文向大家介绍Lua中简单的错误处理实例,包括了Lua中简单的错误处理实例的使用技巧和注意事项,需要的朋友参考一下 昨天遇到另外一位独立游戏开发者,所以多聊了一会,然后…然后就没有看书了。(小若:借口!借口!)   今天来聊聊错误处理吧,不过毕竟这只是前面的章节,书上的内容似乎有点一笔带过的味道。 没关系,简单更好~ 1.红色警报——error 我们应该能经常看到类似以下的错误信息: 这是在发生错

  • 在ASP.NET核心依赖项注入中,我只是想知道注册实例是否会比注册实例更好地提高性能? 在我看来,对于实例,只需要花费一次创建新对象和依赖对象的时间。对于实例,将对每个服务请求重复此代价。所以似乎更好。但是,使用比使用能获得多大的性能?提前谢谢!

  • 本文向大家介绍JavaScript实现单例模式实例分享,包括了JavaScript实现单例模式实例分享的使用技巧和注意事项,需要的朋友参考一下 传统单例模式 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 实现单例核心思想 无非是用一个变量来标志当前是否已经为某个类创建过对象,如果是,则在下一次获取该类的实例时,直接返回之前创建的对象,接下来我们用JavaScript来强行实现这个思路,请

  • 本文向大家介绍Java WebService 简单实例(附实例代码),包括了Java WebService 简单实例(附实例代码)的使用技巧和注意事项,需要的朋友参考一下 前言:朋友们开始以下教程前,请先看第五大点的注意事项,以避免不必要的重复操作。  一、准备工作(以下为本实例使用工具) 1、MyEclipse10.7.1 2、JDK 1.6.0_22  二、创建服务端 1、创建【Web Ser