#千峰逆战班,拼搏永向前#

总结一波:
1,JDBC引入解耦方式
工厂模式
将编译器依赖变为运行时依赖
配置文件

2,传统三层结构面临的问题
new 关键字的使用

3,自定义Spring容器
将对象创建交给Spring容器进行管理
Spring容器:反射+xml解析+工厂模式

①,需要将要创建的对象的信息保存到xml配置文件中

配置一个bean标签就对应有一个对象
②,在自定义Spring容器初始化的时候,将xml文件解析
将解析到的对象信息保存到map集合中
③,根据这些保存的信息使用反射创建对象,
④,提供一个方法对外提供这些对象

4,自定义Spring容器优化版

①,需要将要创建的对象的信息保存到xml配置文件中

②,在自定义Spring容器初始化的时候,将xml文件解析

③,根据解析到信息创建对象,并把对象保存到map集合

④,提供一个方法对外提供这些对象

5,自定义Spring容器的使用
初始化spring容器
getBean

6,IoC控制反转
资源的控制权反转了!!!
没有使用Spring容器之前,资源的控制权在java程序手上
使用spring容器之后,资源的控制权到spring容器手上了!!

单例模式
①,私有化构造方法
②,声明本类对象,并使用private static修饰
③,提供一个对外访问方法




重点:
7,饿汉单例设计模式 11111
效率高
浪费内存
不支持懒加载
线程安全
推荐开发中使用

8,静态内部类单例设计模式 11111
静态内部类:不随着外部类的加载而加载
效率高
节省内存
支持懒加载
线程安全
推荐开发中使用

9,懒汉单例设计模式
效率较高
节省内存
支持懒加载
线程不安全(第一次创建对象)
不推荐开发中使用

10,同步懒汉单例设计模式
效率非常低
节省内存
支持懒加载
线程安全(所有的场景都是线程安全)
不推荐开发中使用

11,双重校验单例设计模式 11111
效率高
节省内存
支持懒加载
线程安全(第一次创建线程安全,后续压根不需要线程安全)
推荐开发中使用

12,以上单例设计模式还存在的问题
无法避免反射攻击和序列化攻击

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值