21xrx.com
2025-07-08 18:11:41 Tuesday
文章检索 我的文章 写文章
Java 面试必备——八股文
2023-06-17 06:31:43 深夜i     12     0
Java 基础

在 Java 开发领域,作为应聘者,必须了解并掌握一些基本的面试知识,在面试过程中占据一定的比重,这便是所谓的“八股文”。在这里,我们将给大家介绍最常见的 Java 面试八股文,并附上相应的代码案例。

(1) Java 基础

Java 基础部分主要考查应聘者对 Java 语言本身的理解和基本语法知识的掌握,包括数据类型、变量、运算符、流程控制语句、类与对象、封装、继承、多态等。

示例代码:

public class Person {
  private String name;
  private int age;
  public Person(String name, int age)
    this.name = name;
    this.age = age;
  
  public void sayHello() {
    System.out.println("Hello, my name is " + name + ", I'm " + age + " years old.");
  }
}
public class Student extends Person{
  private String school;
  public Student(String name, int age, String school) {
    super(name, age);
    this.school = school;
  }
  @Override
  public void sayHello() {
    System.out.println("Hello, my name is " + getName() + ", I'm a student of " + school + ".");
  }
}
public class Main {
  public static void main(String[] args) {
    Person person = new Person("张三", 25);
    person.sayHello();
    Student student = new Student("李四", 20, "清华大学");
    student.sayHello();
  }
}

、数据类型、变量、运算符、流程控制语句、类与对象、封装、继承、多态

(2) Spring 框架

Spring 是 Java 开发中非常流行的框架之一,主要提供了控制反转(IoC)和面向切面编程(AOP)等特性,可以使得开发更加方便、高效。

示例代码:

@Service
public class UserServiceImpl implements UserService {
  @Autowired
  private UserDao userDao;
  @Override
  public User getUserById(int id) {
    return userDao.getUserById(id);
  }
}
public interface UserService {
  public User getUserById(int id);
}
@Repository
public class UserDaoImpl implements UserDao {
  private static Map
  userMap = new HashMap<>();
 
  static {
    userMap.put(1, new User(1, "张三"));
    userMap.put(2, new User(2, "李四"));
  }
  @Override
  public User getUserById(int id) {
    return userMap.get(id);
  }
}
public interface UserDao {
  public User getUserById(int id);
}
@RestController
public class UserController {
  @Autowired
  private UserService userService;
  @RequestMapping("/user/{id}")
  public User getUserById(@PathVariable int id) {
    return userService.getUserById(id);
  }
}

关键词:Spring 框架、控制反转(IoC)、面向切面编程(AOP)、自动注入、依赖注入、数据库操作

(3) 数据库操作

数据库操作是 Java 开发中必不可少的一部分,应聘者需要熟练掌握 SQL 语言以及 Java 中操作数据库的 API,例如 JDBC。

示例代码:

public class JdbcDemo {
  // JDBC 驱动名及数据库 URL
  static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
  static final String DB_URL = "jdbc:mysql://localhost:3306/test";
  // 数据库用户名和密码
  static final String USER = "root";
  static final String PASS = "123456";
  public static void main(String[] args) {
    Connection conn = null;
    Statement stmt = null;
    try {
      // 注册 JDBC 驱动器
      Class.forName(JDBC_DRIVER);
      // 打开连接
      System.out.println("连接到数据库...");
      conn = DriverManager.getConnection(DB_URL,USER,PASS);
      // 执行查询
      System.out.println("实例化查询语句...");
      stmt = conn.createStatement();
      String sql;
      sql = "SELECT id, name FROM users";
      ResultSet rs = stmt.executeQuery(sql);
      // 处理结果集
      while (rs.next()) {
        int id = rs.getInt("id");
        String name = rs.getString("name");
        System.out.print("ID: " + id);
        System.out.println(", Name: " + name);
      }
      rs.close();
      stmt.close();
      conn.close();
    } catch (SQLException se) {
      // 处理 JDBC 错误
      se.printStackTrace();
    } catch (Exception e) {
      // 处理 Class.forName 错误
      e.printStackTrace();
    } finally {
      // 关闭资源
      try {
        if (stmt != null) stmt.close();
      } catch (SQLException se2)
      
      try {
        if (conn != null) conn.close();
      } catch (SQLException se) {
        se.printStackTrace();
      }
      System.out.println("Goodbye!");
    }
  }
}

关键词:数据库操作、JDBC、SQL 语言、连接数据库、查询操作、结果集处理

通过掌握这些常见的 Java 面试八股文,应聘者可以更好地备战面试,更好地展示自身的 Java 技能和优势。

  
  

评论区