Java(2)--单例模式
2015-09-24 18:00
344 查看
想要保证对象唯一。
1,为了避免其他程序过多建立该类对象。先禁止其他程序建立该类对象
2,还为了让其他程序可以访问到该类对象,只好在本类中,自定义一个对象。
3,为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式。
这三部怎么用代码体现呢?
1,将构造函数私有化。
2,在类中创建一个私有的本类对象。
3,提供一个用类名调用的共有的方法可以获取到该对象。
单例模式的两种建立方法
//饿汉式:
class single{
private static single s = new single(); //在类里直接初始化一个类对象
private single(){
}
public static single getInstance(){
return s ;
}
}
//懒汉式:
class single{
private staic single s=null;
private single(){
}
public static single getInstance(){
if(s==null ){
synchronized(single. class){
if(s==null){
s=new single();
}
}
}
return s;
}
}
single s =single .getInstance();
饿汉式与懒汉式单例模式的最大区别在于:懒汉式先不赋值,等到使用时再延时加载。
建议使用饿汉式。
1,为了避免其他程序过多建立该类对象。先禁止其他程序建立该类对象
2,还为了让其他程序可以访问到该类对象,只好在本类中,自定义一个对象。
3,为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式。
这三部怎么用代码体现呢?
1,将构造函数私有化。
2,在类中创建一个私有的本类对象。
3,提供一个用类名调用的共有的方法可以获取到该对象。
单例模式的两种建立方法
//饿汉式:
class single{
private static single s = new single(); //在类里直接初始化一个类对象
private single(){
}
public static single getInstance(){
return s ;
}
}
//懒汉式:
class single{
private staic single s=null;
private single(){
}
public static single getInstance(){
if(s==null ){
synchronized(single. class){
if(s==null){
s=new single();
}
}
}
return s;
}
}
single s =single .getInstance();
饿汉式与懒汉式单例模式的最大区别在于:懒汉式先不赋值,等到使用时再延时加载。
建议使用饿汉式。
相关文章推荐
- Java之旅Spring框架学习(1)——掀起你的盖头来
- JAVA中常用的正则的一些案例分析
- Java的四种引用,强弱软虚,用到的场景
- [Spring]Spring AOP学习笔记(4)--Spring 事务
- JAVA中注解的简单使用
- Java中的反射机制 一个利用反射进行对象拷贝的例子
- 第一章 Java Web工作原理
- java get,post 请求
- java中的split函数用法
- jd -eclipse 放到eclipse 中进行自动反编译
- java线性查找、二分查找(2015年9月23日)
- SSH整合 简单的增删改查
- 第12章 Java内存模型与线程
- Ubuntu14.04安装JDK与配置环境变量
- 数字可以为正数或负数(可以含有小数点) java
- 得到JAVA项目根文件夹
- Java序列化与反序列化的几种方式
- eclipse下搭建SSH整合环境(Struts2+Spri 4000 ng+Hibernate+maven)
- springMVC教程中级(四)Controller中级篇1(回传、批量)
- Struts-文件上传