java单例
2015-09-04 16:55
351 查看
public class Singleton { //单例懒汉模式 private static Singleton instance = null; //实例不能通过new获得,只能通过类方法获得,因此方法要加static //静态方法只能访问静态属性,所以instance也用static修饰 private Singleton(){} //构造方法设为private,外部类不能通过new实例化这个类 public static synchronized Singleton getInstance() //定义一个获得实例的方法,外部类通过该方法获取单例类的实例,类方法加static { //synchronized是为了线程安全保证一次只能有一个线程访问 if(instance == null) { instance = new Singleton(); } return instance; } } class SingletonTest{ public static void main(String[] args) { Singleton s1 = Singleton.getInstance(); Singleton s2 = Singleton.getInstance(); System.out.println(s1 == s2); } } class Singleton2{ //饿汉方式 private static Singleton2 instance = new Singleton2(); private Singleton2(){} public static Singleton2 getInstance() { return instance; } }
相关文章推荐
- 深入理解Java中的HashMap的实现原理
- Struts2 part6:数据校验
- io心得
- Java线程池简单了解
- javaIO继承关系
- java 类,基本类型,反射,内省
- spring的声明式事务
- 线程心得
- Java判断两个时间段是否有交集
- 集合心得
- java基础经典问题String str=new String("abc")和String str="abc"
- Java中Runnable和Thread的区别
- CCF-最大的矩形-201312-3
- java版 利用栈实现括号匹配
- CCF-ISBN号码-201312-2
- java获取文件后缀名
- CCF-出现次数最多的数-201312-1
- 注解SpringMVC
- CCF-相反数-201403-1
- Java线程状态图!