![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
文章平均质量分 95
Java
七里翔
这个作者很懒,什么都没留下…
展开
-
SpringBoot + Dubbo 简单 demo 实践
SpringBoot + Dubbo 简单 demo 实践休息了一个月终于又要上班了,下家公司的项目用的是Dubbo+Zookeeper,由于之前只用过Spring Cloud,所以提前了解一下Dubbo的使用,搭了个简单的 demo 感受 Dubbo 和 Spring Cloud 的区别。大概流程如下:Zookeeper搭建Dubbo可视化管理界面搭建接口层定义服务层实现消费层调用Dubbo基本工作原理Dubbo 是一款 RPC 服务框架,它最大的优势在于提供了面向接口代理的服务编程原创 2021-07-02 13:55:38 · 665 阅读 · 0 评论 -
JDK7 HashMap多线程扩容导致的死循环问题
JDK7HashMap多线程扩容导致的死循环问题前言源码多线程扩容前言JDK8以前的HashMap,多线程扩容的时候可能会出现死循环,这个问题在JDK8得到了修复。本翔看了大半天JDK7HashMap扩容源码找这个问题,所以写篇博客记录记录。源码先来看看JDK7的HashMap扩容相关源码。 //扩容 void resize(int newCapacity) { Entry[] oldTable = table; int oldCapacity = oldTa原创 2020-11-22 13:24:09 · 1174 阅读 · 1 评论 -
JDK8 HashMap源码理解
HashMap前言一、数据结构1.1 Node1.2 重要参数二、源码分析2.1 插入2.2 查找2.3 树形化2.4 扩容总结前言最近本翔再次认真阅读了HashMap的源码,总结一下自己的一些理解,希望对大家能有点帮助。一、数据结构HashMap的数据结构是数组+链表,数组里面是一个个Node(JDK7及之前叫Entry),在JDK8中加入了红黑树。HashMap根据存入的对象的hash跟数组长度取模得出下标,如果发生了哈希冲突,则新插入的键值对会放到上一个节点的后面,形成链表。当链表长度超过原创 2020-11-19 00:01:29 · 120 阅读 · 0 评论