240 发简信
IP属地:台湾
  • 120
    dubbo整体架构

    一、dubbo 核心调用链路 消费者、生产者、注册中心、监控中心 二、dubbo详细流程调用图 三、dubbo 分层架构图 Dubbo框架设计一共划分了10个层,而最上面的S...

  • 120
    Mybatis架构与原理

    MyBatis功能架构设计 功能架构讲解: 我们把Mybatis的功能架构分为三层: (1)API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。...

  • 9、ForkJoinPool 线程池

    Java 1.7 引入了一种新的并发框架—— Fork/Join Framework它和ExecutorService使用的场景不同,在一些场景下,ForkJoinPool ...

  • 8、Exchanger 线程交换数据工具

    我们知道线程工作的时候都有自己的工作空间,那线程之间依靠什么实现数据的交换呢?这里介绍一个java 线程数据交换的工具类Exchanger。它主要用于线程之间的数据交换,它有...

  • 120
    7、那些基于AQS的同步器

    之前说过AQS 是所有同步器的基础,那么我们就来说说那些基于AQS的同步工具吧 1、Semaphore 信号量 Semaphore(信号量)是一个控制并发数量两的同步器(吐槽...

  • 6、ReentrantReadWriteLock

    前言 相比于ReentrantLock 互斥的设计,现实情况是我们更多的碰到的是 读的次数远远大于写的次数。如果在一个读场景远大于写场景的情况下,我们再去使用Reentran...

  • 5、ReentrantLock

    ReentrantLock 是 java并发包下互斥锁,功能和synchronized差不多。但是他们的实现原理有很大差别,是基于操作系统互斥量实现的,依赖于JVM的实现,而...

  • 120
    4、AQS

    AQS 介绍 AQS 全名AbstractQueuedSynchronizer,是所有同步器的基础。它维护了一个状态值state,这个状态值本身不代表任何含义。根据使用的它的...

  • 3、ThreadLocal

    一、概述 ThreadLocal相信大家都不陌生,但是具体用法可能还是不是特别了解,需要注意的是ThreadLocal与线程同步无关,并不是为了解决多线程共享变量问题,而是为...

  • 2、ThreadPoolExecutor

    简单聊聊 ThreadPoolExecutor 的使用和注意事项,这里不涉及源码的分析。 一、创建一个线程池 参数说明: @param corePoolSize 核心线程数 ...

  • 1、LockSupport

    LockSupport 定义 Basic thread blocking primitives for creating locks and othersynchroniza...

  • 4、TreeMap

    TreeMap的几个特性 底层实现是通过红黑树实现的(链表实现)。 TreeMap是带有排序的Map。所以它要求key 实现 Comparable 接口 或者显示的传入比较器...

  • 3、LinkedHashMap

    LinkedHashMap 会按照key的插入顺序排列。 LinkedHashMap继承了HashMap。所以和HashMap 的特性保持一致。他在HashMap之上多维护一...

  • 2、HashMap

    HashMap 作为最常用的map,我们来看看他有什么特性吧。 1、数据结构 底层是用的是数组加链表的结构(jdk1.8 加入了红黑树的特性),允许key 为null(has...

  • 1、ConcurrentHashMap

    ConcurrentHashMap 是一个线程安全的map。其他特点和hashMap一致。 相比如1.7的分段式锁的设计,1.8采用了cas和synchronized的技术。...