自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菜鸟一名

在杭州拼搏的菜鸟一名,简书地址:https://www.jianshu.com/u/4ff10209bbd9

  • 博客(3)
  • 问答 (1)
  • 收藏
  • 关注

原创 源码分析----ReentrantLock实现和AbstractQueuedSynchronizer

ReentrantLock有公平锁和非公平锁,默认是非公平锁,而其加锁的解锁的操作其实都是依赖于某个内部对象public class ReentrantLock implements Lock, java.io.Serializable { private final Sync sync; abstract static class Sync extends AbstractQueuedSy...

2016-10-23 13:18:04 345

原创 集合源码分析----ConcurrentHashMap

本文基于JDK1.7分析 先大概讲下ConcurrentHashMap的原理: 1.ConcurrentHashMap内部分成了很多段,每段叫一个Segment,每个Segment里都是一个类似HashMap的结构 2.每次写操作都只对其中一个Segment进行加锁操作,所以线程安全且性能高 ConcurrentHashMap内部主要结构 final Segment[]

2016-10-22 16:21:15 331

原创 集合源码分析----HashMap

该分析基于JDK1.7 HashMap总的来说就是利用hash表来实现的,解决冲突的方法是链地址法,所以可以看到HashMap有如下结构 transient Entry[] table = (Entry[]) EMPTY_TABLE;//hash表中的数组 static class Entry implements Map.Entry {//链表的元素类型 fina

2016-10-21 20:05:36 385

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除