Java
标签:Java
文章RabbitMQ使用教程(超详细)
RabbitMQ是基于AMQP协议的消息队列,用于系统间异步通信和解耦。本教程涵盖其五种工作模式:简单队列、Work公平分发、订阅、路由和主题模式,并提供了Spring与SpringBoot集成RabbitMQ的环境搭建及代码示例。
文章深入理解线程池--ThreadPoolExcutor
Java线程池通过ThreadPoolExecutor实现,使用corePoolSize、maximumPoolSize等参数管理线程。任务先由核心线程处理,队列满时创建额外线程,超过限制时触发饱和策略。常见阻塞队列包括ArrayBlockingQueue和LinkedBlockingQueue,四种标准线程池如newFixedThreadPool提供不同。
基于canal同步mysql的数据到es中
首发公众号:MarkerHub 原创作者:吕一明 视频讲解: hello,大家好呀,好久没写过原创了,今天带大家做个实验吧,基于canal同步mysql的数据到es中! 原理啥的,都给我百度去吧,这里直接搞实验! 本文使用docker环境安装mysql、canal、el…
文章过滤文本中的敏感词汇
蘑菇博客作者陌溪发现留言区存在不当言论,为净化评论环境,采用字典树技术实现敏感词过滤系统。该系统通过读取敏感词文件构建前缀树,并设计过滤算法将敏感词自动替换为星号,有效提升了评论管理的自动化水平。
文章使用注解形式实现 Redis 分布式锁
本文介绍了一种基于Redis的分布式锁实现,通过AOP切面和注解驱动,确保耗时操作的并发安全。核心包括加锁、续时和释放锁机制,使用定时线程池定期延长锁过期时间,防止任务未完成时锁提前释放,并提供了完整的代码示例和测试验证。
文章面试官:谈谈你对ThreadLocal的理解?
ThreadLocal是Java中提供线程局部变量的工具,可实现线程间的数据隔离。每个Thread内维护一个ThreadLocalMap,以ThreadLocal为键、局部变量为值。使用时需及时调用remove方法,避免因Entry键弱引用回收而值未回收导致的内存泄漏。适用于线程内数据传递与事务管理场景。
文章记一次dump文件分析历程
核心服务内存溢出,分析发现是File.deleteOnExit()方法导致内存泄漏。该方法将临时文件路径存入LinkedHashSet,直到JVM关闭才删除,造成内存累积。建议改用File.delete()立即删除文件。
Java序列化和反序列化为什么要实现Serializable接口
Java序列化将对象转换为字节序列,用于持久化或网络传输。实现Serializable接口使JVM自动处理序列化。显示指定serialVersionUID确保类修改后反序列化兼容,避免版本不一致错误。
文章List复制:深拷贝和浅拷贝用法及区别
本文介绍了Java中List的浅拷贝和深拷贝。浅拷贝只复制引用,导致源列表和目标列表共享对象,修改一个会影响另一个;深拷贝创建新对象并复制内容,使两者独立。文章提供了实现方法并通过测试验证了区别。