自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 CompletableFuture默认线程池ForkJoinPool.commonPool()使用的是守护线程还是非守护线程?

守护线程(Daemon Thread)运行在后台,不会阻止JAVA虚拟机(JVM)的退出,当JVM中所有非守护线程结束运行时,JVM会自动退出。的默认线程池ForkJoinPool.commonPool()使用的是守护线程,使用的时候要注意。

2024-12-10 17:52:53 681 1

原创 ThreadLocal源码解析

见名知意,线程本地变量,它为每个使用该变量的线程都提供一个独立的副本,使得变量在线程间隔离,从而达到线程安全的目的。这里先提供一张ThreadLocal的结构示意图,下文在具体分析。

2024-12-07 12:40:28 1269 1

原创 Redis数据持久化

我们都知道Redis是基于内存的非关系型数据库,基于内存那他的数据是怎么持久化的呢,这篇文章将对Redis的数据持久化进行学习,Redis提供了两种数据持久化的方式RDB将会创建数据快照在声明的时间间隔内,根据快照恢复数据AOF方法会记录服务器接收到的每个写操作。AOF文件可以每秒更新一次,也可以在每次写入时更新一次,从而允许通过重放这些操作来重建数据库,直至故障点。Redis支持两种持久化方式同时存在,也可以关闭数据持久化当他只需要作为缓存来使用的时候。

2024-12-04 21:09:43 424

原创 Redis事务

本文主要是对Redis的事务进行总结提出问题:Redis支持事务吗?答:支持,但是和传统的关系型数据库事务有一定的区别,下面一起来看看。官网地址翻译一下就是,Redis支持单步执行一组命令,主要是通过MULTIEXECDISCARDWATCH这些关键字来运行事务。

2024-12-03 22:42:47 672

原创 常见限流算法总结

本文将对常见的限流算法进行学习,理解实现原理,分析他们的应用场景,对比他们之间的不同。计数器限流算法滑动窗口限流算法漏桶算法令牌桶算法限流在微服务中使用的场景很多,有很多组件都实现了限流。如网关Nginx,阿里的限流框架Sentinel, Google的Guava等,他们的底层也使用到了上述的限流算法,平时我们可以根据需要灵活的选择需要使用哪种。

2024-12-03 20:33:34 1486

原创 CountDownLatch用法和注意事项

字面意思就是计数器锁,也是基于AQS实现的,用于协调多个线程之间的同步。他的作用是使一个或者多个线程等待其他线程执行完成后再执行。CountDownLatch的使用相对简单,使用的时候要特别注意要确保countDown方法的调用,不要发生死锁。

2024-11-30 23:34:32 513

原创 JAVA线程池学习笔记

JAVA线程池的学习笔记。

2024-11-29 15:22:27 925

原创 AQS学习笔记

AQS: Abstract Queued Synchronizer 抽象队列同步器,是java并发编程中一个非常重要的框架,提供了一种高效的锁同步机制,常见的锁实现如Semaphore都是基于AQS实现,本文将基于JDK1.8源码分析AQS实现的思想。AQS是一个强大的同步框架,它通过维护一个同步状态和一个FIFO等待队列,实现了高效的锁和同步机制。可以实现公平锁和非公平锁,可以实现可重入。采用了CAS来保证原子性。

2024-11-28 17:26:15 939

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除