排序
面试题:什么是 RabbitMQ 中的消费者和生产者?
在 RabbitMQ 中,生产者(Producer) 和 消费者(Consumer) 是消息传递模型中的两个基本角色。它们分别负责消息的发送和接收,共同构成了一个典型的发布/订阅系统。下面是对这两个概念的详细解...
面试题:Java 并发库中提供了哪些线程池实现?它们有什么区别?
Java 并发库(java.util.concurrent)提供了多种线程池实现,主要通过 Executors 工具类来创建。这些线程池实现各有特点,适用于不同的场景。以下是常见的线程池实现及其区别: 1.&nb...
面试题:什么是 Java 的 happens-before 规则?
happens-before 规则 是 Java 内存模型(JMM)中定义的一种偏序关系,用于描述多线程环境下操作之间的 可见性 和 有序性。它确保在一个线程中执行的某些操作的结果对...
面试题:Spring Boot 配置文件加载优先级你知道吗?
是的,Spring Boot 配置文件的加载优先级是一个非常重要的知识点,尤其是在需要覆盖默认配置或根据环境加载不同配置时。Spring Boot 支持多种配置文件格式(如 application.properties&nbs...
面试题:RocketMQ 中的死信消息是什么?
在面试中,关于 RocketMQ 中的死信消息问题,可以从以下几个方面进行回答: 1. 死信消息的概念 死信消息(Dead-Letter Message)是指那些无法被消费者正常消费的消息。这些消息通常是因为以下原...
面试题:简述 System.gc() 和 Runtime.gc() 的作用?
System.gc(): System.gc() 是一个静态方法,用于向 JVM 发出垃圾回收的请求。 调用 System.gc() 会建议 JVM 执行垃圾回收,但 JVM 不保证会立即执行垃圾回收。 它实际上是调用了 Runtime.ge...
面试题:你了解的 Spring 都用到哪些设计模式?
Spring 框架是一个高度模块化、设计精良的框架,其中大量使用了设计模式来解决复杂问题。以下是一些在 Spring 中常见的设计模式及其应用场景: 1. 单例模式(Singleton) 应用场景:Spring 容器...
面试题:RocketMQ 的广播模式与集群模式有什么区别?
一、核心区别总览 特性集群模式 (CLUSTERING)广播模式 (BROADCASTING)消息分发方式每条消息只被一个消费者实例消费每条消息被所有消费者实例消费消费进度存储Broker 端集中存储各消费者本地存储...
面试题:Spring 中的 @Cacheable 和 @CacheEvict 注解的作用是什么?
@Cacheable 和 CacheEvict 是 Spring 框架中用于缓存管理的注解,它们基于 Spring 的缓存抽象机制,可以帮助开发者轻松实现方法的缓存和缓存清理功能。 1. @Cacheable 注解 @Cacheable 用于将方...
面试题:ThreadLocal 的缺点?
ThreadLocal 是 Java 中用于实现线程本地存储的强大工具,但它也存在一些缺点和潜在问题。以下是 ThreadLocal 的主要缺点: 1. 内存泄漏问题 原因: ThreadLocal 的值存储...