排序
面试题:什么是 Java 的 PLAB?
在Java虚拟机(JVM)的垃圾收集(Garbage Collection, GC)过程中,PLAB指的是Promotion Local Allocation Buffer(晋升本地分配缓冲区)。PLAB主要用于并行垃圾收集器中,特别是在处理年轻代到...
面试题:Java 中的线程安全是什么意思?
在 Java 中,线程安全指的是当多个线程并发访问某个资源(如对象、类或方法)时,能够确保该资源的状态始终保持正确的状态,不会因为并发访问而导致数据不一致或错误的行为。 简单来说,如果一...
面试题:Java 的 I/O 流是什么?
在Java中,I/O流(Input/Output Streams)是用于处理输入输出操作的基础工具。它们提供了一种统一的方式来读取和写入不同类型的资源,如文件、网络连接或内存缓冲区。通过使用流,Java程序可以...
面试题:使用 HashMap 时,有哪些提升性能的技巧?
在使用 HashMap 时,为了提升性能可以采取多种策略和技巧。以下是一些关键点: 1. 初始化容量(Initial Capacity) 合理设置初始容量:HashMap 的容量是哈希表的桶数。如果预先知道将要存储多少...
面试题:什么是 Java 的 ForkJoinPool?
Java 的 ForkJoinPool 是 Java 7 引入的一个线程池实现,专门设计用于执行可以递归分解为更小任务的工作窃取算法(work-stealing algorithm)。它特别适用于那些能够被分解成许多相似的小任务的...
面试题:Java 的 Optional 类是什么?它有什么用?
在Java 8中引入的Optional<T>类是一种容器类型,旨在优雅地处理可能为null的值,从而减少NullPointerException的发生。Optional提供了一种更清晰、更明确的方式来表示一个值可能存在也可...
面试题: Java 线程池核心线程数在运行过程中能修改吗?如何修改?
在 Java 的 ThreadPoolExecutor 中,核心线程数(core pool size)默认情况下是在创建线程池实例时设定的,并且在运行期间通常是固定的。 然而,在某些情况下你可能需要动态调整核心线程数以适...
面试题:Java 里的对象在虚拟机里面是怎么存储的?
在 Java 虚拟机(JVM)中,对象的存储主要涉及几个关键部分:堆内存、方法区以及栈内存。以下是关于 Java 对象在 JVM 中如何存储的详细说明: 堆(Heap) 对象实例数据:几乎所有的对象实例数据...
面试题:什么是 Java 中的 JIT(Just-In-Time)?
Java中的JIT(Just-In-Time)编译器是Java虚拟机(JVM)的一部分,用于提高Java应用程序的执行效率。Java源代码首先被编译成字节码(bytecode),这是一种与平台无关的中间表示形式。 当运行这...
面试题:JVM 的 TLAB(Thread-Local Allocation Buffer)是什么?
TLAB(Thread-Local Allocation Buffer,线程本地分配缓冲区)是JVM为了提高对象分配效率而设计的一种机制。它主要用于优化在多线程环境下对堆内存的分配操作。 TLAB的作用 在Java应用中,大多...
