一江溪水
RabbitMQ中消息确认和返回机制 RabbitMQ中消息确认和返回机制
RabbitMQ中消息确认和返回机制 为了保证 RabbitMQ 中消息的可靠性投递,以及消息在发生特定异常时的补偿策略 RabbitMQ诞生了消息确认和返回机制 这两种机制是 RabbitMQ 自带的补偿机制,可以直接使用消息确认消息确认
2021-08-02
RabbitMQ队列模型 RabbitMQ队列模型
模型定义 生产者(Producer):发送消息到队列的模块,可以理解为消息的提供者 队列(Queue):存储消息的一段空间,作为消息的缓存模块; 消费者(Consumer):从队列中接受消息的模块,可以理解为消息的处理者 交换机(Excha
2021-07-28
消息队列基础 消息队列基础
什么是队列队列这个概念非常好理解,你可以把它想象为在食堂排队打饭,先来的先打,后来的人只能站末尾,不允许插队,先进者先出,这就是典型的队列。队列的特定就是先进先出,先来的先出去 什么是消息队列消息 消息是指在应用间传送的数据。 消息可以非常
2021-07-27
Java集合之HashMap(三) Java集合之HashMap(三)
线程安全在多线程,高并发的场景下,HashMap存在线程安全问题 主要原因在于并发下的rehash会造成元素之间会形成一个循环链表。 jdk 1.8 后解决了这个问题,但是还是不应该在多线程下使用HashMap ,因为多线程下使用Hash
2021-07-23
Java集合之HashMap(二) Java集合之HashMap(二)
HashMap扩容机制明确几个参数: capacity 即容量,默认16。 loadFactor 加载因子,默认是0.75 threshold 阈值。阈值=容量*加载因子。默认12。当元素数量超过阈值时便会触发扩容。 什么时候触发扩容?
2021-07-22
Java集合之HashMap(一) Java集合之HashMap(一)
在讲HashMap之前,先说说Java中的集合框架 Java 的集合框架Java 中集合主要分为java.util.Collection和java.util.Map两大接口 List,Set,Map三者区别 List:线性表,必须按照顺序保
2021-07-21
分布式理论CAP和BASE 分布式理论CAP和BASE
CAP理论所谓CAP理论,就是分布式系统下的: 一致性(C:Consistency) 可用性(A:Availability) 分区容忍性(P:Partition tolerance) 一致性(C:Consistency)在分布式环境下,
Spring两大特性:IOC和AOP Spring两大特性:IOC和AOP
IOC(Inverse of Control)控制反转说起控制反转,首先要了解一下软件设计的一个重要思想:依赖倒置 依赖倒置原则假如现在要造一台手机,先设计处理器,然后根据处理器的规格设计主板,接着根据主板设计机身,最后根据机身设计好整个手
2021-07-20
如何保证缓存与数据库的一致性? 如何保证缓存与数据库的一致性?
常见的缓存更新策略 先更新缓存,再更新数据库 先更新数据库,再更新缓存 先删除缓存,再更新数据库 先更新数据库,再删除缓存 延时双删-更新数据库前后均删除缓存 如果系统不存在并发情况,这些策略都没问题,但是一旦协同并发上来后,这些策略都有
2021-07-19
线程复用-线程池 线程复用-线程池
线程池是什么 池化技术能够减少资源对象的创建次数,提高程序的响应性能,特别是在高并发下这种提高更加明显 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务 为什么要用线程池主要是为了减少每次获取资源的
2021-07-18
线程与进程 线程与进程
进程 是指计算机中已运行的程序,它是一个动态执行的过程。假设我们电脑上同时运行了浏览器、QQ 以及代码编辑器三个软件,这三个软件之所以同时运行,就是进程所起的作用。线程 是操作系统能够进行运算调度的最小单位。大部分情况下,它被包含在进程之中
如何解决缓存穿透,缓存击穿,缓存雪崩 如何解决缓存穿透,缓存击穿,缓存雪崩
前言缓存在我们日常的开发中,都要数据库来进行数据的存储,当系统的用户量上来之后,系统需要承受大量的并发操作,特别是对数据库的操作,是主页访问量瞬间较大的时候,单一使用数据库来保存数据的系统会因为面向磁盘,磁盘读/写速度比较慢的问题而存在严重
2021-06-20
8 / 10