会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
zhenhong
Powered by
博客园
博客园
|
首页
|
新随笔
|
联系
|
订阅
|
管理
上一页
1
···
9
10
11
12
13
14
15
16
17
···
22
下一页
2019年10月31日
3、HashMap
摘要: 一、HashMap基础 1.1 简介 Map:定义基本的增删除改查操作AbstractMap:模板方法,实现了一些基本方法 HashMap是使用数组+链表+红黑树的方式构成的,它与ConcurrentHashMap的主要区别就是一个是线程不安全,一个是线程安全,在代码上可能会有些差别,但是在计算容量
阅读全文
posted @ 2019-10-31 23:56 zhen_hong
阅读(1)
评论(0)
推荐(0)
编辑
2019年10月24日
1、ConcurrentHashMap
摘要: 一、ConcurrentHashMap ConcurrentHashMap是HashMap的线程安全版,下面为了描述方便将ConcurrentHashMap简称为hashmap 1.1 类图 Map:定义基本的增删除改查操作 ConcurrentMap:主要是定义了一些default的方法,比如co
阅读全文
posted @ 2019-10-24 00:08 zhen_hong
阅读(6)
评论(0)
推荐(0)
编辑
2019年10月12日
8、SpringMVC源码系列总结
摘要: 一、servlet初始化流程 -》 初始化servlet(org.springframework.web.servlet.HttpServletBean.init()) -》 读取配置的属性,通过BeanWrapperImpl的方式设置值 -》 创建spring容器,调用refresh方法 -》 触
阅读全文
posted @ 2019-10-12 23:15 zhen_hong
阅读(0)
评论(0)
推荐(0)
编辑
2019年10月6日
20、spring源码系列总结
摘要: 一、容器创建流程 1.1 创建与初始化 如果在web.xml中指定了contextClass上下文参数,那么以contextClass为准,创建指定的自定义容器,如果没有指定那么创建默认的XmlWebApplicationContext容器 -》 如果在web.xml中配置了locatorFacto
阅读全文
posted @ 2019-10-06 23:55 zhen_hong
阅读(0)
评论(0)
推荐(0)
编辑
2019年8月8日
4、启动
摘要: 从上一节中我们分析了组件的初始化,除了容器进行了线程池的创建之后,其他的组件的初始化基本上是在注册mbean服务。 Bootstrap daemon.setAwait(true); daemon.load(args); daemon.start(); 我们分析了load,那么解析来就开始start
阅读全文
posted @ 2019-08-08 22:41 zhen_hong
阅读(0)
评论(0)
推荐(0)
编辑
2019年8月7日
2、使用asm字节码指令实现动态代理
摘要: 本博文来自我在博客园发表的《使用ASM实现动态代理》 github地址:https://github.com/yomea/ASM gitee地址:https://gitee.com/yomea/ASM 一、实现动态代理,首先得考虑有应该定义哪些类,根据JDK的动态代理思想,那么它就应该有一个生成代理
阅读全文
posted @ 2019-08-07 21:41 zhen_hong
阅读(1)
评论(0)
推荐(0)
编辑
2019年8月4日
11、ListableBeanFactory的getBeanNamesForType
摘要: 这个方法我们不止一次的看到,比如在查找BeanFactoryProcessor的时候就见到过,现在查找BeanPostprocessor的时候又见到了,现在我们将它单独拎出来分析下 //方法签名 //第一个参数type表示要查找的bean的类型 //includeNonSingletons 是否考虑
阅读全文
posted @ 2019-08-04 16:55 zhen_hong
阅读(4)
评论(0)
推荐(0)
编辑
2019年2月16日
bean的创建(五)第五部分 属性填充
摘要: AbstractAutowireCapableBeanFactory.populateBean protected void populateBean(String beanName, RootBeanDefinition mbd, BeanWrapper bw) { //获取属性值 PropertyValues pvs = mbd.getPropertyValues(); ...
阅读全文
posted @ 2019-02-16 23:44 zhen_hong
阅读(739)
评论(0)
推荐(0)
编辑
bean的创建(五)第四部分 bean构造器的查找
摘要: 前面分析了bean的静态工厂查找 bean的构造器查找过程和bean的静态工厂查找类似 protected BeanWrapper createBeanInstance(String beanName, RootBeanDefinition mbd, Object[] args) { // Make sure bean class is actually resolved at...
阅读全文
posted @ 2019-02-16 23:40 zhen_hong
阅读(483)
评论(0)
推荐(0)
编辑
bean的创建(五)第三部分 bean工厂方法参数的解析
摘要: 准备好一系列参数之后,开始参数类型的转换,方法参数的对应。 ConstructorResolver.createArgumentArray private ArgumentsHolder createArgumentArray( String beanName, RootBeanDefinition mbd, ConstructorArgumentValues reso...
阅读全文
posted @ 2019-02-16 23:39 zhen_hong
阅读(567)
评论(0)
推荐(0)
编辑
上一页
1
···
9
10
11
12
13
14
15
16
17
···
22
下一页