
源码分析
文章平均质量分 90
fanst_
这个作者很懒,什么都没留下…
展开
-
HashMap简析
一次电话面试中,面试官问我HashMap并发使用的时为什么会造成死循环,可惜由于我本来知道它是线程不安全的,从未写过并发读取的代码,因此没有遇到过这个问题,遂不情愿地回答没遇到过。身为java码农,没有研究过HashMap源码也确实说不过去,遂在面试结束后仔细阅读了JDK7的HashMap.java源码,简单分析如下文。存储结构所有数据存储在Entry的数组中,但是注意,并不是一个元素对应原创 2015-04-10 23:28:30 · 470 阅读 · 0 评论 -
ConcurrentHashMap简析
接前面一篇HashMap的文章(http://blog.youkuaiyun.com/fanst_/article/details/44986517),简单介绍下ConcurrentHashMap。存储结构HashMap的存储结构如下图:ConcurrentHashMap可以看作是上图结构的集合:final Segment[] segments;每一个Segment中,包含HashEn原创 2015-04-13 21:46:27 · 501 阅读 · 0 评论 -
Java中的时间、时区和夏令时
Java中的时间、时区和夏令时相关概念时区时区是地球上的区域使用同一个时间定义。以前,人们通过观察太阳的位置(时角)决定时间,这就使得不同经度的地方的时间有所不同(地方时)。1863年,首次使用时区的概念。时区通过设立一个区域的标准时间部分地解决了这个问题。世界各个国家位于地球不同位置上,因此不同国家的日出、日落时间必定有所偏差。这些偏差就是所谓的时差。 理论时区原创 2016-02-03 09:08:20 · 24186 阅读 · 2 评论 -
GCM Google官方示例的简单介绍和使用
GCM Google官方示例的简单介绍和使用准备工作翻墙 先翻墙,翻不了墙一切都白搭……Google账号申请Google账号进入Google开发管理台创建工程(Google管理台上的Project)开启Google Cloud Messaging API。Demo工程 参考google官方指导文档,在google中搜索GCM,或者直接点击此处打开。本文均以Android为例,打开页面后原创 2016-02-24 17:16:05 · 14745 阅读 · 2 评论 -
JDK1.8源码阅读与翻译:CountDownLatch
A synchronization aid that allows one or more threads to wait until a set of operations being performed in other threads completes. CountDownLatch是一个同步辅助类,允许一个或多个线程等待,直到其他线程 进行的一系列操作完成。原创 2019-03-21 19:13:17 · 440 阅读 · 0 评论 -
JDK1.8源码阅读与翻译:CyclicBarrier
/** * CyclicBarrier是一个同步辅助类,允许一组线程全部等待彼此到达一个公共 * 屏障点。CyclicBarriers在涉及固定数量的一批线程必须偶尔等待彼此的程序 * 中很有用。被称之为cyclic(循环)barrier(屏障)是因为它可以在释放等待 * 线程后继续重复使用。 * * CyclicBarrier支持一个可选的命令(Runnable),该命令在每...原创 2019-03-27 21:34:39 · 442 阅读 · 0 评论