![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java源码
文章平均质量分 95
开开开山怪
没时间学习的查爷
展开
-
本地缓存-loadingCache
本地缓存get方法:V get(K key, int hash, CacheLoader<? super K, V> loader) throws ExecutionException { Preconditions.checkNotNull(key); Preconditions.checkNotNull(loader); Object var15; try { //c原创 2021-11-22 10:46:54 · 13995 阅读 · 1 评论 -
LinkedBlockingQueue多线程安全的保障 —————— 开开开山怪
LinkedBlockingQueue多线程安全的保障原创 2020-03-08 16:36:11 · 4142 阅读 · 0 评论 -
ArrayBlockingQueue 实现多线程安全 —————— 开开开山怪
我们都知道在使用线程池的时候我们需要选择相应的阻塞队列,当核心线程池的线程处于忙的状态,那需要将新的任务加入到阻塞队列中。一.ArrayBlockingQueue二.LinkedBlockingQueue...原创 2020-03-08 16:29:09 · 4878 阅读 · 1 评论 -
Reentrantlock和背后金主AQS —————— 开开开山怪
ThreadPoolExecutor源码解析public void execute(Runnable command) { if (command == null) throw new NullPointerException(); int c = ctl.get();//在最初的初始化的时候会进行对核心线程池数量的确定//...原创 2020-02-16 11:32:07 · 488 阅读 · 0 评论 -
Reentrantlock和其搭档Condition —————— 开开开山怪
这篇博客具体来说说Condition,但同时也离不开Reentrantlock,因为我们知道对于synchronize来说,是由Object类配合其进行使用,那么对于Reentrantlock来说则采用的Condition和其进行配合,但不同的是对于一个synchronize只拥有一个阻塞队列,就是我们平时new 一个Object对象,采用Object对象或者是一个Object类作为Synchro...原创 2020-03-08 16:27:38 · 202 阅读 · 0 评论 -
ThreadPoolExecutor线程池 —————— 开开开山怪
说起线程池大家一定都不陌生,其实在很多地方都有应用。当我们解释为什么使用线程池的时候,我们都会说线程池可以减少线程创建的开销,节省系统的资源。但其实线程池真正做到我们说的那样,还和我们设置的参数有关。我们都知道在我们使用线程池的时候,开头要搞很多参数。 public ThreadPoolExecutor (int corePoolSize, int maximumPoolSize,long...原创 2020-02-19 22:17:11 · 257 阅读 · 0 评论 -
HashMap源码解析JDK1.8 —————— 开开开山怪
hashMap源码解析导航1.影响hashmap性能因素key的hash实现loadFactor的设定2.hashMap的数据结构3.hashmap的主要方法解析put()get()resize()remove()containsKey()原创 2020-01-26 15:31:20 · 414 阅读 · 3 评论