摘要: 1.使用 java中的每一个对象都可以作为synchronized的锁进行代码同步,常见的形式 同步代码块锁是synchronized括号内的对象 普通成员方法上,锁是当前的对象,synchronized(this) 静态方法上,锁是当前类的Class对象 2. 原理 synchronized是通过 阅读全文
posted @ 2017-09-21 20:02 atheva 阅读(636) 评论(0) 推荐(0) 编辑
摘要: 责任链模式 责任链模式的定义:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系, 将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。这里就不再过多的介绍什么是责任链模式,主要来说说java中如何编写。主要从下面3个框架中的代码中介绍。 servlet中的f 阅读全文
posted @ 2017-09-11 10:44 atheva 阅读(44763) 评论(3) 推荐(5) 编辑
摘要: 本篇文章从代码层面上分析了spring中解决循环依赖的策略。所谓循环依赖就是多个Bean之间依赖关系形成一个闭环,例如A->B->C->...->A 这种情况,当然,最简单的循环依赖就是2个Bean之间互相依赖:A->B(A依赖B), B->A(B依赖A) 。在Spring中,如果A->B,那么在创建A的过程中会去创建B,在创建B(或B的依赖)的过程中又发现B->A,这个时候就出现了循环依赖的现象。 阅读全文
posted @ 2017-08-20 20:35 atheva 阅读(2412) 评论(0) 推荐(1) 编辑
摘要: Spring-dubbo是个人开发的一个整合Spring-boot和dubbo的一个jar包,主要目的是使用Spring Boot快速搭建一个Dubbo服务,主要功能是在Spring Boot启动的时候加载和初始化Dubbo相关配置和Bean,利用Spring Boot的配置即个完成Dubbo的配置。底层完全是使用Dubbo,只是在Dubbo基础上进行二次开发。 阅读全文
posted @ 2017-08-07 13:49 atheva 阅读(855) 评论(0) 推荐(0) 编辑
摘要: 摘要 本篇文章只是个人阅读mybatis源码总结的经验或者个人理解mybatis的基本轮廓,作为抛砖引玉的功能,希望对你有帮助,如果需要深入了解细节还需亲自去阅读源码。 mybatis基本架构 mybatis的源码应该算是比较容易阅读的,首先mybatis核心功能就是执行Sql语句,但在其基础上又有 阅读全文
posted @ 2017-08-03 19:13 atheva 阅读(1311) 评论(5) 推荐(1) 编辑
摘要: 这个类首先是一个抽象类,定义了一个模板,很多java同步相关的类(ReetrantLock、Semaphore、CountDownLatch等)都是基于AbstractQueuedSynchronizer来实现的 AbstractQueuedSynchronizer 本身就是一个链表,提供的线程安全 阅读全文
posted @ 2017-07-30 17:55 atheva 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 概述 之前介绍了kotlin的快速入门,http://www.cnblogs.com/lizo/p/7231167.html 大多数还是参照java。kotlin中提供了更多更方便的语言特性 这个方言其实是针对java而言,因为很多用法其实在其他语言里面是已经存在的。使用kotlin的这些方言能够在 阅读全文
posted @ 2017-07-27 12:27 atheva 阅读(1543) 评论(0) 推荐(0) 编辑
摘要: 本文主要介绍guava中缓存的使用的问题:当过期时间到了,缓存中的对象真的会立即被释放吗?当缓存达到容量以后,如何高效的剔除缓存?guava cache的底层数据结构是如何的?带着这些问题,一起来看看guava cache的源码,通过分析源码,理解guava缓存中是如何实现缓存过期的。 阅读全文
posted @ 2017-07-25 18:38 atheva 阅读(3522) 评论(0) 推荐(0) 编辑
摘要: 你有一定的java或者其他任何一门面向对象语言的基础。通过这篇文章让你对kotlin的语法有基本认识 阅读全文
posted @ 2017-07-24 21:28 atheva 阅读(2586) 评论(0) 推荐(0) 编辑
摘要: 第一次使用kotlin心得,简单说一下个人对kotlin这门语言的理解 阅读全文
posted @ 2017-07-24 18:46 atheva 阅读(293) 评论(0) 推荐(0) 编辑