100道java基础面试题
时间: 2024-12-29 12:19:49 浏览: 4
### Java 基础面试题
#### 关于 Java 的基本概念
- **什么是 JVM?为什么 Java 被称为平台无关的语言?**
Java虚拟机(JVM)是一个虚构的计算机,在实际的计算机上通过软件模拟实现。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java被称为平台无关是因为编译后的字节码可以在任何安装了JVM的操作系统上运行[^1]。
- **解释一下 JDK 和 JRE 的区别是什么?**
JDK (Java Development Kit) 是用于开发Java应用程序的工具集,它包含了编写、调试和运行Java程序所需的各种工具;而JRE(Java Runtime Environment)则是用来执行已有的Java程序,不包含开发所需的工具。
#### 数据类型与变量
- **Java 中有哪些原始数据类型?**
在Java中有八种基本的数据类型:byte, short, int, long, float, double, char以及boolean。每一种都有固定的大小和作用范围。
- **自动拆箱和装箱的概念是什么?**
自动装箱是指将基本数据类型的值转换成对应的对象类型的过程;相反地,自动拆箱就是把对象类型转化为对应的基本数据类型的过程。这一特性简化了编程中的操作。
#### 面向对象编程(OOP)
- **面向对象四大特征指的是什么?**
OOP的主要特点包括封装(encapsulation),继承(inheritance), 多态(polymorphism) 及抽象(abstraction)。
- **接口(interface) 和 抽象类(Abstract Class)之间有什么不同之处?**
接口定义了一组方法签名而不提供具体实现,允许多个类去实现这些行为;抽象类则可以拥有部分实现的方法甚至字段成员,并且只能被单个子类所扩展。
#### 异常处理
- **try-catch-finally 结构的作用是什么?**
try块内放置可能抛出异常的代码片段,catch用来捕获并处理特定类型的异常情况,finally无论是否发生异常都会被执行,通常用于资源清理工作。
#### 泛型与集合框架
- **泛型的好处在哪里?**
使用泛型可以使容器更加安全可靠,因为它们能够在编译期就检查参数化的类型匹配问题,从而减少运行时错误的发生几率。
- **列举一些常用的 Collection 类及其功能差异?**
List保持元素插入顺序并且允许重复项;Set不允许存在相同的元素;Map存储键值对关系,其中key不可重复但是value可以相同。常见的List实现有ArrayList和LinkedList; Set实现了HashSet, LinkedHashSet, TreeSet等;HashMap是最常用的Map实现之一[^4]。
#### 并发编程
- **Thread 和 Runnable 的主要差别在哪?**
Thread是线程的具体表现形式可以直接启动新线程来执行任务;Runnable代表了一个可在线程中执行的任务单元,但本身不是线程而是由其他真正的线程调用run()方法完成相应的工作。
以上仅展示了部分基础级别的Java面试题目及解答概要。对于初学者来说掌握上述知识点是非常重要的起点。
阅读全文