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

总结一波:
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,以上单例设计模式还存在的问题
无法避免反射攻击和序列化攻击

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值