摘要:
过滤器(Filter)和拦截器(Interceptor)在 Java Web 开发里是常用的组件,二者都能对请求进行预处理和后处理。 过滤器(Filter) 定义:过滤器是 Servlet 规范的一部分,属于 Servlet 容器提供的功能。它能够对所有进入 Servlet 容器的请求进行过滤,也能 阅读全文
posted @ 2025-03-25 16:28
蒟蒻00
阅读(977)
评论(0)
推荐(0)
摘要:
定义和目的 MySQL 事务 是由一组 SQL 语句组成的逻辑单元,这些语句要么全部执行成功,要么全部回滚,以保证数据库的一致性。例如,在一个银行转账的场景中,从一个账户扣款和向另一个账户存款这两个操作必须作为一个事务来处理,确保不会出现只完成部分操作的情况,从而避免数据不一致。 多线程安全 主要关 阅读全文
posted @ 2025-03-25 12:24
蒟蒻00
阅读(30)
评论(0)
推荐(0)
摘要:
在 Java 中,CAS(Compare and Swap)是一种无锁的原子操作机制,它可以在不加锁的情况下实现对共享变量的原子更新。 原理 CAS 操作包含三个操作数:内存位置(V)、预期原值(A)和新值(B)。CAS 操作会将内存位置 V 中的值与预期原值 A 进行比较,如果相等,则将内存位置 阅读全文
posted @ 2025-03-25 09:57
蒟蒻00
阅读(43)
评论(0)
推荐(0)
摘要:
SETNX 使用方法:SETNX(SET if Not eXists)是 Redis 中一个经典的用于设置分布式锁的命令。它的作用是当指定的键不存在时,才会设置该键的值,如果键已经存在则不做任何操作。但 SETNX 本身不支持直接设置过期时间。 坏处:为了避免死锁(例如持有锁的客户端崩溃而未释放锁) 阅读全文
posted @ 2025-03-25 09:39
蒟蒻00
阅读(116)
评论(0)
推荐(0)
摘要:
Lock 和分布式锁概述 Lock:这是 Java 里的一个接口,它提供了比synchronized关键字更为灵活的锁机制。Lock接口的常见实现类有ReentrantLock,借助lock()方法来获取锁,使用unlock()方法释放锁。它主要用于单个 JVM 内的线程同步。 分布式锁:在分布式系 阅读全文
posted @ 2025-03-25 09:13
蒟蒻00
阅读(32)
评论(0)
推荐(0)
摘要:
synchronized 是 Java 中用于实现线程同步的关键字,它可以保证在同一时刻只有一个线程能够访问被 synchronized 修饰的代码块或方法,从而避免多线程环境下的数据竞争和不一致问题。 实现机制 1、同步方法:当一个方法被 synchronized 修饰时,它被称为同步方法。在字节 阅读全文
posted @ 2025-03-25 08:30
蒟蒻00
阅读(52)
评论(0)
推荐(0)

浙公网安备 33010602011771号