- 博客(7)
- 收藏
- 关注
原创 Java并发学习之理解Lock锁的初见
和synchronized不同,lock在实现同步时需要手动的获取和释放对象锁,这样做虽然缺失了synchronized隐式获取锁的便捷,但是却带来了锁的可操作性,可中断性以及可以知晓线程是否成功获取锁。 Lock的特征详述如下:1.尝试非阻塞地获取锁:当前线程尝试获取锁,如果这一时刻没有被其他线程获取到,则成功获取该锁。2.能被中断的获取锁:与synchronized不用,l...
2018-07-19 15:16:19
225
原创 详细记录Linux(Centos7)安装Mysql(5.7.20)的过程步骤
中间装过几次mysql,几乎每一次都会遇到各种问题,今天索性完整记录一边安装过程。虚拟机环境为CentOS 7,mysql版本为5.7.20。关于mysql-5.7.18及其以上的版本取消了my.cnf文件,所以可能会导致一部分人再参考教程安装时会出现错误,...
2018-07-06 13:35:30
1009
原创 关于JDK动态代理的小demo
JDK动态代理是基于面向接口编程,Spring AOP的实现也是基于此原理,而动态代理的实现则是基于反射机制。动态代理的主要目的就是灵活的将方法的调用与实现之间解耦,同时在目标方法调用的前后加入其他的通知。先看一个小demo:先写一个系统用户的实体类SysUserpublic class SysUser implements Serializable{ private String us
2017-10-11 10:04:13
266
原创 阅读源码是和大师面对面交流的机会之ArrayList检查是否有重复元素
List是允许存在重复元素的,同样ArrayList也允许。那么ArrayList是如何检测是否存在重复元素的?下面我们浅读一下源码: /** * 判断列表是否包含某对象 * @param o * @return */ public boolean contains(Object o){ return in
2017-09-29 09:25:40
317
原创 阅读源码是和大师面对面交流的机会之ArrayList数组元素的插入
如果想在数组的指定位置插入一个元素,而不是修改该位置,你会怎么做?大家都知道数组的优势是查找快速,但删除和插入较为麻烦。在阅读了ArrayList的add()方法之后,对这个问题有了一个具有知道意义的答案。 在调用list.add()方法之前,会先进行index验证,不符合要求则会抛出异常,size是当前数组中元素的个数,在这里可以看出ArrayList不允许隔着空位置插元素,只能依次插
2017-09-28 10:08:26
291
原创 记录一次SpringBoot Error creating bean with name 'xxxx'
记录一次SpringBoot Error creating bean with name ‘xxxx’用idea创建springboot项目后,在不注入service层的情况下,可以正常的启动工程以及访问controller的url请求,之后想整合Springboot-mybatis,查阅相关文档后,有博客介绍说可以在Springboot的全局配置文件里配置mybatis的mapper.xml的扫
2017-09-15 11:10:20
96720
2
原创 Linux(centos)下安装redis以及设置其自启动
Linux(centos)下安装redis以及设置其自启动公司的项目中用到了mybatis和redis,其中mybatis的二级缓存是由redis实现,借此机会分享下linux下安装redis及自启动的过程以加强印象。在配置以及分享中也学到了不少Linux的知识。主要过程包括下面几步:下载解压移动至usr编译redisinstall安装注册服务一.下载解压在redis.io官网可直接下载
2017-07-31 16:04:32
493
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人