摘要: diamond主要包含四个包:diamond client、diamond sdk、diamond server和diamond util client就非常简单的进行http的调用server拿数据 server查数据库返回给client 其中server是集群 当一台server服务接收到写请求阅读全文
posted @ 2017-03-24 15:06 淮左 阅读(198) 评论(0) 编辑
摘要: ThreadPoolExecutor几个重要的状态码字段 java private static final int COUNT_BITS = Integer.SIZE 3; private static final int CAPACITY = (1 = SHUTDOWN && !(rs == S阅读全文
posted @ 2016-06-28 17:31 淮左 阅读(872) 评论(0) 编辑
摘要: 我画了一张关于FutureTask的类图,主要包括FutureTask的几个重要的函数和字段,还有它和父类的关系。 根据上面图我们可以清晰的看出FutureTask的继承关系。FutureTask继承一个最重要的类是Future,有几个比较重要的方法get,cancel,isCancelled等。F阅读全文
posted @ 2016-06-23 13:14 淮左 阅读(236) 评论(0) 编辑
摘要: 在研究AbstractQueuedSynchronizer的时候我是以ReentrantLock入手的。所以理所当然会设计到一些ReentrantLock的方法。因为网上已经有很多关于AQS的文章了,所以这篇文章不会特别详细的去记录类的实现,主要是记录几个我觉得需要主要的点。 1、 阻塞队列实现 A阅读全文
posted @ 2016-06-20 22:29 淮左 阅读(2759) 评论(0) 编辑
摘要: 因为TreeMap的实现方式是用红黑树这种数据结构进行存储的,所以呢我主要通过分析红黑树的实现在看待TreeMap,侧重点也在于如何实现红黑树,因为网上已经有非常都的关于红黑树的实现。我也看了些,但是有的说的不是很清楚,有的解释的也很清晰。这边主要是我的思路的总结。因为之前在研究HashMap和Cu阅读全文
posted @ 2016-04-28 22:28 淮左 阅读(2546) 评论(1) 编辑
摘要: 在介绍ConcurrentHashMap源码之前,很有必要复习下java并发编程中的一些基础知识,比如内存模型等。 存储模型 并发编程中的三个概念 1、原子性 2、可见性 3、重排序 对HashMap在jdk8有所了解 对CAS有所了解 对内置锁和显示锁等有所了解 jdk8对ConcurrentHa阅读全文
posted @ 2016-04-20 16:00 淮左 阅读(11960) 评论(5) 编辑
摘要: LinkedList 以双向链表实现。链表无容量限制,但双向链表本身使用了更多空间,也需要额外的链表指针操作。 按下标访问元素 get(i)/set(i,e) 要悲剧的遍历链表将指针移动到位(如果i 数组大小的一半,会从末尾移起)。 插入、删除元素时修改前后节点的指针即可,但还是要遍历部分链表的指针阅读全文
posted @ 2016-04-12 15:32 淮左 阅读(1196) 评论(0) 编辑
摘要: 本文将以以下几个问题来探讨ArrayList的源码实现 1.ArrayList的大小是如何自动增加的 2.什么情况下你会使用ArrayList?什么时候你会选择LinkedList? 3.如何复制某个ArrayList到另一个ArrayList中去?写出你的代码? 4.在索引中ArrayList的增阅读全文
posted @ 2016-04-11 17:52 淮左 阅读(782) 评论(0) 编辑
摘要: 因为网上已经太多的关于HashMap的相关文章了,为了避免大量重复,又由于网上关于java8的HashMap的相关文章比较少,至少我没有找到比较详细的。所以才有了本文。 本文主要的内容: 1.HashMap的数据结构,以及java 8的新特征 2.HashMap的put方法的实现原理 3.resiz阅读全文
posted @ 2016-04-09 11:43 淮左 阅读(5369) 评论(7) 编辑
摘要: 关于MavenMaven是一个用于项目构建的工具,通过它便捷的管理项目的生命周期。即项目的jar包依赖,开发,测试,发布打包。做过.NET的人应该会联想到Nuget,是的Maven其实就是java的Nuget。最主要的是用来管理包,有了maven我们就不需要单独下载jar包,只需要在配置文件pom....阅读全文
posted @ 2015-10-29 13:56 淮左 阅读(17029) 评论(3) 编辑