排序
面试题:Java 的 Optional 类是什么?它有什么用?
在Java 8中引入的Optional<T>类是一种容器类型,旨在优雅地处理可能为null的值,从而减少NullPointerException的发生。Optional提供了一种更清晰、更明确的方式来表示一个值可能存在也可...
面试题:JVM 的 TLAB(Thread-Local Allocation Buffer)是什么?
TLAB(Thread-Local Allocation Buffer,线程本地分配缓冲区)是JVM为了提高对象分配效率而设计的一种机制。它主要用于优化在多线程环境下对堆内存的分配操作。 TLAB的作用 在Java应用中,大多...
面试题:为什么 G1 垃圾收集器不维护年轻代到老年代的记忆集?
G1垃圾收集器的设计初衷是为了高效管理大堆内存,同时提供可预测的停顿时间。 为了实现这些目标,G1引入了分区(Region)的概念,并且在不同代之间使用记忆集(Remembered Set, RS)来跟踪跨代...
面试题:什么是 Java 中的继承机制?
在Java中,继承是一种机制,它允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)的属性和方法。通过继承,子类可以重用、扩展和修改父类的行为,而无需重新编写已有代码。这是面向...
面试题:你认为 Java 的优势是什么?
Java 自诞生以来,一直是世界上最流行、最广泛使用的编程语言之一,尤其在企业级开发、大型系统、Web 应用和 Android 开发中占据主导地位。它的成功并非偶然,而是源于其一系列独特的优势。以下...
面试题:为什么 Java 中的 ThreadLocal 对 key 的引用为弱引用?
在Java中,ThreadLocal 变量的键(即 ThreadLocal 实例)使用弱引用(Weak Reference)主要是为了防止内存泄漏。理解这一点需要从 ThreadLocal 的内部实现机制和Java垃圾回收机制两个方面来分析...
面试题:JDK 1.8 对 HashMap 除了红黑树还进行了哪些改动?
在 JDK 1.8 中,除了引入红黑树(用于优化链表过长时的查询效率)外,HashMap 还进行了多项重要改动,以下是主要的优化点: 1. 哈希函数的优化 改进计算方式:在 JDK 1.7 中,HashMap 的哈希值...
面试题:Java 和 Go 的区别
Java和Go是两种非常不同的编程语言,它们各自有着独特的设计目标、应用场景及特性。以下是这两种语言之间的一些主要区别: 1. 设计哲学 Java:面向对象编程语言,强调“编写一次,到处运行”。J...
面试题:Java 中的 wait、notify 和 notifyAll 方法有什么作用?
在Java中,wait()、notify() 和 notifyAll() 方法是用于线程间通信的关键方法,它们都定义在 Object 类中,并且必须与同步机制(如 synchronized 方法或代...
面试题:什么是 Hash 碰撞?怎么解决哈希碰撞?
什么是哈希碰撞? 哈希碰撞是指不同的输入通过哈希函数计算后得到了相同的哈希值的情况。在哈希表(如 Java 中的 HashMap)中,键(Key)首先会被转换成一个哈希码(hashCode),然后这个...