排序
面试题:Java 中的 DelayQueue 和 ScheduledThreadPool 有什么区别?
在 Java 中,DelayQueue 和 ScheduledThreadPoolExecutor 都是用于处理延迟任务的工具,但它们的设计目的、使用方式和内部实现都有显著的区别。下面将详细介绍这两者的不同之处。 DelayQueue De...
面试题:什么是 Java 的 PLAB?
在Java虚拟机(JVM)的垃圾收集(Garbage Collection, GC)过程中,PLAB指的是Promotion Local Allocation Buffer(晋升本地分配缓冲区)。PLAB主要用于并行垃圾收集器中,特别是在处理年轻代到...
面试题:什么是 Java 的网络编程?
Java的网络编程是指利用Java语言提供的API进行网络通信的过程。通过网络编程,Java应用程序可以与其他运行在网络中的程序或服务进行数据交换。Java提供了丰富的类库支持不同层次的网络编程,使...
面试题:JDK8 有哪些新特性?
JDK 8(也称为 Java 8)于2014年3月发布,引入了许多新特性和改进,这些更新极大地增强了Java语言的功能和易用性。以下是JDK 8中一些重要的新特性: 1. Lambda表达式 Lambda表达式允许将行为作...
面试题:什么是 Hash 碰撞?怎么解决哈希碰撞?
什么是哈希碰撞? 哈希碰撞是指不同的输入通过哈希函数计算后得到了相同的哈希值的情况。在哈希表(如 Java 中的 HashMap)中,键(Key)首先会被转换成一个哈希码(hashCode),然后这个...
面试题:当 Java 的 synchronized 升级到重量级锁后,所有线程都释放锁了,此时它还是重量级锁吗?
当一个 Java 对象的锁通过 synchronized 升级到重量级锁之后,即使所有线程都释放了这个锁,该对象的锁仍然保持为重量级锁的状态。 这是因为锁膨胀(Lock Escalation)在 JVM 中是单向的,一旦...
面试题:Java 中的线程安全是什么意思?
在 Java 中,线程安全指的是当多个线程并发访问某个资源(如对象、类或方法)时,能够确保该资源的状态始终保持正确的状态,不会因为并发访问而导致数据不一致或错误的行为。 简单来说,如果一...
面试题:你了解 Java 的逃逸分析吗?
逃逸分析是 Java 虚拟机(JVM)在运行时进行的一项动态分析技术,主要用于判断一个对象的引用是否可能“逃逸”出当前线程或方法的范围。 如果 JVM 能够确定一个对象不会逃逸到其他线程或方法中...
面试题:什么是 Java 的 BigDecimal?
BigDecimal 是 Java 中用于表示任意精度的十进制数的一个类,它位于 java.math 包中。与基本数据类型如 float 和 double 相比,BigDecimal 提供了更高的精度和更精确的数值计算能力,尤其适用于...
面试题:Java 中的 CopyOnWriteArrayList 是什么?
CopyOnWriteArrayList 是 Java 中的一个线程安全的变体 List,它实现了 List 接口,并且使用了一种独特的机制来处理并发访问的问题。它特别适用于读操作远远多于写操作的场景。 工作原理 写操作...
