佛系更新

CodeBear的园子

分享低端知识

摘要: Spring,相信每个Java开发都用过,而且是每天都在用,那强大又神秘的IoC,AOP,让我们的开发变得越来越简单,只需要一个注解搞定一切,但是它内部到底是什么样子的呢?跟着我,一起探究Spring源码把。 写在前面的话:Spring项目距今已有15年左右的历史了,是众多Java大神们的杰作,由于 阅读全文
posted @ 2019-01-30 09:19 CodeBear 阅读(9263) 评论(4) 推荐(11) 编辑
摘要: 在上一节中,我介绍了Spring中极为重要的BeanPostProcessor BeanFactoryPostProcessor Import ImportSelector,还介绍了一些其他的零碎知识点,正如我上一节所说的,Spring实在是太庞大了,是众多Java开发大神的结晶,很多功能,很多细节 阅读全文
posted @ 2019-01-22 16:37 CodeBear 阅读(1547) 评论(1) 推荐(3) 编辑
摘要: Spring作为Java的王牌开源项目,相信大家都用过,但是可能大家仅仅用到了Spring最常用的功能,Spring实在是庞大了,很多功能可能一辈子都不会用到,今天我就罗列下Spring中你可能不知道的事。一是可以帮助大家以后阅读源码,知道Spring为什么会这么写,二是可以作为知识储备,当人家不会 阅读全文
posted @ 2019-01-16 10:58 CodeBear 阅读(1897) 评论(0) 推荐(7) 编辑
摘要: 在接触SpringAOP的时候,大家一定会被这神奇的功能所折服,想知道其中的奥秘,底层到底是如何实现的。于是,大家会通过搜索引擎,知道了一个陌生的名词:动态代理,慢慢的又知道了动态代理有多种实现方式,比如 JDK动态代理,Cglib 等等。今天我就来简单说说JDK动态代理。 JDK动态代理的简单应用 阅读全文
posted @ 2019-01-09 16:54 CodeBear 阅读(1644) 评论(3) 推荐(8) 编辑
摘要: 单例模式可以说只要是一个合格的开发都会写,但是如果要深究,小小的单例模式可以牵扯到很多东西,比如 多线程是否安全,是否懒加载,性能等等。还有你知道几种单例模式的写法呢?如何防止反射破坏单例模式?今天,我就花一章内容来说说单例模式。 关于单例模式的概念,在这里就不在阐述了,相信每个小伙伴都了如指掌。 阅读全文
posted @ 2019-01-03 09:52 CodeBear 阅读(879) 评论(1) 推荐(3) 编辑
摘要: 上一篇中,我们了解了Synchronized关键字,知道了它的基本使用方法,它的同步特性,知道了它与Java内存模型的关系,也明白了Synchronized可以保证“原子性”,“可见性”,“有序性”。今天我们来看看另外一个关键字Volatile,这也是极其重要的关键字之一。毫不夸张的说,面试的时候谈 阅读全文
posted @ 2018-12-27 16:34 CodeBear 阅读(647) 评论(1) 推荐(3) 编辑
摘要: 在上一篇博客中,我“蜻蜓点水”般的介绍了下Java内存模型,在这一篇博客,我将带着大家看下Synchronized关键字的那些事,其实把Synchronized关键字放到上一篇博客中去介绍,也是符合 “Java内存模型”这个标题的,因为Synchronized关键字和Java内存模型有着密不可分的关 阅读全文
posted @ 2018-12-24 09:02 CodeBear 阅读(1356) 评论(3) 推荐(5) 编辑
摘要: Java内存模型虽说是一个老生常谈的问题 ,也是大厂面试中绕不过的,甚至初级面试也会问到。但是真正要理解起来,还是相当困难,主要这个东西看不见,摸不着。网上已经有大量的博客,但是人家的终究是人家的,自己也要好好的去理解,去消化。今天我也来班门弄斧,说下Java内存模型。 说到Java内存模型,不得不 阅读全文
posted @ 2018-12-16 23:31 CodeBear 阅读(1208) 评论(2) 推荐(3) 编辑
摘要: 参考:https://www.iteye.com/topic/1122740 上一节,主要分析了 被标记为事务的方法互相调用,事务失效的原因,思考比较多,这一节主要说说解决方案,思考会少一些。 ####解决方案的核心: 通过代理对象去调用方法 1.把方法放到不同的类: 我们需要新建一个接口: pub 阅读全文
posted @ 2018-12-12 21:07 CodeBear 阅读(866) 评论(0) 推荐(1) 编辑
摘要: 相信大家一定用过Spring中的注解型事务,配合上Spring Boot,只需要在方法上打一个@Transactional 就可以完成,真香。 但是如果大家对其中的机制一知半解的话,可能一不小心就会掉进坑,然后久久无法爬出来。 下面我就分享下 被标记为事务的方法互相调用的坑。 首先我写两个事务方法: 阅读全文
posted @ 2018-12-07 15:10 CodeBear 阅读(1116) 评论(0) 推荐(3) 编辑