在山的那边

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2018年8月24日

摘要: 本系列主要分为三部分,前两部分主要分析mybatis的实现原理,最后一部分结合spring,来看看mybtais是如何与spring结合的就是就是mybatis-spring的源码。 相较于spring,mybatis源码算是比较容易理解的,因为很少用一层层的抽象,类所做的事一目了然,但是要说质量的 阅读全文
posted @ 2018-08-24 14:33 在山的那边 阅读(3017) 评论(0) 推荐(0) 编辑

2018年8月13日

摘要: 我们在spring 事务源码赏析(一) 中分析了spring事务是如何找到目标方法,并如何将事务的逻辑织入到我们的业务逻辑中。本篇我们将会看到spring事务的核心实现: 1.事务传播机制的实现 2.事务隔离级别的实现 3.事务的回滚提交等操作的实现 好了,废话不多说,接着上一篇,我们讲到了Tran 阅读全文
posted @ 2018-08-13 09:46 在山的那边 阅读(768) 评论(0) 推荐(0) 编辑

2018年8月7日

摘要: 在本系列中,我们会分析:1.spring是如何开启事务的。2.spring是如何在不影响业务代码的情况下织入事务逻辑的。3.spirng事务是如何找到相应的的业务代码的。4.spring事务的传播行为是如何实现的。5.spring的事务隔离级别是如何实现的 因篇幅原因,本系列会分为两部分,第一部分会 阅读全文
posted @ 2018-08-07 19:10 在山的那边 阅读(1133) 评论(0) 推荐(0) 编辑

2018年4月21日

摘要: 首先,本系列并不是以介绍spring5 的新特性为主,之所以以spring5为标题,是因为即将赏析的源码来自最新的spring版本.虽说是spring最新版本,但是容器的整个生命周期与之前版本相比,并没有很大的变化,我们主要来看spring是如何一步步构建自己的容器,一步步将混乱不堪,错综复杂的依赖 阅读全文
posted @ 2018-04-21 19:05 在山的那边 阅读(631) 评论(0) 推荐(1) 编辑

2018年3月26日

摘要: 在这个注解比较流行的年代里,当我们想要使用spring 的某些功能时只需要加上一行代码就可以了,比如: @EnableAspectJAutoProxy开启AOP, @EnableTransactionManagement开启spring事务管理, @EnableCaching开启spring缓存 @ 阅读全文
posted @ 2018-03-26 21:02 在山的那边 阅读(69612) 评论(0) 推荐(3) 编辑

2018年3月1日

摘要: cglib大名在java界如雷贯耳,众多优秀的开源项目均使用其来实现各自的功能(spring aop,hibernate等等),这里主要简单介绍一下cglib的使用,对比一下java原生的proxy还有javaassist. 说到cglib第一印象就是动态代理(啥是动态代理?请百度<设计模式>),没 阅读全文
posted @ 2018-03-01 18:09 在山的那边 阅读(1526) 评论(0) 推荐(1) 编辑

2017年9月18日

摘要: 我们知道,java8中有并行流,而并行流在后台的实现是通过fork/join池来完成的,例如: List<Integer> a = buildList(); List<Integer> b = buildList(); a.parallelStream().foreach(System.out::p 阅读全文
posted @ 2017-09-18 11:07 在山的那边 阅读(316) 评论(0) 推荐(1) 编辑

2017年9月14日

摘要: 最近在做一些支付报文处理工作,需要从各种各样的报文中提取需要的信息比如(金额,订单号。。。),每个渠道报文各式各样,想要写一个通用的提取逻辑,于是就回顾java正则表达式的用法。当然我们可以自己写一些算法,去提取这些字段,但对于简单的解析来说,亲自手写算法有点杀鸡用牛刀的感觉,而且正则表达式完全可以 阅读全文
posted @ 2017-09-14 14:21 在山的那边 阅读(615) 评论(0) 推荐(1) 编辑

2017年8月31日

摘要: 9月份java9就要发布了,在8月的最后一天决定回顾一下java8那些惊天动地的变化,加深理解,共同进步。 我们都知道java与c++,c不同是一个为面向对象而生的语言,面向对象思想贯彻了java发展的大部分时间直到java8,java8的出现为java引进了新的思想(虽然这个思想在别的语言里早就有 阅读全文
posted @ 2017-08-31 17:47 在山的那边 阅读(201) 评论(0) 推荐(1) 编辑

2017年8月3日

摘要: 最近在研究java security方面的东西,java自带可以使用各种加密解密算法(rsa,dsa,des3,aes,md5...),但往往一些密钥是第三方给我们的,我们需要用java装载这些密钥然后加密或者解密,其中生成密钥的工具不得不得说到openssl,之前也介绍过,如何用openssl生成 阅读全文
posted @ 2017-08-03 16:59 在山的那边 阅读(2042) 评论(0) 推荐(1) 编辑