自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 重学设计模式(十)—— 策略模式

前言在日常开发中,我们经常需要在相同的上下文环境中针对不同的业务主体采用不同的处理逻辑。举个简单的例子,当我们在电商网站上购物结算时,往往会根据自身会员等级的不同而享受不同的优惠政策,而从系统实现的角度来讲,需要其运行时根据不同需求决定使用某一具体算法策略。策略模式便能较好的解决这个问题,本篇博客就来探讨一下策略模式。策略模式 策略模式定义了一系列的算法,并将每一个算法封装起来,而...

2018-06-30 15:13:08 376 2

原创 Spring AOP 对象内部方法间的嵌套调用

前两天面试的时候,面试官问了一个问题,大概意思就是一个类有两个成员方法 A 和 B,两者都加了事务处理注解,定义了事务传播级别为 REQUIRE_NEW,问 A 方法内部直接调用 B 方法时能否触发事务处理机制。答案有点复杂,Spring 的事务处理其实是通过AOP实现的,而实现AOP的方法有好几种,对于通过 Jdk 和 cglib 实现的 aop 处理,上述问题的答案为否,对于通过Aspec...

2018-06-17 00:04:56 7805 2

原创 Java 内存可见性

前两天面试的时候被问到 Java 内存可见性相关问题,个人感觉回答的不是很好,因此需要强化学习一下。首先什么是内存可见性呢?可见性 一个线程对共享变量值的修改,能够及时地被其他线程看到谈到内存可见性,必须得先从 Java 的内存模型(JMM)说起,下图表示了 Java 的内存模型, 整体来说,在 JMM 中,所有的变量都存储在主内存中,而每个线程都有自己独立的工作内...

2018-06-13 15:44:28 445

原创 Spring 声明式事务源码分析

Spring 的声明式事务实现方式主要有2种,一种为通过使用Spring的< tx:advice >定义事务通知与AOP相关配置实现,另为一种通过@Transactional实现事务管理实现,个人认为本质上其实都一样,就是用定义的注解或者配置信息将目标对象包装起来,拦截对访问目标对象的请求,实现对目标对象访问的增强处理。Spring 使用 TransactionInterceptor ...

2018-06-06 17:27:45 460

原创 重学多线程(十)—— synchronized 原理与锁升级

前言前几天去面试的时候,面试官问了一些关于 synchronized 关键字原理性的问题,回答得不甚理想。看来,平时对synchronized关键只能做到知其然,却不知其所以然,所以利用业余时间补习一下。synchronized 原理synchronized 关键字编译后会在同步块的前后添加上 montorenter 和 monitorexit 两个字节码指令,这两个字节码指令都需...

2018-06-02 15:48:38 4733

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除