001Java面试题

面试题含有个人理解内容,仅供参考

一、阐述一下JDBC查询数据的过程

  • 加载驱动

    Class.forName("com.mysql.cj.jdbc.Driver");
    
  • 创建连接

    String url = "jdbc:mysql://localhost:3306/java04?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8";
    String user = "root";
    String password = "123";
    Connection con = DriverManager.getConnection(url, user, password);
    
  • 获取执行对象

    Statement st = con.createStatement();
    
    //预编译
    String sql = "select * from student where s_name=? and s_id=?";
    PreparedStatement pre = con.prepareStatement(sql);
    
  • 执行SQL语句

    String sql = "select * from user";
    ResultSet res = st.executeQuery(sql);
    
    //预编译
    pre.setString(1, "刘然");
    pre.setString(2, "sid_003");
    ResultSet res = pre.executeQuery();
    
  • 查询结果集

    while(res.next()) {
          
          
        //通过列名获取结果集中的数据
        String id = res.getString("id");
        String name = res.getString("name");
        String sex = res.getString("sex");
        String age= res.getString("age");
        System.out.println(id+","+name+","+sex+","+age);
    }
    
    //预编译
    while(res.next()) {
          
          
        String id = res.getString("s_id");
        String name = res.getString("s_name");
        System.out.println(id+","+name);
    }
    
  • 释放资源

    st.close();
    con.close();
    
    //预编译
    con.close();
    pre.close();
    res.close();
    

二、描述一下对异常机制的理解

在Java程序运行时,可能会发生两种错误,一个是Exception(异常),另一个是Error(错误)。

其中Exception是程序本身能够处理的异常,异常多数来自于程序本身;而Error则是程序无法处理的错误,是程序在运行时JAVA虚拟机出现的问题

三、说明一下访问权限修饰符的作用

用来控制类以及类中成员的访问权限

按照权限由大到小排序:public > protected > default > private

class只能用public和default

修饰符 同一个类 同一个包 子类 任何地方
private yes
default yes yes
protected yes yes yes
public yes yes yes yes

四、什么叫多态

同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果

提高程序的可复用性,提高可扩充性,可维护性

Java中的多态表现在子类继承父类父类时的方法重写。子类重写父类方法时,多个子类中的该方法中的逻辑代码可以有不同,执行的结果也就不同。

五、描述一下Servlet的生命周期

  • 在项目第一次被访问时实例化对象
  • 实例化对象之后会直接调用init()方法进行初始化
  • Servlet接受到请求时会执行service()方法,然后通过该方法去分配执行doGet或dPost方法
  • 在项目关闭时执行destroy()方法来销毁Servlet对象,释放资源

猜你喜欢

转载自blog.csdn.net/jl15988/article/details/108505370