Java 将使用volatile impact app';安卓系统的性能如何?
我正在尝试将我的模块实例设置为singleton。在这里,它谈到了实现单例实例创建的各种方法,还谈到了破坏的双重检查锁定以及使用volatile避免这种情况的方法 在阅读了更多关于volatile的内容后,线程似乎永远不会缓存这个变量,而是总是从主内存中读取它的计算。如果我使用volatile关键字实现我的单例,我的应用程序会受到性能的影响,因为它总是从主内存读取数据 有以下疑问,Java 将使用volatile impact app';安卓系统的性能如何?,java,android,singleton,volatile,Java,Android,Singleton,Volatile,我正在尝试将我的模块实例设置为singleton。在这里,它谈到了实现单例实例创建的各种方法,还谈到了破坏的双重检查锁定以及使用volatile避免这种情况的方法 在阅读了更多关于volatile的内容后,线程似乎永远不会缓存这个变量,而是总是从主内存中读取它的计算。如果我使用volatile关键字实现我的单例,我的应用程序会受到性能的影响,因为它总是从主内存读取数据 有以下疑问, 线程本地内存将驻留在哪里?它们是一级缓存、二级缓存还是三级缓存 如果我使用volatile实现我的单例,这意味着
private static volatile ResourceService resourceInstance;
//lazy Initialiaztion
public static ResourceService getInstance () {
if (resourceInstance == null) { // first check
synchronized(ResourceService.class) {
if (resourceInstance == null) { // double check
// creating instance of ResourceService for only one time
resourceInstance = new ResourceService ();
}
}
}
return resourceInstance;
}