Java基础面试题及答案(1-5)

1、Java中如何实现多线程?请给出示例代码。
Java中实现多线程的方式有两种:继承Thread类和实现Runnable接口。其中,实现Runnable接口的方式更常用,因为它避免了单继承的限制。下面是一个使用Runnable接口实现多线程的示例代码:

public class MyThread implements Runnable {
    public void run() {
        // 执行线程任务
    }
}

// 创建线程并启动
Thread t = new Thread(new MyThread());
t.start();

2、Java中如何处理字符串?请列举常用的字符串处理方法。
Java中处理字符串的方式有很多,常用的方法包括:

  • 字符串连接:使用”+”号或String的concat方法。
  • 字符串分割:使用String的split方法。
  • 字符串替换:使用String的replace和replaceAll方法。
  • 字符串比较:使用equals和equalsIgnoreCase方法。
  • 字符串大小写转换:使用toUpperCase和toLowerCase方法。
  • 字符串查找:使用indexOf和lastIndexOf方法。
  • 字符串截取:使用substring方法。

3、Java中什么是异常?请列举常见的异常类型。
异常是指程序在运行时遇到的错误或异常情况,如除以0、空指针引用、数组越界等。Java中将异常分为可查异常和不可查异常两种类型。常见的异常类型包括:

  • 可查异常:IOException、SQLException等。
  • 运行时异常:NullPointerException、ArrayIndexOutOfBoundsException等。
  • 错误:OutOfMemoryError、StackOverflowError等。

4、Java中什么是反射?请列举反射的应用场景。
反射是指在运行时获取一个类的信息,包括类名、属性、方法、注解等。Java中反射机制可以在运行时获取类的信息,动态创建对象、调用方法、访问属性等。反射常见的应用场景包括:

  • 动态代理:动态生成代理类,可以在代理类中添加额外的逻辑。
  • 注解处理器:通过反射获取注解的信息,动态生成代码或者做一些其他的处理。
  • ORM框架:将数据库表和Java对象进行映射,可以使用反射获取Java对象的属性和方法,从而操作数据库。
  • 单元测试:可以通过反射动态创建测试对象,调用测试方法。

5、Java中什么是集合?请列举常见的集合类型及其特点。
Java中的集合是指用于存储和操作一组对象的对象容器。集合框架是Java编程中一个重要的概念,提供了一组接口和类,用于管理和操作对象的集合。常见的集合类型包括:

  • List:有序、可重复的集合。常用的实现类有ArrayList、LinkedList、Vector等。
  • Set:无序、不可重复的集合。常用的实现类有HashSet、LinkedHashSet、TreeSet等。
  • Map:具有映射关系的集合,由键值对组成。常用的实现类有HashMap、LinkedHashMap、TreeMap等。
  • Queue:一种特殊的线性集合,可用于实现先进先出(FIFO)等特殊的操作。常用的实现类有LinkedList、PriorityQueue等。
  • List、Set、Map是Java集合框架的基础,Queue是基于List实现的特殊集合类型。每种集合类型都有其特点和适用场景,程序员需要根据实际需求进行选择和使用。