两种单例模式的代码案例

来源:互联网 发布:nba球队数据统计排名 编辑:程序博客网 时间:2024/06/06 00:51

* 东北电力大学因特雷工作室版权所有
 * 开发项目组:因特雷工作室JAVA组开发
 * 网址:http://itl.nedu.edu.cn
 * JAVA组QQ开发群:37523769
 * 联系请注明!!!
 * 谢谢您的使用!!!!!!!
 * 文件创建时间:2009年 2009-12-7月 下午02:13:04日
 */
package com.amly.drp.sysmgr.manager;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;

import com.amly.drp.sysmgr.domain.User;
import com.amly.drp.util.DB;
import com.amly.drp.util.PageModel;

/**
 * 类创建时间:2009年 2009-12-7月 下午02:13:04日
 * @author Administrator
 *
 *  用户管理类
 */
public class UserManager {
 
 /**
  * 单例模式的使用场景:类中没有可以修改的成员变量(这个类没有状态),如果存在可以
  * 修改的成员变量会产生线程安全问题,不建议使用,单例模式无法继承,所以无法扩展,
  * 无法更换它的实现,如果读取配置文件比较适合使用单例。
  */
 
/* //饿汉式
 private static UserManager instance = new UserManager();
 
 private UserManager() {
  
 }
 
 public static UserManager getInstance() {
  return instance;
 }
 */
 
 //懒汉式(lazy)
 private static UserManager instance = null;
 
 private UserManager() {
  
 }
 
 public static synchronized UserManager getInstance() {
  if(instance == null) {
   instance = new UserManager();
  }
  return instance;
 }

}

原创粉丝点击