A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小柴 中级黑马   /  2014-6-6 09:58  /  1594 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在毕老师的视频中, 单例懒汉式与饿汉式只在多线程中涉及!   请懂得大神,帮忙解释下懒汉式与饿汉式和他们的用途???谢谢!

12 个回复

正序浏览

谢谢,大家关照!提问结束了!!!
回复 使用道具 举报

单例:将构造函数private

  1. public class Single{
  2.   private static final Single s = new Single();
  3.   private Single(){ };
  4.   public static Single getInstance(){
  5.   return s;}}
  6.  public class Single{
  7.   private static Single s = null;
  8.   private Single(){}
  9.   public static Single getInstance(){
  10.   if(s==null){
  11.   synchronized(Single.class){
  12.   if(s==null) s=new Single();}}
  13.   return s;}}
复制代码
回复 使用道具 举报
复习一下。免得以后忘记了
回复 使用道具 举报
我来学习了!!!!!!!!!!
回复 使用道具 举报
来围观看看
回复 使用道具 举报
学习了,很强大哈,
回复 使用道具 举报
谢谢啊!这下明白了!
回复 使用道具 举报
主要为了让对象只实例化一次,饿汉式可以是多线程的,多线程情况下保证对象只实例化一次
回复 使用道具 举报
这种问题怎么老有人问,你多看两遍视频,不懂来找我
回复 使用道具 举报 1 0
单例设计模式:
  饿汉式:public class Single{
  private static final Single s = new Single();
  private Single(){ };
  public static Single getInstance(){
  return s;}}
  懒汉式:public class Single{
  private static Single s = null;
  private Single(){}
  public static Single getInstance(){
  if(s==null){
  synchronized(Single.class){
  if(s==null) s=new Single();}}
  return s;}}
其中懒汉式又称为延迟加载,在具体用到时再实例化。
而饿汉式是类一加载对象就已存在,在实际开发中建议使用饿汉式,不过一般考试会考懒汉式
回复 使用道具 举报 3 0
能用代码说明下吗?:handshake
回复 使用道具 举报 1 1
单例设计模式,目的是为了让该对象只实例化一次,例如,在读取配置文件的时候 ,只需要读一次 ,就可以通过单例设计模式,让该配置文件只读取一次就够了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马