java共193篇

面试题:常用的 JVM 配置参数有哪些?

JVM(Java虚拟机)提供了丰富的配置参数,用于调整其运行时行为以优化性能或解决特定问题。以下是一些常用的JVM配置参数: 堆内存设置 -Xms<size>:设置JVM启动时的初始堆大小。 -Xmx<siz...
程序百科的头像-程序百科程序百科1个月前
306

面试题:Java 泛型的作用是什么?

Java中的泛型(Generics)提供了一种让类型(类、接口)成为参数的机制,允许编写可以处理不同类型数据的代码而无需在具体使用时进行类型转换。以下是泛型的主要作用: 1. 提高类型安全性 泛型...
程序百科的头像-程序百科程序百科1个月前
305

面试题:JVM 垃圾回收时产生的 concurrent mode failure 的原因是什么?

在使用CMS(Concurrent Mark-Sweep)垃圾收集器时,'Concurrent Mode Failure'(并发模式失败)是一个重要的概念。这种失败通常发生在CMS尝试以并发模式执行老年代的垃圾回收时,但由于某些原因...
程序百科的头像-程序百科程序百科1个月前
2915

面试题:什么是 Java 的 PLAB?

在Java虚拟机(JVM)的垃圾收集(Garbage Collection, GC)过程中,PLAB指的是Promotion Local Allocation Buffer(晋升本地分配缓冲区)。PLAB主要用于并行垃圾收集器中,特别是在处理年轻代到...
程序百科的头像-程序百科程序百科1个月前
2913

面试题:Java 的 G1 垃圾回收流程是怎样的?

G1(Garbage First)垃圾收集器是为具有大内存的多处理器机器设计的一种服务器端垃圾收集器,旨在提供高吞吐量的同时,实现可预测的暂停时间目标。G1通过将堆划分为多个大小相等的区域(Region...
程序百科的头像-程序百科程序百科1个月前
2910

面试题: Synchronized 能不能禁止指令重排序?

在 Java 中,Synchronized 关键字主要用于确保线程安全,它通过提供可见性和原子性来保证共享资源的正确访问。 关于 Synchronized 是否能禁止指令重排序,我们需要从 Java 内存模型(JMM, Java ...
程序百科的头像-程序百科程序百科1个月前
299

面试题:Java 的类加载过程是怎样的?

Java 类的加载过程是由 Java 虚拟机(JVM)负责执行的,主要分为加载、链接(验证、准备、解析)、初始化这几个步骤。下面详细介绍每个阶段的内容: 1. 加载(Loading) 在加载阶段,JVM 需要完...
程序百科的头像-程序百科程序百科1个月前
2913

面试题:Java 中的访问修饰符有哪些?

在Java中,访问修饰符用于定义类、方法、变量以及构造函数的访问级别,控制它们是否可以被其他代码访问。Java提供了四种主要的访问修饰符,按照从最严格到最宽松的顺序分别是: private(私有的...
程序百科的头像-程序百科程序百科1个月前
2914

面试题:你使用过哪些 Java 并发工具类?

在 Java 并发编程中,我使用过以下常用的并发工具类(均属于 java.util.concurrent 包),它们各自适用于不同的并发控制和线程协作场景: ✅ 1. CountDownLatch(倒计数锁存器) 📌 使用场景: ...
程序百科的头像-程序百科程序百科1个月前
2914

面试题:Java 是如何实现跨平台的?

Java实现跨平台的关键在于其“编写一次,到处运行”(Write Once, Run Anywhere)的设计理念。这一特性主要依赖于以下几个核心技术点: 1. Java虚拟机(JVM) 字节码与JVM:Java源代码首先被编...
程序百科的头像-程序百科程序百科1个月前
289