
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
问题:有n盏灯,编号为1~n,第一个人把所有的灯打开,第二个人按下所有编号为2的倍数的开关(这些灯将被关掉),第三个人按下所有编号为3的倍数的开关(期中关掉的将被打开,打开的将被关掉)依此类推,一共有k个人,问最后有哪些灯开着,输入n和k,输出开着的灯的编号。k样例输入:7 3样例输出:1 5 6 7【分析】:用数组flag[],flag[0],flag[1],flag
【题目描述】Given a linked list, determine if it has a cycle in it.Follow up:Can you solve it without using extra space?给定单链表,判断是否存在环?不适用额外空间【知识点】:环链表:从判断一个单链表是否存在循环而扩展衍生的问题,有则称之为有环链表问题。【解决
接入Nginx+Lua脚本实现限流(单IP秒级并发控制)热点数据预加载至Redis集群,设置本地缓存二级兜底。通过Sentinel监控系统QPS,动态调整流量阈值。请求进入rocketMQ削峰填谷,异步通知秒杀结果。采用Redis+Lua原子操作校验库存,防止超卖。设置熔断降级机制(如库存服务失败时返回默认售罄)增加验证码/答题环节分散请求峰值,避免脚本抢购。数据库采用分库分表(用户ID维度拆分)
B+树的每个节点都是一个数据页。从根节点开始,通过二分法快速定位到所要查找记录的页,定位到页以后,在该页内进行二分法,快速定位到数据所在的分组(槽),最后在分组内进行遍历查找。页中存储数据行、页目录,还有页头,文件头,文件尾等。聚簇索引的叶子节点,存放的是实际数据,所有完整的用户记录都存放在聚簇索引的叶子节点。因为如果不分组,每条记录都放1个槽,那么槽也会很多,所以就进行分组放到1个槽里。因为链表
使用SXSSFWorkbook.write(bos)写excel文件时,无法生成文件,报错permission denied。报错的具体位置是SXSSFWorkbook类的write方法,line 515。File tmpFile;tmpFile = tmpFile.createTempFile("poi-sxssf-template",".xlsx");就是Apache POI利用SXSSF写文
虚拟线程是 JDK 21+ 正式提供的轻量级用户态线程,由 JVM 调度,不直接绑定 OS 线程。◦ 内核线程:OS 管理,重量级,数量有限。◦ 平台线程:绑定内核线程,Java 传统线程。每个线程对应操作系统的真实线程,创建成本高,占用内存大◦ 虚拟线程:依附平台线程。很小、动态扩容,不绑定 OS 线程,调度在用户态,资源消耗极低,所以能轻松创建百万• 传统平台线程:线程一阻塞,内核线程直接被占
没有银弹。常量IN输在列表长度和两次查询的一致性;原生IN子查询输在优化器黑盒;EXISTS输在外层全表扫和索引依赖;JOIN输在数据膨胀和驱动表选择。选哪个取决于数据量级、索引设计和业务容忍度,底线是:绝对不用原生IN子查询,其他三种按场景选,但必须先用EXPLAIN看执行计划。
根据 @SpringBootApplication 中的设置,加载应用的配置文件(如 application.properties 或 application.yml),系统变量,命令行参数,将其转化为配置属性(最终封装成configureableEnvironment ),这一步就是把配置全准备好。3)启动应用上下文:启动 ApplicationContext,加载配置类,componentSc
实现原理:获取锁成功后,开启一个后台定时任务,默认每隔 lock过期时间/3 (默认30s锁,10s执行一次),给锁重置过期时长;Synchronized是基于操作系统内核的阻塞锁,虚拟线程被它阻塞时,载体线程会被占用无法复用,丧失虚拟线程轻量调度优势;- 底层实现:Redis的Hash结构,key=锁名称,field=线程唯一标识,value=重入次数;Redis主从异步复制,主节点加锁成功后宕







