科南每日一记

前后端一体项目Nginx配置导致js样式404或不生效

该配置会导致以下文件类型404 location ~* \.(?:css(\.map)?|js(\.map)?|jpe?g|png|gif|ico|cur|heic|webp|tiff?|mp3|m4a|aac|ogg|midi?|wav|mp4|mov|webm|mpe?g|avi|ogv|flv

Conan 发布于 2024-01-09

String s = new String("1")创建了几个对象

String s = new String("1"); 常量池对象:中会查看是否有已经是 "1" 的字符串常量,如果没有,那么会在常量池中创建它。这个 "1" 就是在方法区的字符串常量池中创建的一个对象。存放于方法区 堆上对象: 即 new String("1")。这是一个新创建的 String 对

Conan 发布于 2023-12-29

Redis分布式锁去获取唯一Token

使用Redis的seltIfAbsent【线程安全的原子操作,不可分割,整体执行】 获取Token时,判断需要获取新Token【此处:token为空或token的有效期小于10s】,即需要刷新Token: 先获取一个刷新Token的锁 获取成功:

Conan 发布于 2023-12-29

Seata分布式事务三种模式区别

Seata主要支持三种分布式事务模式: AT模式(Auto-commit Transaction):此模式为自动提交型分布式事务。该模式使用undo/redo logs(撤销/重做日志)来保持全局事务的一致性。操作执行成功后,会自动提交事务,并清除undo log。如果事务需要回滚,它就对undo

Conan 发布于 2023-12-29