模式问题:singleton单体是什么?怎么用? 早两天遇到一道singleton的问题。请问什么是singleton?常量是不是单体?主要是想问怎么用,什么时候用,为什么要用? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 对于一个类,只存在一个实例称为singleton模式.特点是构造方法是private的.只希望有一个实例的场合使用(费话).如:同一时刻只希望运行一个窗口程序. 有几种实现方法,Google搜索可以找到至于为什么要使用:1,某些重量级的对象,多次被实例化耗费资源严重,这样就需要一个单体机制来控制;2,共享对象,保存了公用的数据,不过要注意使用互斥访问机制;3,暂时也就想到这么多了,请补充 singleton模式的目的是保持封装类在运行期只有一个实例,例如我们写一个Log工具类,便希望他只有一个实例。下面这个是封装singleton模式的代码:public final calss Log{ private Log() {} //保证不可能在外部生成实例} singleton模式的目的是保持封装类在运行期只有一个实例,例如我们写一个Log工具类,便希望他只有一个实例。下面这个是封装singleton模式的代码:public final calss Log{ private static Log log; private Log() {} //保证不可能在外部生成实例 //自己生成实例,注意多线程问题 public synchronized static Log getDefault(){ if(log == null) log = new Log(); return log; }} 面试中遇到的一个问题 int类型的-17 转换成2进制数是多少? 匿名内部类的语法小问题 请问调用那个方法能够锁住电脑屏幕 主菜单与子菜单的连接 新手问题 关于JVM和JRE 请各位高手进来看看 如何在Oracle里存取文件 使用Java 关于运行期类型坚定的问题 有用过textpad的吗? 从XML中取出的值为一个换行符和空隔的组合(如:“\n ”),怎么对它进行判断啊! 关于多个数据表SQL查询分页问题
1,某些重量级的对象,多次被实例化耗费资源严重,这样就需要一个单体机制来控制;
2,共享对象,保存了公用的数据,不过要注意使用互斥访问机制;
3,暂时也就想到这么多了,请补充
下面这个是封装singleton模式的代码:
public final calss Log{
private Log() {} //保证不可能在外部生成实例}
下面这个是封装singleton模式的代码:
public final calss Log{
private static Log log; private Log() {} //保证不可能在外部生成实例 //自己生成实例,注意多线程问题
public synchronized static Log getDefault(){
if(log == null)
log = new Log();
return log;
}}