随笔分类 -  Java

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

点击右上角即可分享
微信分享提示