`
Riddick
  • 浏览: 632915 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

简单且线程安全的两个java单例类

阅读更多

======================================================================

public class Singleton {   
  
    private static  Singleton instance = new Singleton();   
  
    private Singleton(){
  
    }   
  
    public static Singleton getInstance(){   
  
        return instance;   
  
    }   
} 

 

======================================================================

/**  
 * 单例模式创新!google的ioc作者写的。只有在调用的时候才会初始化!而且线程安全  
 * 超级牛!  
 */  
  
public class Singleton {   
  
    static class SingletonHolder {   
  
        static Singleton instance = new Singleton();   
  
    }   
  
    public static Singleton getInstance() {   
  
        return SingletonHolder.instance;   
  
    }   
}  

 

分享到:
评论

相关推荐

    使用Java单例模式实现一个简单的登录验证系统.txt

    这个代码实现了一个简单的登录验证系统。首先定义了一个LoginSystem类,用来表示登录验证系统,包括用户名和密码两...由于单例模式保证了只有一个LoginSystem对象存在,因此可以避免多个线程同时访问同一个实例的问题。

    Java单例模式.docx

    o意:两个校验都必须加,如果第二个没有加校验,当两个线程都通过了第一个if校验,此时会有一个线程进入同步代码块,创建singleton实例,接着第二个线程也会进入同步代码块,并会在创建一个singleton。那么这样就...

    单例模式,属于创建类型的一种常用的软件设计模式 通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中

    懒汉式—线程不安全:最基础的实现方式,线程上下文单例,不需要共享给所有线程,也不需要加synchronize之类的锁,以提高性能。 懒汉式—线程安全:加上synchronize之类保证线程安全的基础上的懒汉模式,相对性能很...

    Java多线程下的单例模式参考

    主要演示多线程下的单例模式,分别演示了lock和synchronized两种方案,希望能给大家做一个参考。

    深入分析Java单例模式的各种方案

    然后除此者外更重要的是,这个类如果有两个或两个以上的实例的话程序会产生错误。  非线程安全的模式 public class Singleton { private static Singleton instance; private Singleton(){ } public static ...

    Java多线程中的单例模式两种实现方式

    主要介绍了Java多线程中的单例模式两种实现方式的相关资料,需要的朋友可以参考下

    Objective C 单例模式设计源码

    顾名思义,单例模式的特点就是保证一个类仅有一个实例。因为这个模式只和一个类有关,没有类与类之间的关系,所有就不给出图示了。那么还是先说一下基本的定义。 单例模式(Singleton),保证一个类仅有一个实例,并...

    java核心面试技术点

    线程 单例模式下的线程安全http://blog.sina.com.cn/s/blog_75247c770100yxpb.html map集合 集合数据结构及方法的使用 多线程 线程进程 线程状态 线程状态的改变 sql :临时表、游标、存贮过程、触发机制...

    java核心面试

    线程 单例模式下的线程安全http://blog.sina.com.cn/s/blog_75247c770100yxpb.html map集合 集合数据结构及方法的使用 多线程 线程进程 线程状态 线程状态的改变 sql :临时表、游标、存贮过程、触发机制...

    java 面试题 总结

    Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,...

    疯狂JAVA讲义

    学生提问:使用组合关系来实现复用时,需要创建两个Animal对象,是不是意味着使用组合关系时系统开销更大? 159 5.9 初始化块 159 5.9.1 使用初始化块 160 5.9.2 初始化块和构造器 161 5.9.3 静态初始化块 162 ...

    超级有影响力霸气的Java面试题大全文档

     Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,...

    实战Java高并发程序设计(第2版)PPT模板.pptx

    1走入并行世界 1.1何去何从的并行计算 1.2你必须知道的几个概念 1.3并发级别 1.4有关并行的两个重要定律 1.5回到java:jmm 1.2你必须知道的几个概念 1.3并发级别 1.4有关并行的两个重要定律 1.5回到Java:JMM 实战...

    JAVA-SSH面试题

    struts1.2 Action是单例模式的并且必须是线程安全的,因为仅有一个Action的实例来处理所有的请求。 单例策略限制了Struts1.2 Action能做的事情,并且开发时特别小心。Action资源必须是线程安全的或同步的。 struts...

    java面试题

    3:让多个不相关的两个线程或进程之间实现通信 为什么要用spring? 答:1、主要将各个框架有效的联系起来,缩短实际编程时间。 2、可以将各个框架进行有效的管理和控制,让数据传输安全。 spring的IOC和DI? 答:...

    java面试800题

    Q0058 一个Java抽象类声明了一个方法并会抛出一个异常,问继承这个抽象类的子类,实现了这个方法,这个方法声明是不是一定要抛出一模一样的异常,可不可以不抛,或者抛出的异常比抽象类的异常范围大,或者小?...

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    【基础】一个".java"源文件中是否可以包含多个类(不是内部类)?有什么限制? 30 【基础】Anonymous Inner Class(匿名内部类)是否可以继承其它类?是否可以实现接口? 30 【基础】Java 中的final关键字有哪些用法?...

    java范例开发大全源代码

     实例1 开发第一个Java程序 7  第2章 Java基础类型与运算符(教学视频:39分钟) 9  2.1 基础类型 9  实例2 自动提升 9  实例3 自动转换 10  实例4 常用基础类型之强制转换 11  2.2 运算符 12 ...

Global site tag (gtag.js) - Google Analytics