- 博客(162)
- 收藏
- 关注
原创 Spring循环依赖看这一篇就够了,解决它真的需要三级缓存吗?
循环依赖是指在Spring中,两个或多个bean相互依赖,形成闭环。Spring通过三级缓存机制解决了单例bean的循环依赖问题。
2024-12-24 20:16:49
969
原创 【并发容器】ConcurrentLinkedQueue:优雅地实现非阻塞式线程安全队列
ConcurrentLinkedQueue 是一个非阻塞(lock-free)的线程安全队列,它适合在高并发场景下使用,能够提供高吞吐量和低延迟。数据结构:基于单向链表。核心原理:通过操作确保线程安全,避免锁的性能开销。应用场景适合多线程环境中频繁进行入队(offer)和出队(poll)操作,但并发又不是特别激烈。在不需要阻塞等待的场景下,优于阻塞式队列(如 BlockingQueue)。特点:ConcurrentLinkedQueue 是无界队列,并且遵循FIFO(先进先出)原则。
2024-12-17 22:00:03
780
原创 【并发容器】源码级ConcurrentHashMap详解(java7&8)
ConcurrentHashMap详解看这一篇就够了,java1.7和java1.8
2024-12-17 19:34:21
798
原创 【Java中的锁】队列同步器(AQS)详解
AQS即的简称,翻译过来就是抽象队列同步器的意思,它使用一个int成员变量表示同步状态,通过内置的FIFO队列来完成想要获取资源的线程的排队工作,是实现大部分同步需求的基础。使用AQS可以简单且高效地构造出应用广泛的大量的同步器,比如SemaphoreFutureTask等皆是基于AQS的。
2024-12-17 13:43:55
872
原创 【多线程】Java并发编程基础面试题
ThreadLocal是一种线程局部变量工具,它提供了线程局部变量,每个使用该变量的线程都有该变量的独立初始化的副本,多个线程之间的变量互不影响。ThreadLocal主要用于将用户线程与某个线程内部的资源关联起来,例如用户请求的上下文信息。它避免了线程安全问题,因为每个线程都使用自己的变量副本,不存在共享资源的竞争。
2024-12-16 16:09:29
615
原创 Dcoker安装nginx,完成反向代理和负载均衡
nginxNginx是一个高性能的 HTTP 和反向代理 Web 服务器。它的主要功能包括反向代理、负载均衡和动静分离等。本文主要介绍nginx的功能以及docker安装和配置反向代理以及实现负载均衡。
2024-12-13 17:03:50
1185
原创 TransmittableThreadLocal维护Token中的userId
ThreadLocal是 Java 提供的一个用于在多线程环境下存储线程局部变量的类。每个线程都可以独立地存取 ThreadLocal 变量,而不会相互干扰。它是处理多线程并发问题的一种简单有效的方式,常用于存储每个线程独有的数据。
2024-12-01 15:31:33
623
原创 分布式任务调度平台 xxl-job快速入门(手把手教学)
分布式任务调度平台XXL-JOBXXL-JOB是⼀个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。XXL开源社区 | 社区在现代分布式系统中,任务调度和管理是一个不可避免的挑战,尤其是当任务需要高并发、高可靠性和灵活的调度时。传统的调度系统往往需要考虑复杂的调度规则、资源管理以及任务的分发和执行情况。xxl-job 提供了一个简单而强大的解决方案,特别适合需要定时、周期性任务的场景。
2024-11-28 21:41:48
998
原创 雪花算法-时钟回拨和数据倾斜问题
分布式ID的选取以及 UUID为什么不适合作为数据库主键、雪花算法的时钟回拨问题和容易导致数据倾斜问题的解决方案。
2024-11-28 10:41:49
811
原创 计算机应用研究投稿周期
我月中投稿的大概编号是220+,一个月估计有个400左右的收稿,大概录用50篇。整体来说时间比较短难度不大,适合想要毕业,或者有项目结项需求的小伙伴~【北大核心,CCF c、CCFT3类刊】
2024-11-03 00:19:02
407
原创 【MySQL】InnoDB存储引擎内存结构之buffer pool详解
InnoDB架构官方给出的架构图如下图所示。可以看出InnoDB存储引擎主要分为内存结构和磁盘结构。其中这篇博客先来介绍一下内存结构中的Buffer Pool。
2024-11-01 00:26:45
1258
2
原创 【MySQL】InnoDB存储引擎中的锁
实现事务隔离级别的过程中用到了锁,所谓锁就是在事务A修改某些数据时,对这些数据加一把锁,防止其他事务同时对这些数据执行修改操作;当事务A完成修改操作后,释放当前持有的锁,以便其他事务再次上锁执行对应的操作。不同存储引擎中的锁功能并不相同,这里重点介绍InnoDB存储引擎中的锁 。
2024-10-18 17:57:41
1087
原创 【刷题】数组中的逆序对
- 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。. - 力扣(LeetCode)
2024-10-11 10:20:36
377
原创 【MySQL】详解binlog和redolog两阶段提交
在 MySQL 的事务执行过程中,binlog 和 redo log(重做日志)协同工作来确保事务的持久性和数据一致性。MySQL 使用一种称为 【两阶段提交】 的机制来确保这两个日志之间的一致性,以避免在崩溃时出现数据不一致的情况。
2024-10-10 20:18:00
1475
原创 【Redis】Redis线程模型
尽管 Redis 是单线程的,但它能够高效地处理大量并发连接,因为它不需要为每个连接创建单独的线程或进程,而是通过事件驱动的方式监听和处理多个连接上的请求。【Redis单线程模型】
2024-10-08 19:41:02
1820
原创 【Redis】Redis事务
弱化的原子性: redis 没有"回滚机制".只能做到这些操作"批量执行",不能做到"一个失败就恢复到初始状态".不保证一致性:不涉及"约束”也没有回滚.MySOL的一致性体现的是运行事务前和运行后,结果都是合理有效的,不会出现中间非法状态.不需要隔离性:也没有隔离级别,因为不会并发执行事务(redis 单线程处理请求)不需要持久性:是保存在内存的,是否开启持久化,是redis-server 自己的事情,和事务无关.
2024-10-08 16:36:26
1161
原创 【MySQL】MVCC及其实现原理
MVCC介绍以及其实现原理详解,RC和RR隔离级别下MVCC的差异、MVCC+Next-key-Lock 防止幻读
2024-09-27 01:16:03
1595
原创 【JVM】类加载
Java虚拟机(JVM)的 类加载 过程是将字节码文件(.class文件)从存储设备加载到内存,并为其创建相应的类对象的过程。类加载是Java程序运行的基础,保证了程序的动态性和安全性。其中,连接阶段又分为和三个子阶段。JVM类加载器、JVM双亲委派模型
2024-09-15 15:54:20
1290
原创 【JVM】运行时数据区
JVM 运行时数据区域也叫内存布局,但需要注意的是它和Java 内存模型((Java Memory Model,简称JMM)完全不同,属于完全不同的两个概念,它由以下5大部分组成:本地方法栈、虚拟机栈、程序计数器、方法区、堆区
2024-09-15 11:39:41
1096
原创 【Gateway】网关服务快速上手
API网关(简称网关)也是一个服务,通常是后端服务的唯一入口.它的定义类似设计模式中的Facade模式(门面模式,也称外观模式).它就类似整个微服务架构的门面,所有的外部客户端访问,都需要经过它来进行调度和过滤.
2024-09-12 18:05:11
1207
原创 【OpenFeign】服务调用组件的基本使用
使用openFeign,首先需要引入所需要的依赖(spring-cloud-starter-openfeign);然后在启动类上添加@EnableFeignClients注解;接着在客户端定义接口类(Feign客户端),接口和服务端的提供的服务接口相对应;最后就可以使用Feign,注入客户端后就可以像调用本地方法一样调用远程服务的接口了。
2024-09-11 16:43:19
758
区块链 区块链关键技术与应用 中国计算机协会通讯
2024-04-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人