java模式之单例
懒汉式:需要实例的时候new
public class Singleton_Lazy {
private static Singleton_Lazy mSingleton;
private Singleton_Lazy (){}
private static Singleton_Lazy getInstance(){
if(mSingleton == null){
mSingleton = new Singleton_Lazy();
}
return mSingleton;
}
}
饿汉式:类转载的时候就实例化注意关键字static
public class Singleton_hungry {
private static Singleton_hungry instance = new Singleton_hungry();
private Singleton_hungry(){ }
public static Singleton_hungry getInstance(){
return instance;
}
}
内部静态类:(推荐这种方法,安全,且按需创建实例)
public class Singleton_innerStaticClass {
private static class SingletonHolder {
private static final Singleton_innerStaticClass INSTANCE = new Singleton_innerStaticClass();
}
private Singleton_innerStaticClass(){ }
public static final Singleton_innerStaticClass getInstance(){
return SingletonHolder.INSTANCE;
}
}
最新文章
- Microsoft SQL Server Compact 4.0&;&;ADO.NET Entity Framework 4.1&;&;MVC3
- Apache 反向代理实现为http添加https的外衣
- DevExpress使用教程合集
- js中 map 遍历数组
- ecshop后台增加模块菜单详细教程(图)
- 企业服务总线Enterprise service bus介绍
- phpmyadmi 上传大文件
- Checkbox框全选操作,form表单提交与jquery ajax提交两种处理方式
- js判断浏览器类型 js判断ie6不执行
- Xcode6中自动布局autolayout和sizeclass的使用
- mybatis源代码分析:深入了解mybatis延迟加载机制
- poj 1887 Testing the CATCHER_最长上升子序列
- 动画(Animation) 它 (闪烁、左右摇摆、跷跷板等功效)
- 洛谷U19464 山村游历(Wander)(LCT,Splay)
- 动画:UIViewAnimationOptions类型
- java调用kettle的job和transfer工具类
- warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
- gpu相关
- String与StringBuffer之间的转换
- 【Java编码规范】《阿里巴巴Java开发手册(正式版)》【转载】