- 博客(3)
- 收藏
- 关注
原创 ThreadPoolExecutor
为什么用线程池 有时候,系统需要处理非常多的执行时间很短的请求,如果每一个请求都开启一个新线程的话,系统就要不断的进行线程的创建和销毁,有时花在创建和销毁线程上的时间会比线程真正执行的时间还长。而且当线程数量太多时,系统不一定能受得了。 使用线程池主要为了解决一下几个问题: ● 通过重用线程池中的线程,来减少每个线程创建和销毁的性能开销。 ● 对线程进行一些维护和管理,比如定时开始,周期执行,并发...
2019-05-08 15:51:46 157 1
原创 ConcurrentHashMap
HashTable和ConcurrHashMap分别是如何保证线程同步的? HashTable HashTable性能差主要是由于所有操作需要竞争同一把锁,而如果容器中有多把锁,每一把锁锁一段数据,这样在多线程访问时不同段的数据时,就不会存在锁竞争了,这样便可以有效地提高并发效率。这就是ConcurrentHashMap所采用的"分段锁"思想。 具体了解HashTable参见:https://w...
2019-04-25 23:50:48 260
原创 StringBufferInputStream介绍
StringBufferInputStream继承关系基本属性构造函数其主要方法 继承关系 public class StringBufferInputStream extends InputStream 基本属性 protected String buffer; //这是字节被读取的字符串。 protected int pos;//这是下一个字符从输入流缓存器读取的索引。 prot...
2019-03-27 13:43:30 2237
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人