- 博客(116)
- 收藏
- 关注
原创 Dockerfile详解
FROMscratchRUN构建阶段推荐使用exec格式(JSON数组)避免shell注入风险COPYADDCMD运行阶段docker rundocker runENV环境变量在构建和运行时均可用;可通过覆盖EXPOSE-vARG仅在构建时可用,运行时不可访问;可通过覆盖;默认值可选LABELAS是一个控制构建输出日志显示格式的选项--no-cache:强制重新执行所有步骤(不利用缓存)RUN: 镜像构建阶段CMD:镜像运行阶段。
2025-07-31 22:09:05
1034
原创 es-存储与搜索优化
商品的详情描述、游戏的多种皮肤,只需要能展示,不需要支持检索、排序,可以使用oss存储,es储存数据地址。原始数据存储(Store)、倒排索引(Inverted Index)、列式存储(DocValues)原始数据,不可检索、不可聚合、不可排序(慎重使用)(es的储存成本比oss高很多)
2025-04-23 16:57:30
507
原创 es-索引详解
在 Elasticsearch 中,**索引(Index)**是核心概念之一,类似于关系型数据库中的“表”。索引用于存储、组织和检索文档(Document)。
2025-03-09 20:56:38
1630
原创 redis-redission的加锁源码与看门狗机制
时间内未被显式释放,Redisson会自动释放该锁。作用:用于标识当前线程,以便Redisson能够跟踪锁的持有者。,表示在尝试获取锁的过程中,线程不会响应中断,即使被中断也会继续尝试获取锁。作用:指定当前线程尝试获取锁的最大等待时间。,表示在尝试获取锁的过程中,如果当前线程被中断(调用了。如果锁未被获取,返回值为锁的剩余过期时间(单位为毫秒)含义:锁的持有时间,即锁的自动释放时间。的时间单位,确保锁的持有时间被正确解析。作用:指定锁的自动释放时间。含义:尝试获取锁的最大等待时间。
2025-01-20 12:06:18
684
原创 Thread-构造函数,属性详解
如:main线程启动的 ThreadGroup 是main, main中启动的线程的 ThreadGroup 默认也是main。daemon线程会一致存在,直到所有的普通线程终止,然后daemon线程才会终止,进而jvm线程终止。意义:线程组,默认使用 parent所在的线程组( parent:创建当前线程的线程)潜在问题:如果是短期的辅助任务,不应该使用daemon线程,因为该线程无法被终止。问题: 有多个daemon线程,部分任务线程终结,daemon线程怎么变化。该线程组中活着的线程数量。
2023-12-24 17:39:33
512
原创 rocketMQ介绍
每个broker对应一个文件,存储数据?还是会根据topic分开放置?每个broker都有从节点,便于做故障转移。支持幂等性过滤重复消息。
2023-12-06 18:48:39
513
原创 JUC-CountDownLatch
允许一条或多条线程等待其他线程中一组操作完成后,再继续执行收集龙珠,召唤神龙:委派7个人同时收集,主人一直等待,直到7个人完成后,主人再继续召唤神龙。
2023-12-04 16:01:10
454
原创 JUC-ReentrantLock
基于AQS,在并发编程中实现公平锁、非公平锁对共享资源进行同步,同时,和synchorized一样支持重入,除此之外,调度上更加灵活。加锁,一直等待,直到获取成功(假如当前线程在等待锁时被中断,则退出等待,抛出中断异常)在一段时间内获取锁(假如当前线程在等待锁时被中断,则退出等待,抛出中断异常)新建一个绑定在当前对象上的condition对象。唯一的变量 Sync,一旦被指定,后期无法修改。ReentrantLock 实现Lock接口。加锁,一直等待,直到获取成功。尝试获取锁,并立即返回。
2023-12-03 22:39:37
882
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人