
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
基础通信:共享内存(synchronized/Lock)保证数据安全,但需配合 wait/notify 实现协作;经典协作:wait/notify(Object 监视器)是基础,Condition(Lock 配套)更灵活,支持精准唤醒;高并发首选:BlockingQueue 无需手动处理锁和唤醒,是生产者 - 消费者模型的最优解;高级协作:CountDownLatch/CyclicBarrier/

notify()会随机唤醒一个等待在当前对象 “等待池(wait set)” 中的线程,其他等待线程依然留在等待池中,直到被再次唤醒(notify/notifyAll)或中断。会唤醒所有等待在当前对象 “等待池(wait set)” 中的线程,所有等待线程都会从WAITING转为BLOCKED状态,参与锁的竞争。notify()随机唤醒一个等待线程,性能略优但易导致 “丢失唤醒”,仅适用于单线程等

线程被动进入的状态:当线程尝试获取synchronized 同步锁(对象监视器锁)失败(锁已被其他线程持有),就会进入 BLOCKED 状态,直到锁被释放后参与竞争。线程主动进入的状态:线程通过调用特定方法主动放弃执行权,进入 “无时限等待”,必须通过显式唤醒才能回到 RUNNABLE 状态,否则会永久等待。BLOCKED 是 “被动等锁”:抢 synchronized 锁失败后的状态,等锁释放就

分词器的作用是什么?创建倒排索引时,对文档分词用户搜索时,对输入的内容分词IK分词器有几种模式?ik_smart:智能切分,粗粒度:最细切分,细粒度IK分词器如何拓展词条?如何停用词条?利用config目录的文件添加拓展词典和停用词典在词典中添加拓展词条或者停用词条索引库操作有哪些?创建索引库:PUT /索引库名查询索引库:GET /索引库名删除索引库:DELETE /索引库名修改索引库,添加字段

查询条件破坏了索引的有序性,或优化器认为全表扫描比索引查询更高效。索引字段不参与运算 / 函数;遵循联合索引最左前缀原则;保证查询条件与字段类型一致;避免用OR连接非索引字段。实际开发中,需结合EXPLAIN工具和业务数据分布,针对性优化查询语句。

从NEW启动到RUNNABLE,再根据锁竞争、等待操作进入BLOCKEDWAITING,最终执行完毕进入TERMINATED。理解这些状态转换,有助于诊断线程死锁、阻塞等问题,写出更可靠的多线程程序。

反射是 Spring Boot 框架的 “灵魂”,没有反射,就无法实现 IOC、DI、AOP 等核心功能。尽管反射存在性能损耗,但 Spring 通过一系列优化手段将其影响降到最低,成为 Java 生态中最成功的框架之一。反射机制是 Spring Boot 框架实现核心功能的底层基础,Spring Boot 的依赖注入(DI)、控制反转(IOC)、AOP(面向切面编程)、注解解析等核心特性都大量依









