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单例模式开发的7中写法,网上搜索的,可以看看
【Java面试题】单例的写法
自己总结的6中单例模式的写法,也有测试类,可以试验下,自己稍微修改一下后,验证安全性,纯粹为学习,建议可提
在java中,单例有很多种写法,面试时,手写代码环节,除了写算法题,有时候也会让手写单例模式,这里记录一下单例的几种写法和优缺点。需要的朋友可以参考下
深入分析java单例模式什么是单例模式单例模式的常见写法一、饿汉式单例优点缺点示例二、懒汉式单例示例1(普通写法)示例2(synchronized写法)示例3(DCL写法)示例4(内部类写法)三、注册式单例示例1(容器式)示例2(枚举式...
此文档为Tom老师的公开课的单例的7种写法的一个文档,充分分析单例模式,值得对设计模式有研究的童鞋下下来好好看看
第一种(懒汉,线程不安全): 1 public class Singleton { 2 private static Singleton ... 5 if (instance == null) { 6 instance = new Singleton(); 7 } 8 return instance;
主要给大家介绍了关于Java版的7种单例模式写法,文中通过示例代码介绍的非常详细,对大家学习或者使用Java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
2、单例类必须自己创建自己的唯一实例 3、单例类必须给所有其他对象提供这一实例 2、资源加载和性能:饿汉式在类创建的同时就实例化一个静态对象出来,不管之后会不会
这个问题由开始使用JACKSON JSON而衍生出来,因为官网上建议将ObjectMapper作为全局变量使用从而提高效率,所以,我们项目里面使用了单例,在使用单例的时候,我们无可厚非的考虑了资源在使用时是否要保证互斥的情况...
1、掌握单例模式的应用场景。 2、掌握 IDEA 环境下的多线程调试方式。 3、掌握保证线程安全的单例模式策略。 4、掌握反射暴力攻击单例解决方案...5、序列化破坏单例的原理及解决方案。 6、掌握常见的单例模式写法。
饿汉式单例java实现kotlin实现非线程安全的懒汉式单例java实现kotlin实现//下面是另一种等价的写法, 获取单例使用 get 方法fun get
一般单例都是五种写法:懒汉,饿汉,双重校验锁,静态内部类和枚举。本文整理了几种常见的单例写法,下面跟着小编一起来看下吧
二、 Java语法基础 5 数据类型 5 运算符号 14 语句 15 函数 15 方法重载(Overloadjing)与重写(Overriding) 16 数组 17 总结 18 三、 常见关键字 20 四、 面向对象★★★★★ 21 五、 封装(面向对象特征之一)★...
java单例模式的6种写法和演化 饿汉模式,懒汉模式,双重校验锁模式,静态内部类模式,静态代码块模式和枚举模式
1.写出知道的所有单例模式的写法 2.整数的二进制找出有几个1,效率要求最高 3.会场安排问题 4.如何用两个栈模拟一个队列 (前面四道考了快40分钟了) 5.TCP三次握手的过程 6.http了解吗?(这道我直接说没有深入研究...
js的单例写法 JS单例模式 div{height:100px; width:100px; background:#CCC; border:#000 1px solid;} 你是?(单例) 你是?(普通) [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] loop.js是一个单例模式的...
目前java中的单例模式有多种写法,kotlin中的写法更多一点,下面这篇文章主要给大家介绍了关于Kotlin中单例模式和Java对比的相关资料,会总结全部的到单例模式写法,需要的朋友可以参考下
本文对Java中常见的单例模式写法做了一个总结,如有错漏之处,恳请读者指正。 饿汉法 顾名思义,饿汉法就是在第一次引用该类的时候就创建对象实例,而不管实际是否需要创建。代码如下: public class Singleton { ...