排序
面试题:简述HasmMap和HashSet的区别 ?
在Java中,HashMap和HashSet都是集合框架的重要组成部分,但它们有着不同的用途和特性。下面简述它们之间的主要区别,并附上总结。 数据结构和用途 HashMap:是一个基于哈希表实现的键值对(Key...
面试题:在迭代一个集合的时候,如何避免 ConcurrentModificationException ?
ConcurrentModificationException 是 Java 集合框架中常见的异常,通常发生在使用迭代器遍历集合时,集合的结构被修改(例如添加、删除元素),但未通过迭代器本身进行修改。为了避免该异...
面试题:简述为什么 ArrayList 的 elementData 加上 transient 修饰?
在 ArrayList 的源码中,elementData 数组被声明为 transient,即: transient Object[] elementData; transient 关键字的作用是 阻止该字段被默认的序列化机制...
面试题:什么是 Java 中的 ABA 问题?
ABA 问题是并发编程中的一个经典问题,主要发生在使用 CAS(Compare-And-Swap) 操作时。CAS 是一种乐观锁机制,用于实现无锁并发操作,但它在某些场景下可能会导致 ABA 问题。 1.&nb...
面试题:Synchronized 和 ReentrantLock 有什么区别?
Synchronized 和 ReentrantLock 都是 Java 中用于实现线程同步的机制,但它们在实现方式、功能和灵活性上有显著的区别。以下是它们的主要区别: 1. 实现方式 Synchronized...
面试题:Java 的 CMS 垃圾回收器和 G1 垃圾回收器在记忆集的维护上有什么不同?
在 Java 中,CMS(Concurrent Mark-Sweep)和 G1(Garbage-First)是两种常见的垃圾回收器,它们在记忆集(Remembered Set,简称 RSet)的维护上有一些显著的不同。记忆集的主要作用是记录跨代...
面试题:在 RocketMQ 中,什么是事务消息?如何实现分布式事务?
一、事务消息基本概念 事务消息是 RocketMQ 提供的一种特殊消息类型,用于解决分布式系统中的事务一致性问题。它通过'半消息'机制实现分布式事务的最终一致性。 核心特点: 两阶段提交:准备阶...
面试题:Spring Boot 中如何实现异步处理?
在 Spring Boot 中,异步处理可以通过多种方式实现,主要目的是提高系统的并发性能和响应速度。以下是常见的实现异步处理的方式: 1. 使用 @Async 注解 Spring 提供了 @Async 注解,可以将方法...
面试题:什么是 Java 内存模型(JMM)?
Java 内存模型(Java Memory Model, JMM) 是 Java 虚拟机(JVM)定义的一种规范,用于描述多线程环境下,线程如何与主内存和工作内存交互,以及如何保证线程之间的可见性、有序性和原子性...
面试题:说明 public static void main(String args[]) 这段声明里每个关键字的作用
1. public 作用: 表示该方法的访问权限是公共的。 JVM 需要从外部调用 main 方法,因此必须将其声明为 public,否则 JVM 无法访问。 2. static 作用: 表示该方法是静态的,属于...