一、dubbo 核心调用链路 消费者、生产者、注册中心、监控中心 二、dubbo详细流程调用图 三、dubbo 分层架构图 Dubbo框架设计一共划分了10个层,而最上面的S...
![240](https://cdn2.jianshu.io/assets/default_avatar/7-0993d41a595d6ab6ef17b19496eb2f21.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
一、dubbo 核心调用链路 消费者、生产者、注册中心、监控中心 二、dubbo详细流程调用图 三、dubbo 分层架构图 Dubbo框架设计一共划分了10个层,而最上面的S...
MyBatis功能架构设计 功能架构讲解: 我们把Mybatis的功能架构分为三层: (1)API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。...
Java 1.7 引入了一种新的并发框架—— Fork/Join Framework它和ExecutorService使用的场景不同,在一些场景下,ForkJoinPool ...
我们知道线程工作的时候都有自己的工作空间,那线程之间依靠什么实现数据的交换呢?这里介绍一个java 线程数据交换的工具类Exchanger。它主要用于线程之间的数据交换,它有...
之前说过AQS 是所有同步器的基础,那么我们就来说说那些基于AQS的同步工具吧 1、Semaphore 信号量 Semaphore(信号量)是一个控制并发数量两的同步器(吐槽...
前言 相比于ReentrantLock 互斥的设计,现实情况是我们更多的碰到的是 读的次数远远大于写的次数。如果在一个读场景远大于写场景的情况下,我们再去使用Reentran...
ReentrantLock 是 java并发包下互斥锁,功能和synchronized差不多。但是他们的实现原理有很大差别,是基于操作系统互斥量实现的,依赖于JVM的实现,而...
AQS 介绍 AQS 全名AbstractQueuedSynchronizer,是所有同步器的基础。它维护了一个状态值state,这个状态值本身不代表任何含义。根据使用的它的...
一、概述 ThreadLocal相信大家都不陌生,但是具体用法可能还是不是特别了解,需要注意的是ThreadLocal与线程同步无关,并不是为了解决多线程共享变量问题,而是为...
简单聊聊 ThreadPoolExecutor 的使用和注意事项,这里不涉及源码的分析。 一、创建一个线程池 参数说明: @param corePoolSize 核心线程数 ...
LockSupport 定义 Basic thread blocking primitives for creating locks and othersynchroniza...
TreeMap的几个特性 底层实现是通过红黑树实现的(链表实现)。 TreeMap是带有排序的Map。所以它要求key 实现 Comparable 接口 或者显示的传入比较器...
LinkedHashMap 会按照key的插入顺序排列。 LinkedHashMap继承了HashMap。所以和HashMap 的特性保持一致。他在HashMap之上多维护一...
HashMap 作为最常用的map,我们来看看他有什么特性吧。 1、数据结构 底层是用的是数组加链表的结构(jdk1.8 加入了红黑树的特性),允许key 为null(has...
ConcurrentHashMap 是一个线程安全的map。其他特点和hashMap一致。 相比如1.7的分段式锁的设计,1.8采用了cas和synchronized的技术。...