首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
敲代码不如跳舞
掘友等级
Java渣渣
💃不如跳舞
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
19
文章 19
沸点 0
赞
19
返回
|
搜索文章
最新
热门
synchronized
1. 简介 synchronized 关键字主要解决多个线程之间访问资源的同步性,被该关键词修饰的方法或者代码块,在某一时刻只有一个线程能够访问。 修饰普通方法,锁的是当前实例对象。 修饰静态方法,锁的是当前类的Class对象。 修饰代码块,锁的是synchronized括号里…
LongAdder 和 Striped64
LongAdder是Java8新增的一个原子操作类,主要用于高并发下的long类型计数和累加操作。LongAdder使用一个或多个变量的总和来维护计数器的值,并且在多线程竞争下,这个变量集可以动态增长。 **LongAdder与AtomicLong相比:**在没有并发的情况下,…
Condition 和 ConditionObject
1. 简介 这些方法与synchronized同步关键字配合使用时,可以实现等待/通知模式。 Condition接口也提供了类似Object的监视器方法,与Lock配合可以实现等待/通知模式。方法如下所示: 2. 使用 Condition的类注释文档中给了一个有界缓冲区的例子,…
AQS
1. 简介 AbstractQueuedSynchronizer,抽象队列同步器,位于java.util.concurrent.locks包下,主要用来实现锁或者其他同步框架。JUC包中的大多数同步器以及锁都是使用该同步器来实现的。 提供了int state来代表同步状态,并提…
【Dubbo】负载均衡
由前面【Dubbo】集群容错机制 文章可知,AbstractClusterInvoker#doSelect会调用LoadBalance#select方法选取一个Invoker并返回。 首先,先来看一下LoadBalance接口,LoadBalance默认使用的负载均衡实现是随机…
【Dubbo】服务字典
由前面【Dubbo】集群容错机制 文章可知,整个容错过程中,会先调用Directory#list方法来获取所有可用的Invoker列表。 首先,来看一下Directory的类图,Directory是顶层的接口。AbstractDirectory封装了通用的实现逻辑。抽象类包含R…
【Dubbo】集群容错机制
Cluster可以看作是一个集群容错层,该层中包含Cluster、Directory、Router、LoadBalance几大核心接口。 Cluster层的整体工作流程如上图所示,其中第1、2、3步都是在AbstractClusterInvoker类中实现,第4步会调用doIn…
【Dubbo】服务引用机制
首先,看一下服务引用的整体流程,如上图所示。Dubbo框架将服务消费分为两大部分,第一步通过持有远程服务实例生成Invoker,这个Invoker在客户端是核心的远程代理对象。第二步会把Invoker通过动态代理转换成实现用户接口的动态代理引用。 服务引用的逻辑是从Refere…
【Dubbo】服务暴露机制
首先,看一下服务暴露的整体流程,如上图所示。Dubbo框架将服务暴露分为两大部分,第一步将持有的服务实例通过代理转换成Invoker,第二步会把Invoker通过具体的协议(比如Dubbo )转换成Exporter。接下来会具体分析一下每个步骤的流程以及源码。 至于Servic…
【Dubbo】扩展点加载机制
SPI 的全称是Service Provider Interface,是一种服务提供发现机制。 Java SPI使用了策略模式,一个接口多种实现。我们只声明接口,具体的实现并不在程序中直接确定,而是由程序之外的配置掌控,用于具体实现的装配。具体步骤如下: 定义一个接口及对应的方…
下一页
个人成就
文章被点赞
47
文章被阅读
14,083
掘力值
560
关注了
15
关注者
13
收藏集
1
关注标签
27
加入于
2018-11-02