KEEP ON CODING......
摘要: 1. Executor基于生产者-消费者模式,提交任务的操作相当于生产者,执行任务的线程相当于消费者,如果要在程序中实现一个生产者-消费者的设计,最简单的方式通常就是使用Executor 2. Executor的生命周期: 为了解决执行任务的生命周期问题,Executor扩展了ExecutorSer 阅读全文
posted @ 2018-02-23 16:07 Cecil2020 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 1. 多线程场景下尽量使用并发容器代替同步容器 (如ConcurrentHashMap代替同步且基于散列的Map, 遍历操作为主要操作的情况下用CopyOnWriteArrayList代替同步的List) ConcurrentHashMap:分段锁机制,多线程条件下优于HashMap+synchro 阅读全文
posted @ 2018-02-23 16:07 Cecil2020 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 一、HashMap (1) 简介:java1.8版本之前HashMap的结构图如下: 数组的每个元素都是一个单链表的头节点,链表是用来解决冲突的,如果不同的key映射到了数组的同一位置处,就将其放入单链表中。但这就存在一个问题:在一个链表中查找一个节点时,将会花费O(n)的查找时间,会有很大的性能损 阅读全文
posted @ 2018-02-23 16:05 Cecil2020 阅读(219) 评论(0) 推荐(0) 编辑