- Java教程
面试官:如何设计和实现一个带过期时间的本地缓存?
今天我们来基于ConcurrentHashMap与ScheduledThreadPoolExecutor来实现一个线程安全的本地缓存:LocalCache。在LocalCache中支持永久缓存与临时缓存,永久缓存的数据一直...
- Java教程
我们一起聊聊如何使用Spring Boot 3 和 Redis 实现实时智能客服系统
通过以上的步骤,我们就能够利用 Spring Boot 3 和 Redis 搭建一套实时智能客服系统了。然而这只是实现这个系统的基础,要让这个系统真正成为一个高效的客...
- Java教程
JVM类加载:如何手写自定义类加载器,命名空间详解
类加载器是负责加载类的对象。类加载器是一个抽象类。给定类的二进制名,类加载器应该尝试定位或生成构成类定义的数据(回去查找对应的class文件如...
- Java教程
四万字102道Java多线程经典面试题
四万字102道Java基础经典面试题总结,打造Java面试题一站式解决方案。希望对你有所帮助!...
- Java教程
SpringBoot整合Flink CDC,实时追踪数据变动,无缝同步至Redis
具体来说,Flink CDC的应用场景包括但不限于实时数据仓库更新、实时数据同步和迁移、实时数据处理等。它还可以确保数据一致性,并在数据发生变更时能...
- Java教程
为何应抛弃Date:探索更优的日期处理方案
java.util.Date(Date从现在开始)是一个糟糕的类型,这解释了为什么它的大部分内容在 Java 1.1 中被弃用(但不幸的是仍在使用)。 设计缺陷包括: 它的名称...
- Java教程
从JDK8到JDK14:阿里巴巴面试题探索Java的演进之路!
作为我们日常开发的利器,JDK的更新对于我们的工作有着极其重要的影响。今天,小米将带领大家一一揭秘JDK8至JDK14的新特性,让我们一起进入Java的新世界...
- Java教程
Springboot 3.1.x:快速掌握事件驱动的实用技巧
本文主要探讨事件驱动架构下的事件发布与订阅机制。讨论包含设计事件、发布者、订阅者、消息通道,以及保障消息准确传递,处理消费问题,维持消费...
- Java教程
如果你还不理解 RBAC,看看 Jenkins 如何做到的
通过本篇的学习,我们了解了 RBAC 以及角色权限插件的使用。通过实战掌握了如何配置不同用户具有不同角色,不同角色具有不同任务的权限,从而可以更...
- Java教程
Java中的String,这一篇就够了
当字符串是不可变时,字符串常量池才有意义。字符串常量池的出现,可以减少创建相同字面量的字符串,让不同的引用指向池中同一个字符串,为运行时...
- Java教程
基于TTL 解决线程池中 ThreadLocal 线程无法共享的问题
在基于Java的应用开发领域,尤其是在利用Spring框架、异步处理和微服务架构构建系统时,常常需要在不同线程或服务之间传递用户会话、数据库事务或其他...
- Java教程
揭秘阿里面试题:如何精准配置垃圾收集器提升性能?
配置垃圾收集器是优化应用程序性能的重要步骤之一。通过合理的内存大小设置、堆空间配置、JVM 优化和专项优化,我们可以提高应用程序的吞吐量、减少...
- Java教程
你有思考过@Transactional事务是真的好用吗?
实际上,若对阿里巴巴发布的Java开发手册有过深入研读,便会发现其中很多规约非常珍贵,有些内容可能不易理解,甚至显得有些生硬。然而,这些规范实...
- Java教程
详解WebSocketMessageBrokerConfigurer在SpringBoot中应用与实践
WebSocketMessageBrokerConfigurer是Spring WebSocket模块中的一个关键接口,它允许开发者对WebSocket消息代理进行高级定制。在Spring Boot 2环境中,我们可以通过实现这个...
- Java教程
京东一面:如何在SpringBoot启动时执行特定代码?
Spring Boot应用程序启动时执行初始化操作的方法是通过监听ApplicationContext事件。ContextRefreshedEvent事件表示ApplicationContext被初始化或刷新时触发的事件。...
- Java教程
一个注解实现 WebSocket 集群方案,这样玩才爽!
WebSocket大家应该是再熟悉不过了,如果是单体应用确实不会有什么问题,但是当我们的项目使用微服务架构时,就可能会存在问题 比如服务A有两个实例A...