排序
面试题:解释什么是不可变对象(immutable object)?
1. 不可变对象的定义 不可变对象(Immutable Object)是指对象的状态在创建后不能被修改的对象。换句话说,一旦一个不可变对象被创建,它的所有属性(字段)都是只读的,任何试图修改这些属性的...
面试题:解释下 Marshalling 和 demarshalling
Marshalling(编组) 和 Demarshalling(解组) 是分布式系统中用于数据转换和传输的关键概念。它们的主要作用是将数据从一种格式转换为另一种格式,以便在不同的系统或组件之间...
面试题:简述迭代器 Iterator 是什么 ? Iterator 怎么使用?有什么特点?
什么是 Iterator(迭代器)? 在Java中,Iterator是一个用于遍历集合(如List、Set等)元素的对象。它提供了一种统一的方式来访问集合中的元素,而无需暴露集合的内部表示。Iterator是Java集合...
面试题:你了解时间轮(Time Wheel)吗?有哪些应用场景?
时间轮(Time Wheel)是一种高效的定时任务调度算法,常用于实现延迟任务或周期性任务的调度。它的核心思想是通过一个循环数组(类似于时钟的表盘)来表示时间,每个槽(slot)代表一个时间间隔...
面试题:什么是 Java 的 TransmittableThreadLocal?
TransmittableThreadLocal 是阿里巴巴开源的一个线程本地变量工具类,它是对 Java 标准库中的 ThreadLocal 的增强。ThreadLocal 用于在多线程环境中为每个线程保存独立的变量副本,但 ThreadLoc...
面试题:说说 Spring Boot 的启动流程?
Spring Boot 的启动流程可以概括为以下几个关键步骤: 加载 SpringApplication: 当调用 SpringApplication.run() 方法时,Spring Boot 会创建一个 SpringApplication 实例。 这个实例会初...
面试题:Java 中的 CMS 和 G1 垃圾收集器如何维持并发的正确性?
在 Java 中,CMS(Concurrent Mark-Sweep)和 G1(Garbage-First)垃圾收集器都支持并发垃圾回收,即在应用程序运行的同时执行部分垃圾回收工作。为了维持并发的正确性,它们需要解决以下问题:...
面试题:Spring 中的 @ResponseStatus 注解的作用是什么?
@ResponseStatus 是 Spring 框架中的一个注解,用于自定义 HTTP 响应状态码和原因描述。它可以用在类或方法上,指定当方法成功执行或抛出异常时返回的 HTTP 状态码。 作用 自定义 HTTP 状态码:...
面试题:什么是 AOP?
AOP(Aspect-Oriented Programming,面向切面编程)是一种编程范式,旨在将横切关注点(Cross-Cutting Concerns)从核心业务逻辑中分离出来,以提高代码的模块化、可维护性和可重用性。 1. ...
面试题:Spring Cloud 可以选择哪些 API 网关?
在 Spring Cloud 生态系统中,可以选择多种 API 网关 组件来构建微服务架构中的统一入口。 以下是常见的 API 网关选项及其特点: 1. Spring Cloud Gateway 特点: Spring 官方推出的 API...