7.18_java学习_单例设计模式
来源:互联网 发布:端口号范围 编辑:程序博客网 时间:2024/06/05 22:56
一:new初始化过程
Person p = new Person() 的执行过程
1.加载Person,class文件到内存中;
2.执行类中的静态的初始化
3.堆中开辟空间,分配地址;
4.建立属性,属性默认初始化;
5.对属性显示初始化(及刚开始定义属性时赋值)
6.对对象进行构造代码初始化;
7.对对象进行函数初始化;
8.将地址赋给栈中内存中的变量;
二,设计模式——单例设计模式
1.意义:解决一个类只能实例化一个对象‘
2.,过程:(1)先控制其他程序建立对象构造函数加private关键字
(2)还要建立一个对象,只有在本类中建立对象、
(3)提供访问方法。
3.提供两种解决方法(1)饿汉式(工程中常用方法)(2)懒汉式(工程中不用,面试常考)
/*饿汉式特点:安全,简单。先初始化对象;*/class Single {private Single(){}private static Single s =new Single();public static Single getInstance(){return s;}}/*懒汉式特点:不安全,对象时方法调用时初始化,也叫延时加载。*/class Single{private Single(){}private static Single s = null;public static Single getINstance(){if(s == null)s = new Single(); return s;}}/*懒汉式——安全解决方式一:函数加锁特点:效率低(每次访问进行判断)*/class Single{private Single(){}private static Single s = null;public static synchronized Single getINstance(){if(s == null)s = new Single(); return s;}}/*懒汉式——安全解决方式二:过程加锁特点:只判断一次
*/class Single{private Single(){}private static Single s = null;public static Single getINstance(){if(s == null){synchronized(single.class){if(a == null)s = new Single();}}return s;}}
0 0
- 7.18_java学习_单例设计模式
- 黑马程序员_JAVA学习日志3_单例设计模式
- 05_Java基础_泛型+单例设计模式+多线程
- 8.2_java学习_装饰设计模式
- java设计模式_单例模式_学习笔记
- 黑马程序员_java 单例设计模式
- 黑马程序员_java单例设计模式
- 黑马程序员_JAVA单例设计模式
- 黑马程序员_JAVA 单例设计模式
- 黑马程序员_JAVA 单例设计模式
- 黑马程序员_JAVA单例设计模式
- 黑马程序员_Java基础_线程基础,创建,同步(单例设计模式的同步),死锁
- 【JavaEE学习笔记】设计模式_单例模式
- 黑马程序员_Java设计模式之单例设计模式
- 黑马程序员_Java设计模式-单例设计模式
- 设计模式_单例
- 设计模式_单例设计模式
- 黑马程序员_JAVA基础_单例模式
- 手工添加F4
- activity回传数据
- 数据错误(循环冗余检查) 各种解决方法
- PyQt: LineEdit的智能输入提示
- 提高MySQL效率与性能的技巧
- 7.18_java学习_单例设计模式
- html页面禁止缓存
- Web 服务器压力测试实例详解
- 数据库系统、衡量标准与No-sql定位
- oracle 命令收集
- 黑马程序员--7k之交通灯管理系统
- Qt: 释放窗口资源
- 关于有重边的强连通分量
- CDockablePane停靠窗口关联对话框