Java 语言基础共79篇

Java 作为广泛应用的编程语言,基础扎实是后端开发的关键。Java 基础面试的重点知识点包括数据类型与运算符、字符串操作、异常处理、面向对象设计、类与接口的实现、集合框架的使用、多线程编程、JVM 运行原理以及 Java 8 的新特性。

面试题:请解释为何 Iterator 接口没有具体的实现 ?

Iterator 接口是 Java 集合框架中的一个核心接口,用于遍历集合中的元素。它本身没有具体的实现,而是由各个集合类(如 ArrayList、HashSet 等)根据自身的内部数据结构提供具体...
程序百科的头像-程序百科程序百科1个月前
0266

面试题:在迭代一个集合的时候,如何避免 ConcurrentModificationException ?

ConcurrentModificationException 是 Java 集合框架中常见的异常,通常发生在使用迭代器遍历集合时,集合的结构被修改(例如添加、删除元素),但未通过迭代器本身进行修改。为了避免该异...
程序百科的头像-程序百科程序百科1个月前
0259

面试题:简述 Enumeration 和 Iterator 接口的区别 ?

Enumeration 和 Iterator 都是 Java 中用于遍历集合元素的接口,但它们之间存在一些关键区别: 引入时间: Enumeration 是 Java 1.0 引入的,属于早期的集合遍历接口。 Iterato...
程序百科的头像-程序百科程序百科1个月前
03812

面试题:有没有可能两个不相等的对象有有相同 hashcode ?

答案:有可能 解释: 哈希冲突: hashCode() 是一个 int 类型的值,范围是有限的(-2^31 到 2^31-1)。 对象的可能值是无限的(尤其是自定义对象),因此不同的对象可能会生成相同的哈希码,...
程序百科的头像-程序百科程序百科1个月前
02714

面试题:a.hashCode() 有什么用?与 a.equals(b) 有什么关系 ?

1. a.hashCode() 的作用 hashCode() 是 Java 中 Object 类的一个方法,用于返回对象的哈希码(一个整数)。哈希码的主要用途是: 哈希表:在 HashMap、HashSet 等基...
程序百科的头像-程序百科程序百科1个月前
05013

面试题:JRE、JDK、JVM 及 JIT 之间有什么不同 ?

1. JVM(Java Virtual Machine,Java 虚拟机) 定义: JVM 是 Java 程序的运行环境,负责将 Java 字节码(.class 文件)解释或编译为机器码并执行。 JVM 是 Java 实现“一次编写,到处运行”(...
程序百科的头像-程序百科程序百科1个月前
02315

面试题:Java 中 WeakReference 与 SoftReference 的区别?

1. Java 中的引用类型 Java 提供了四种引用类型,用于控制对象的生命周期和垃圾回收行为: 强引用(Strong Reference): 默认的引用类型,只要强引用存在,对象就不会被垃圾回收。 例如:Objec...
程序百科的头像-程序百科程序百科1个月前
0319

面试题:解释什么是不可变对象(immutable object)?

1. 不可变对象的定义 不可变对象(Immutable Object)是指对象的状态在创建后不能被修改的对象。换句话说,一旦一个不可变对象被创建,它的所有属性(字段)都是只读的,任何试图修改这些属性的...
程序百科的头像-程序百科程序百科1个月前
0377

面试题:Java 中能创建 volatile 数组吗 ?

1. volatile 关键字的作用 volatile 是 Java 中的一个关键字,用于修饰变量,确保变量的可见性和有序性: 可见性:当一个线程修改了 volatile 变量的值,其他线程可以立即看到...
程序百科的头像-程序百科程序百科1个月前
03611

面试题:如何将数值型字符转换为数字 (Integer,Double) ?

在 Java 中,将数值型字符或字符串转换为数字(如 Integer 或 Double)是常见的操作。以下是几种常用的方法: 1. 将字符串转换为 Integer 方法 1:使用 Integer.parse...
程序百科的头像-程序百科程序百科1个月前
0445