- 浏览: 24824 次
最新评论
文章列表
Spring bean初始化(2) - bean实例化
XmlBeanFactory bf = new XmlBeanFactory(new ClassPathResource("/spring-code-test.xml"));
// bean实例化是由getBean调用触发的
TestBean bean = (TestBean) bf.getBean("testbean");
上一节讲了上面的第一步,载入和解析xml,此步完成后,是将bean的定义转为BeanDefinition对象, getBean方法实 ...
Spring bean的初始化源码分析-XML解析
XML解析部分,XML解析最终会将XML中配置的bean或者标签需要扫描的bean,都准备好,生成beanDefinition,用于后续的bean实例化
XmlBeanFactory bf = new XmlBeanFactory(new ClassPathResource("/spring-code-test.xml"));
DefaultListableBeanFactory 类是 spring bean 加载的核心类, XMLBeanFactory继承,实际是在里面封装了另一个类XmlBeanD ...
Mysql innodb和myisam
- 博客分类:
- database
转自 http://www.jianshu.com/p/a957b18ba40d
MyISAM与InnoDB的区别是什么?
事务和行级锁,是两者最大的区别!
1、 存储结构
MyISAM:每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。.frm文件存储表定义。数据文件的扩展名为.MYD (MYData)。索引文件的扩展名是.MYI (MYIndex)。InnoDB:所有的表都保存在同一个数据文件中(也可能是多个文件,或者是独立的表空间文件),InnoDB表的大小只受限于操作系统文件的大小,一般为2GB。
2、 存储空间
...
tcp三次握手四次挥手及网络状态
- 博客分类:
- 网络
tcp 三次握手和四次挥手示意图, 详细见 http://www.jianshu.com/p/9968b16b607e
对一些状态的说明,
1. Client端在结束的时候,发送FIN后,进入FIN-WAIT-1状态
2. Server端收到FIN,发送ACK后,进入 CLOSE-WAIT状态
3. Client端收到ACK后,进入FIN-WAIT-2状态,停止发送数据
4. Server端继续把数据发送完毕,向client端发送FIN,Server端进入 LAST-ACK
5. Client端发送ACK后进入TIME-WAIT,等待2MSL(30s或1分钟,2分钟),进 ...
Spring AOP实现源码分析(三)
- 博客分类:
- spring
Spring AOP的实现可以分为三大部分1. 注册AOP功能具体实现类
2. 普通Bean实例化时AOP的切入
3. AOP切入具体流程
AOP 切入有两个时机
1. 如果有循环依赖,就会 doCreateBean 时提前调用 addSingletonFactory(beanName, () -> getEarlyBeanReference(beanName, mbd, bean));
2.如果没有循环依赖,正常情况下在 populateBean里调动
下面分析BeanPostProcessor执行过程中,aop如何切入,上一节讲到,普通bean初始化会调用如 ...
Spring AOP的实现可以分为三大部分1. 注册AOP功能具体实现类
2. 普通Bean实例化时AOP的切入
3. AOP切入具体流程
2. 普通Bean实例化时AOP的切入
ApplicationContext主流程会保证先完成BeanPostProcessor的注册实例化,这样可以保证普通bean实例化时,所有的 BeanPostProcessor 已经实例化了
public void refresh() throws BeansException, IllegalStateException {
......
// Register bean ...
1. 客户端发起https请求,请求数据中包括当前浏览器的加密算法列表,随机数(random1)
2. 服务端回复客户端,数据包括 证书,确认的加密算法,随机数(random2)
3. 客户端验证证书的合法性
4. 客户端生成加密随机数(premaster_secret),使用第2步约定的生成秘钥算法(非对称加密算法),通过证书的公钥,对premaster_secret进行加密,传输给服务端
5. 服务端使用私钥解密,得到premaster_secret
6. 客户端使用 random1+ premaster_secret + random2 生成秘钥secret,使用第2步约定的 ...
Spring AOP的实现可以分为三大部分1. 注册AOP功能具体实现类
2. 普通Bean实例化时AOP的切入
3. AOP切入具体流程
本文主要讲第一部分
1. 注册AOP功能具体实现类1.1 初始化aop自定义标签解析器 AspectJAutoProxyBeanDefinitionParser
当 xml 中读到 aop:aspectj-autoproxy 的字段,自动注册 AspectJAutoProxyBeanDefinitionParser
protected void parseBeanDefinitions(Element root, Bean ...