常用java类
文章平均质量分 94
Lyzxii
积累,进步;
展开
-
ConcurrentHashMap的源码分析
ConcurrentHashMap是HashMap 的并发版本,它是线程安全的,并且在高并发的情境下,性能优于 HashMap 很多。jdk 1.7 采用分段锁技术,整个 Hash 表被分成多个段,每个段中会对应一个 Segment 段锁,段与段之间可以并发访问,但是多线程想要操作同一个段是需要获取锁的。所有的 put,get,remove 等方法都是根据键的 hash 值对应到相应的段中,然后尝试获取锁进行访问。jdk 1.8 取消了基于 Segment 的分段锁思想,改用 CAS + sync.原创 2021-04-12 11:43:06 · 223 阅读 · 1 评论 -
Properties类的使用
Properties类1.简介Properties继承于Hashtable.表示一个持久的属性集.属性列表中每个键及其对应值都是一个字符串,其中键值对以等号分隔。Properties可保存在流中或从流中加载。属性列表中的每个键及其所对应的值都是字符串。Properties类是线程安全的:多个线程可以共享单个Properties对象而无需进行外部同步文件类型通常是*.properties,格式:ke...原创 2018-04-12 11:16:33 · 5545 阅读 · 0 评论 -
CountDownLatch的使用
首先,我们来看一个应用场景1:假设一条流水线上有三个工作者:worker0,worker1,worker2。有一个任务的完成需要他们三者协作完成,worker2可以开始这个任务的前提是worker0和worker1完成了他们的工作,而worker0和worker1是可以并行他们各自的工作的。如果我们要编码模拟上面的场景的话,我们大概很容易就会想到可以用join来做。当在当前线程中调用某个线程 th...转载 2018-05-25 14:17:56 · 796 阅读 · 0 评论