草庐IT

singletons

全部标签

java - Android 上的 Dagger 2。存储和访问 @Singleton 组件的不同方式

这是关于如何存储生命周期应等于应用程序生命周期的@Singleton作用域Dagger2组件的第N个问题。在使用Dagger2的Android应用程序中,通常至少有一个Component是@Singleton范围的,并且应该在应用程序的整个生命周期中持续存在:由于这些要求,它通常被初始化并存储在自定义Application类中。因为这个组件的实例必须在我们应用程序的所有部分都可以访问,所以我见过这样的代码:1。将组件存储在应用程序类内的公共(public)静态变量中。publicclassAppextendsApplication{publicstaticAppComponentapp

具有内部类的 Java Singleton - 什么保证线程安全?

实现单例的一种常见(1、2)方法是使用带有静态成员的内部类:publicclassSingleton{privatestaticclassSingletonHolder{publicstaticfinalSingletoninstance=newSingleton();}publicstaticSingletongetInstance(){returnSingletonHolder.instance;}privateSingleton(){//...}}据说这个实现是延迟初始化和线程安全的。但是到底是什么保证了它的线程安全呢?JLS17处理线程和锁的文章没有提到静态字段具有任何类型的h

java - 我怎样才能拥有从 Java 中的抽象基类型派生的 Singleton?

我有一些用作单例的类。它们共享一些基本功能并从通常不用作单例的库中扩展相同的祖先。如果我将公共(public)功能放在一个从公共(public)祖先继承的基类中,我得到一个实例化没有意义的类,所以我把它抽象化了。此外,因为这些类都用作单例,所以它们都应该有一个init()和一个getInstance()方法,它们都是静态的。所有构造函数当然都是非公开的。现在,由于static是抽象方法的非法修饰符,因此以下内容不起作用,尽管这正是我想要的:classBaseextendsLibraryClass{protectedBase(){//...constructor}//...commonm

java - 如何初始化基于 Java 枚举的 Singleton?

如果我必须在使用该对象之前对其进行初始化,那么初始化基于java枚举的单例的正确方法是什么。我已经开始编写代码了,但我不确定我是否做对了。你能帮我实现这个适合我的单例吗?publicenumBitCheck{INSTANCE;privatestaticHashMapprops=null;publicsynchronizedvoidinitialize(HashMapproperties){if(props==null){props=properties;}}publicbooleanisAenabled(){return"Y".equalsIgnoreCase(props.get("A

Java Singleton vs static - 有真正的性能优势吗?

我正在合并一个CVS分支,其中一个较大的变化是用具有静态初始化block和所有静态方法的抽象类替换单例模式。这是值得保留的东西吗,因为它需要合并很多冲突,我会考虑什么样的情况才能让这种重构变得有值(value)?我们在Weblogic8.1(所以JDK1.4.2)下运行这个应用程序对不起,Thomas,让我澄清一下..HEAD版本具有传统的单例模式(私有(private)构造函数、getInstance()等)分支版本没有构造函数,是一个“公共(public)抽象类”,并将对象上的所有方法修改为“静态”。原来存在于私有(private)构造函数中的代码被移动到一个静态block中。然后

我们一起聊聊Java极简设计模式:单例模式(Singleton)

本章难度:★★☆☆☆本章重点:介绍创建Java单例对象的七种方式,重点掌握哪些创建方式是线程安全的,哪些方式是线程不安全的,并能够在实际项目中灵活运用设计模式,编写可维护的代码。大家好,我是冰河~~今天给大家介绍《Java极简设计模式》的第01章,单例设计模式(Singleton),多一句没有,少一句不行,用最简短的篇幅讲述设计模式最核心的知识,好了,开始今天的内容。单例设计模式看几个单例对象的示例代码,其中有些代码是线程安全的,有些则不是线程安全的,需要大家细细品味,这些代码也是冰河本人在高并发环境下测试验证过的。代码一:SingletonExample1这个类是懒汉模式,并且是线程不安全的

RuntimeError: The expanded size of the tensor must match the existing size at non-singleton dimensio

问题描述---------------------------------------------------------------------------RuntimeErrorTraceback(mostrecentcalllast)ipython-input-111-5fc6204e7ba4>inmodule>16forepochinrange(epochs):17optimizer.zero_grad()--->18pred=model(data)1920loss=loss_function(pred[data.train_mask],data.y[data.train_mask])

iphone - 替代 Objective-C 中的 Singleton 以获得更好的应用程序设计

现在似乎很多Objective-C代码都在使用Singleton。虽然很多人提示Singleton,例如谷歌(WhereHaveAlltheSingletonsGone?),他们的工程师同事们也使用它:http://code.google.com/mobile/analytics/docs/iphone/我知道我们已经在StackOverflow中找到了一些答案,但它们并不完全特定于作为动态语言的Objective-C:ObjectiveC有类别,而许多其他语言没有。那你怎么看呢?你还在用单例吗?如果是这样,您如何使您的应用程序更具可测试性?已更新:我认为我们需要以代码为例进行更具体的

iphone - 替代 Objective-C 中的 Singleton 以获得更好的应用程序设计

现在似乎很多Objective-C代码都在使用Singleton。虽然很多人提示Singleton,例如谷歌(WhereHaveAlltheSingletonsGone?),他们的工程师同事们也使用它:http://code.google.com/mobile/analytics/docs/iphone/我知道我们已经在StackOverflow中找到了一些答案,但它们并不完全特定于作为动态语言的Objective-C:ObjectiveC有类别,而许多其他语言没有。那你怎么看呢?你还在用单例吗?如果是这样,您如何使您的应用程序更具可测试性?已更新:我认为我们需要以代码为例进行更具体的

Avalonia 使用EFCore调用SQLite实现Singleton全局注册

Avalonia使用EFCore调用SQLite实现Singleton全局注册本篇博客是我的开源项目TerraMours.Chat.Ava的更新的记录分享,本次更新使用EntityFrameWorkCore调用SQLite,实现数据的本地化和查询的优化,删除了dbpross类(直接调用SQLite的操作类)。大大提高了代码的简洁度和易读性。通过全局注册的ChatDbcontext对象,是操作数据库变的非常方便。对项目感兴趣的同学可以到github上搜索TerraMours.Chat.Ava。希望通过该项目了解和学习Avalonia开发的朋友可以在我的github上拉取代码,同时希望大家多多点点