会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
行路难
每天进步一点点,成长足迹看得见。
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
2018年3月5日
Spring源码解析(二)BeanDefinition的Resource定位
摘要: IOC容器的初始化过程主要包括BeanDefinition的Resource定位、载入和注册。在实际项目中我们基本上操作的都是ApplicationContex的实现,我们比较熟悉的ClassPathXmlApplicationContext、FileSystemXmlApplicationCont
阅读全文
posted @ 2018-03-05 16:21 两条闲鱼
阅读(840)
评论(0)
推荐(1)
2018年2月8日
Spring源码解析(一)开篇
摘要: 前言 Spring源码继承结构比较复杂,看过以后经常会忘记。因此,记录一下源码分析的过程,方便以后回顾。本次分析的Spring源码版本为3.2.15。 另外,一提Spring就是IOC、DI等等,我们先初步了解一下这些概念。 依赖倒置原则(Dependence Inversion Principle
阅读全文
posted @ 2018-02-08 19:45 两条闲鱼
阅读(1104)
评论(0)
推荐(0)
2018年1月30日
Cglib动态代理实现原理
摘要: Cglib动态代理实现方式 我们先通过一个demo看一下Cglib是如何实现动态代理的。 首先定义个服务类,有两个方法并且其中一个方法用final来修饰。 Cglib是无法代理final修饰的方法的,具体原因我们一会通过源码来分析。 然后,定义一个自定义MethodInterceptor。 我们看一
阅读全文
posted @ 2018-01-30 16:55 两条闲鱼
阅读(36634)
评论(7)
推荐(9)
2018年1月15日
JDK动态代理实现源码分析
摘要: JDK动态代理实现方式 在Spring框架中经典的AOP就是通过动态代理来实现的,Spring分别采用了JDK的动态代理和Cglib动态代理,本文就来分析一下JDK是如何实现动态代理的。 在分析源码之前我们先通过一个简单的例子看看JDK是如何实现动态代理的。 JDK的动态代理是基于接口实现的,所以我
阅读全文
posted @ 2018-01-15 16:50 两条闲鱼
阅读(781)
评论(0)
推荐(0)
2018年1月4日
J.U.C Atomic(二)基本类型原子操作
摘要: java.util.concurrent.atomic包中对基本类型进行原子操作的类有:AtomicInteger、AtomicBoolean、AtomicLong。 下面通过一个测试程序来验证一下AtomicInteger真的实现了原子操作 按照我们的预期如果最终结果是0,那么就可以说明确实实现了
阅读全文
posted @ 2018-01-04 19:16 两条闲鱼
阅读(427)
评论(0)
推荐(0)
2018年1月3日
J.U.C Atomic(一)CAS原理
摘要: CAS概念 CAS:Compare And Swap,比较并交换。java.util.concurrent包完全是建立于CAS机制之上的。 CAS原理 Java CAS是通过调用Unsafe的native方法,再由C程序调用CPU底层命令实现的。 下面是对应于intel x86处理器的源代码的片段:
阅读全文
posted @ 2018-01-03 19:16 两条闲鱼
阅读(386)
评论(0)
推荐(0)
2017年12月26日
JDK 注解详解
摘要: 注解用途 我们在使用spring MVC框架时用到了很多的注解,如:@Controller、@RequestMapping等等,spring框架通过反射获取到标签进行不同的逻辑处理。注解是代码的附属信息,它遵循一个基本原则:注解不能直接干扰程序代码的运行,无论是增加还是删除注解,代码都能正常运行。J
阅读全文
posted @ 2017-12-26 15:45 两条闲鱼
阅读(554)
评论(0)
推荐(0)
上一页
1
2
公告