摘要:
分布式服务接口请求的顺序性如何保证? 服务 A 调用服务 B,先插入再删除。好,结果俩请求过去了,落在不同机器上,可能插入请求因为某些原因执行慢了一些,导致删除请求先执行了,此时因为没数据所以啥效果也没有;结果这个时候插入请求过来了,好,数据插入进去了,那就尴尬了。本来应该是 “先插入 -> 再删除 阅读全文
posted @ 2021-04-08 17:12
我是廖志伟
阅读(18)
评论(0)
推荐(0)
摘要:
如何基于 Dubbo 进行服务治理、服务降级、失败重试以及超时重试? 服务治理 调用链路自动生成 一个大型的分布式系统,或者说是用现在流行的微服务架构来说吧,分布式系统由大量的服务组成。那么这些服务之间互相是如何调用的?调用链路是啥?说实话,几乎到后面没人搞的清楚了,因为服务实在太多了,可能几百个甚 阅读全文
posted @ 2021-04-08 11:19
我是廖志伟
阅读(20)
评论(0)
推荐(0)
摘要:
Dubbo 负载均衡策略和集群容错策略都有哪些?动态代理策略呢? 负载均衡: 1、Random LoadBalance,随机(默认的负载均衡策略)是加权随机算法的具体实现,可以完全随机,也可以按权重设置随机概率。 2、RoundRobin LoadBalance,轮循。可以轮询和加权轮询。存在响应慢 阅读全文
posted @ 2021-04-08 11:03
我是廖志伟
阅读(17)
评论(0)
推荐(0)
摘要:
Dubbo 支持哪些序列化协议?说一下 Hessian 的数据结构?PB 知道吗?为什么 PB 的效率是最高的? Dubbo协议:dubbo 缺省协议 采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况,不适合传送大数据量的服务,比如传文 阅读全文
posted @ 2021-04-08 10:57
我是廖志伟
阅读(27)
评论(0)
推荐(0)
摘要:
传播行为? Spring支持7中事务传播行为 一个场景:假设外层方法里面包含二个新增用户和新增角色的方法,二个方法后面还会抛一个异常。 propagation_required(需要传播):当前没有事务则新建事务,有则加入当前事务。 外围方法未开启事务,插入用户表和用户角色表的方法在自己的事务中独立 阅读全文
posted @ 2021-04-08 10:46
我是廖志伟
阅读(22)
评论(0)
推荐(0)
摘要:
Dubbo 的工作原理?注册中心挂了可以继续通信吗? 第一步:provider 向注册中心去注册 第二步:consumer 从注册中心订阅服务,注册中心会通知 consumer 注册好的服务 第三步:consumer 调用 provider 第四步:consumer 和 provider 都异步通知 阅读全文
posted @ 2021-04-08 10:44
我是廖志伟
阅读(25)
评论(0)
推荐(0)
摘要:
CAS,ABA,volatile特性? CAS 操作包含三个操作数 —— 内存位置(V)、预期原值(A)和新值(B)。如果内存地址里面的值和A的值是一样的,那么就将内存里面的值更新成B。CAS是通过无限循环来获取数据的,若果在第一轮循环中,a线程获取地址里面的值被b线程修改了,那么a线程需要自旋,到 阅读全文
posted @ 2021-04-08 10:21
我是廖志伟
阅读(18)
评论(0)
推荐(0)
摘要:
为什么jdk8以后HashMap会使用红黑树优化? 在Jdk1.8版本后,Java对HashMap做了改进,在链表长度超过8且数组长度大于64时,将后面的数据存在红黑树中,以加快检索速度。 为什么是使用红黑树而不是AVL树,AVL树是完全平衡二叉树阿? 在CurrentHashMap中是加锁了的,实 阅读全文
posted @ 2021-04-08 10:21
我是廖志伟
阅读(53)
评论(0)
推荐(0)
摘要:
HashMap为什么会发生并发修改异常?并发修改异常解决方案? HashMap实际使用过程中会出现一些线程安全问题,在JDK1.7中,当并发执行扩容操作时会造成环形链和数据丢失的情况,开多个线程不断进行put操作,rehash的时候,旧链表迁移新链表的时候,如果在新表的数组索引位置相同,则链表元素会 阅读全文
posted @ 2021-04-08 10:20
我是廖志伟
阅读(92)
评论(0)
推荐(0)
摘要:
HashMap加载因子为什么是0.75 如果加载因子比较大,扩容发生的频率比较低,浪费的空间比较小,发生hash冲突的几率比较大。比如,加载因子是1的时候,hashmap长度为128,实际存储元素的数量在64至128之间时间段比较多,这个时间段发生hash冲突比较多,造成数组中其中一条链表比较长,会 阅读全文
posted @ 2021-04-08 10:19
我是廖志伟
阅读(21)
评论(0)
推荐(0)
摘要:
HashMap扩容机制 将(k1,v1)直接放入Node类型的数组中,这个数组初始化容量是16,默认的加载因子是0.75,也就是当元素加到12的时候,底层会进行扩容,扩容为原来的2倍。 可能引发的问题: HashMap实际使用过程中会出现一些线程安全问题,在JDK1.7中,当并发执行扩容操作时会造成 阅读全文
posted @ 2021-04-08 10:18
我是廖志伟
阅读(28)
评论(0)
推荐(0)
摘要:
HashMap底层原理? HashMap是Map的一个实现类,它是以键值对存储数据的,Key-Value都是Map.Entry中的属性。当我们向HashMap中存放一个元素(k1,v1),先根据k1的hashCode方法来决定在数组中存放的位置。如果这个位置没有其它元素,将(k1,v1)直接放入一个 阅读全文
posted @ 2021-04-08 10:17
我是廖志伟
阅读(18)
评论(0)
推荐(0)
浙公网安备 33010602011771号