Java基础
文章平均质量分 77
miomin_0815
这个作者很懒,什么都没留下…
展开
-
【Java数据结构】Hashmap、Hashtable、ConcurrentHashMap源码阅读笔记
引言:这几天在捣鼓Hashmap跟Hashtable的区别,其中关注的 b比较多的就是Hashmap和Hashtable计算在Entry[]数组中index的方法到底有什么区别。 Hashmap跟Hashtable的实现原理比较类似,借用一张其他地方偷来的图。 可以看到,都是采用外拉链的方式来实现元素存储,底层是数组+链表实现,原理都不说了,学过数据结构中hash冲突解决的同学应该都能理解。实现的关原创 2016-04-09 20:01:19 · 4430 阅读 · 3 评论 -
【Java并发编程】对比synchronized和Lock
引言:在Java中,可以使用关键字synchronized来实现同步访问,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?那得先从synchronized的缺陷讲起。 转载自海子的博文:《Java并发编程:Lock》一、synchron转载 2016-04-11 17:15:50 · 1839 阅读 · 0 评论 -
【Thinking in Java读书笔记】如何安全的终止线程
参考资料:《Thinging in Java》引言:在较早的Java代码中,是使用suspend()和resume()来终止和唤醒线程,但是现在已经被废止了,因为可能导致死锁。stop()强制终止线程的方式也已经不推荐使用,因为它不释放线程获得的锁,还会产生一些不可预料的后果。下面看看《Thinging in Java》中建议我们如何来终止线程。一、线程进入阻塞态的原因 在阻塞态中终止线程,需要做一原创 2016-04-11 11:08:08 · 3299 阅读 · 0 评论