07 2022 档案
摘要:RabbitMQ主要有六种工作模式,本文整合SpringBoot分别介绍工作模式的实现。 前提概念 生产者 消息生产者或者发送者,使用P表示: 队列 消息从生产端发送到消费端,一定要通过队列转发,使用queue_name表示: 消费者 消费的消费者或者接收者,使用C表示,如果有多个消费者也可以用C1
阅读全文
摘要:前段时间,领导分配一个统计销售区域汇总的数据,解决方案使用到了反射获取注解,通过注解获取属性或者设置字段属性。 问题描述 查询公司列表,分别是公司id、区域id、区域名称: | 公司id | 区域id | 区域名称 | | : :| : : | : : | | 1 | 1 | 华南 | | 2 |
阅读全文
摘要:前言 后端业务开发,每个表都要用到单表的增删改查等通用方法,而配置了通用Mapper可以极大的方便使用Mybatis单表的增删改查操作。 通用mapper配置 1、添加maven: <dependency> <groupId>org.springframework.boot</groupId> <a
阅读全文
摘要:最近看HashMap的源码,其中相同下标容易产生hash冲突,但是调试需要发生hash冲突,本文模拟hash冲突。 hash冲突原理 HashMap冲突是key首先调用hash()方法: static final int hash(Object key) { int h; return (key =
阅读全文
摘要:上文详解HashMap源码解析(上)介绍了HashMap整体介绍了一下数据结构,主要属性字段,获取数组的索引下标,以及几个构造方法。本文重点讲解元素的添加、查找、扩容等主要方法。 添加元素 put(K key, V value) public V put(K key, V value) { retu
阅读全文
摘要:jdk版本:1.8 数据结构: HashMap的底层主要基于数组+链表/红黑树实现,数组优点就是查询块,HashMap通过计算hash码获取到数组的下标来查询数据。同样也可以通过hash码得到数组下标,存放数据。 哈希表为了解决冲突,HashMap采用了链表法,添加的数据存放在链表中,如果发送冲突,
阅读全文