Java
#Tag
2025-06-20 23:36

想合作开发麻烦联系我 :D 访问地址:http://steins.lufy.fun 前端开源地址:https://github.com/LittleDrip/Steins-Gate-Room 后端开源地址:https://github.com/LittleDrip/Steins-GateRoom-b

2025-06-20 22:55

ArrayList和LinkedList的区别是什么? 底层数据结构 ArrayList 是动态数组的数据结构实现 LinkedList 是双向链表的数据结构实现

2025-06-19 19:56

问题背景 项目里刚好需要实现一个延迟订单取消任务。具体而言,如果一份订单在生成后的15分钟内未完成支付,系统需要自动取消该订单,并返还相关订单所使用的优惠券或免费额度等资源。 虽然引入MQ或者Kafka也是一种解决方法,但出于最大程度减少系统复杂性的角度考虑,强烈建议充分利用已有的Redis组件(例

2025-06-19 19:54

LRU(Least Recently Used) 最近最少使用,它的设计原则借鉴了时间局部性原理,该算法认为如果数据最近被访问过,那么将来被访问的几率也更高,反之亦然。其原理是将数据按照其被访问的时间形成一个有序序列,最久未被使用的数据应该最早被淘汰掉,即当缓存空间被占满时,缓存内最长时间未被使用的

2025-03-18 21:18

redis做为缓存,数据的持久化是怎么做的? 在Redis中提供了两个持久化方案,1)RDB (快照文件) ,2)AOF(日志文件-追加命令)。

2025-03-18 19:16

什么是Redis Redis是基于内存的数据库,它支持许多数据类型。比如像常见的String,Set,Hash,List,ZSet,Stream等。并且对于这些数据类型,Redis的操作都是原子性的,因此无需考虑并发竞争的问题。 另外,由于他是基于内存的数据,因此读写速度非常快,常用于缓存,消息队列

2025-03-09 20:32

Java的集合类分为两大类。一个是Collection接口另一个是Map接口。 前者主要是List,Set,Queue。用于存储对象。 后者则是存储的键值对。 List接口: LinkedList 基于双向链表的List,插入,删除速度快,但是查询数据慢。 ArrayList 基于动态数组的List

2025-03-09 17:52

JDK1.7 ConcurrentHashMap使用的是分段锁,即每个Segment是独立的,可以并发访问不同的的Segment,默认是16个Segment,即最多有16个线程可以并发访问。 JDK1.8移除了分段锁,锁的粒度变得更加细化,改用CAS进行插入操作。只有在更新或删除的时候使用synch

2025-03-09 17:29

HashMap是基于哈希表的数据结构,用于存储键值对。其核心是将键的哈希值映射到数组的索引位置。在JDK1.7以前,通过数组,链表来解决哈希冲突。JDK1.8以后通过数组,链表,红黑树来处理哈希冲突。 HashMap的初始容量是16,负载因子是0.75。如果数组容量超过16*0.75=12后,则开始