
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
因为 class 文件是由类加载器来完成的,如果 class 文件变更了,Tomcat 就会将原来的类加载器销毁,再创建新的类加载器来加载修改后的文件,以实现热部署功能。

上一篇说了 可重入锁 加锁的流程,这个可重入锁其实就是非公平锁,非公平体现在哪里呢?体现在当前客户端如果抢锁失败的话,会拿到这个锁的剩余存活时间,会进行等待,等待之后再次去尝试加锁,里边是没有任何排队的逻辑的,因此是非公平锁

前几篇说了 Redisson 的可重入锁和公平锁是如何实现的这里来讲一下 Redisson 的读写锁是如何实现的,这里在具体学习源码的时候,不要去具体扣他每一行的命令到底是执行的什么操作,扣这些细节是没有意义的那么我们要学习源码中的哪些内容呢?主要是要学习它的 设计思想 ,也就是为了实现功能做了哪些设计,以及实现的 流程 ,了解原理就好了!

Disruptor 的设计中是没有锁的,在 Disruptor 中出现线程竞争的地方也就是 RingBuffer 中的下标 Sequence,Disruptor 通过 CAS 操作来代替加锁,从而提升性能,CAS 的性能大约是加锁操作性能的 8 倍,使用 Netty 接收处理数据时,不要在工作线程上进行处理,降低 Netty 性能,可以使用异步机制,通过线程池来处理,异步处理的话,就是用 Disr

Message Queue:一个 Topic 下可以设置多个消息队列,发送消息的时候,RocketMQ 会轮询该 Topic 下的所有队列将消息发送出去(下图中 Broker 中 Topic 指向的 Q1、Q2、Q3、Q4 就是 MessageQueue)MessageQueue:消息队列,存储数据的一个容器(队列索引数据),默认每个 Topic 下有 4 个队列被分配出来存储消息。Broker:

文章目录头文件char的最大值、最小值int的最大值、最小值long的最大值、最小值long long的最大值、最小值头文件C++的头文件中包含了符号常量,用来表示类型的限制。下边列出一些常用的符号常量:char的最大值、最小值#include <iostream>#include <climits>using namespace std;int main(){cout &
为什么要学习 RateLimiter 原理呢,其实是因为我的项目中使用到了 RateLimiter 进行限流,之前有一次在唯品会面试的时候,面试官就问到了 RateLimiter 的底层限流算法以及原理,当时回答的并不是很好,所以这里整理一下!这篇文章并没有讲 RateLimiter 的源码,底层源码看起来比较复杂,主要来理解它的限流算法原理、存在的缺点、以及在真实项目中如何使用它!

🌈🌈🌈🌈🌈🌈🌈🌈欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术 的推送发送 资料 可领取 深入理解 Redis 系列文章结合电商场景讲解 Redis 使用场景、中间件系列笔记和编程高频电子书!文章导读地址:点击查看文章导读!🍁🍁🍁🍁🍁🍁🍁🍁

欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术的推送!在我后台回复 「资料」 可领取编程高频电子书!在我后台回复「面试」可领取硬核面试笔记!文章导读地址:点击查看文章导读!感谢你的关注!

欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术的推送!在我后台回复 「资料」 可领取编程高频电子书!在我后台回复「面试」可领取硬核面试笔记!文章导读地址:点击查看文章导读!感谢你的关注!
