Java5种单例写法。
public class Resource {
/**
* 直接初始化
* **/
private static Resource resource_static = new Resource();
public static Resource getResourceInstanceStatic(){
return resource_static;
}
/**
* 利用synchronized来实现的线程安全
* **/
private static Resource resource_synchronized = null;
public static synchronized Resource getResourceInstanceSynchronized(){
if(null==resource_synchronized){
resource_synchronized = new Resource();
}
return resource_synchronized;
}
/**
* 利用JVM本身类加载机制实现的lazy初始化
* **/
private static class ResourceHolder{
public static Resource resource = new Resource();
}
public static Resource getResourceInstanceClass(){
return ResourceHolder.resource;
}
/**
* DCL double check locking
* 线程不安全 不推荐
* **/
private static Resource resource_dcl = null;
public static Resource getResourceInstanceDCL(){
if(null==resource_dcl){
synchronized(Resource.class){
if(null==resource_dcl){
resource_dcl = new Resource();
}
}
}
return resource_dcl;
}
/**
* 线程不安全 不推荐
* **/
private static Resource resource_unsafe = null;
public static Resource getResourceInstanceUnSafe(){
if(null==resource_unsafe){
resource_unsafe = new Resource();
}
return resource_unsafe;
}
}
分享到:
相关推荐
在Java、C#等面向对象语言中,单例模式被广泛应用,尤其是在需要频繁创建和销毁的对象,或者需要全局访问点的情况下。 ### 1. 懒汉模式(Lazy Initialization) 懒汉模式是在第一次需要使用单例时才进行实例化,...
### Java单例模式开发的七种写法 #### 概述 单例模式是一种常用的软件设计模式,其目的是确保一个类仅有一个实例,并提供一个全局访问点。在Java编程语言中,实现单例模式的方法有很多种,不同的实现方式具有不同的...
在Java中,实现单例模式有多种方法,每种方法都有其特点和适用场景。以下是对这六种常见单例模式实现方式的详细解释: 1. **饿汉式(静态常量)** 这是最简单的单例实现,它在类加载时就创建了实例,线程安全。 `...
详解java中的6种单例写法及优缺点 在 Java 中,单例是一种常用的设计模式,它可以确保一个类只有一个实例,并提供一个全局访问点来访问该实例。单例模式可以应用于各种场景,如数据库连接池、日志记录器、线程池等...
在 Java 中,单例模式的写法有好几种,主要有懒汉式单例、饿汉式单例、登记式单例等。 懒汉式单例是一种常见的单例模式实现方式,它在第一次调用的时候实例化自己。下面是懒汉式单例的四种写法: 1、基本懒汉式...
【Java面试题】单例的写法
枚举单例写法简洁,能够避免反射破坏单例的问题,并且它还能够防止反序列化重新创建新的实例。使用枚举实现单例模式时,Java虚拟机会保证枚举类型中的字段只被实例化一次。 在Java的单例模式实现中,内部类也是一个...
### JavaSE单例模式的各种实现方法 #### 一、懒汉式(线程不安全) **定义:** 懒汉式单例模式是最简单的实现方式之一,它的特点是第一次被调用时才实例化对象。 **代码示例:** ```java public class ...
单例模式是软件设计模式中的一种经典模式,用于确保一个类只有一个实例,并提供一个全局访问点。这种模式在很多场景下都非常有用,比如控制数据库连接、管理缓存或者全局配置等。下面我们将详细探讨单例模式的七种...
Java中的单例模式是一种设计模式,它用于保证一个类在整个应用程序中只能有一个实例存在。这样做的目的是为了控制实例化过程,避免多个实例间的资源冲突,同时提供全局访问点。单例模式属于创建型设计模式,它在软件...
5. 在Java中,volatile关键字可以用来保证并发编程中的可见性和有序性,对于实现单例模式尤为重要。 理解并掌握这些单例模式的实现方式,有助于我们在实际开发中根据具体需求选择最合适的单例实现,提升代码的效率...
Java设计模式单例模式(Singleton)用法解析 java设计模式单例模式(Singleton)是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局反访问点。...单例模式在生活中应用也很广泛,JAVA中也有许多应用。
2、单例类必须自己创建自己的唯一实例 3、单例类必须给所有其他对象提供这一实例 2、资源加载和性能:饿汉式在类创建的同时就实例化一个静态对象出来,不管之后会不会
这个问题由开始使用JACKSON JSON而衍生出来,因为官网上建议将ObjectMapper作为全局变量使用从而提高效率,所以,我们项目里面使用了单例,在使用单例的时候,我们无可厚非的考虑了资源在使用时是否要保证互斥的情况...