排序
面试题:解释下 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)垃圾收集器都支持并发垃圾回收,即在应用程序运行的同时执行部分垃圾回收工作。为了维持并发的正确性,它们需要解决以下问题:...
面试题:说说 Java 的执行流程?
Java程序的执行流程可以分为几个主要阶段,从源代码编写到最终的执行。以下是Java程序的执行流程: 1. 编写源代码 开发者使用Java编程语言编写源代码文件,文件扩展名为.java。 例如:Hell...
面试题:Spring 事务在什么情况下会失效?
Spring 事务管理是 Spring 框架中的一个重要特性,但在某些情况下,事务可能会失效。以下是导致 Spring 事务失效的常见场景及其原因: 1. 方法非 public 修饰 Spring 事务默认只对&nb...
面试题:在 Spring Boot 中如何实现多数据源配置?
在 Spring Boot 中,多数据源配置是一个常见的需求,尤其是在需要连接多个数据库的场景中。以下是实现多数据源配置的详细步骤: 1. 添加依赖 首先,确保在 pom.xml 中引入了 Spring Boot 的数据...
面试题:什么是 Hystrix?
Hystrix 是 Netflix 开源的一个容错库,用于处理分布式系统中的延迟和故障。它的核心目标是防止分布式系统中的服务雪崩,通过提供熔断、降级、隔离、请求缓存等功能,提高系统的稳定性和可...