java面试常规题
一:java设计模式有哪些?
java有23种设计模式,
1.单例模式
2.工厂设计模式
3.代理设计模式
4.观察者设计模式
5.适配器模式
6.原形模式
二:GC是什么?为什么要有GC?
GC是垃圾回收的意思,内存处理器是编程人员容易出现问题的地方,java的GC功能可以自动检测对象是否超过作用域从而达到自动回收内存的目的,java语言没有提供释放已分配内存的显式操作方法。
三:java中是如何支持正则表达式?
java中的string类提供了支持正则表达式操作的方法,包括:matches(),replaceAll(),replaceFirst(),split().此外,java中可以用pattern类表示正则表达式对象,它提供了丰富的API进行各种正则表达式操作。
四:比较一下java和JavaScript
JavaScript与java是俩个公司开发的不同的产品,java是面向对象程序语言,适合于Internet应用程序开发,JavaScript是可以嵌入web页面中基于对象和事件驱动的解释性语言。
五:Math。round(11.5)等于多少?Math.round(-11.5)等于多少?
11.5+0.5后是12再向下取整是12,-11.5+0.5后是-11再向下取整-11。
六:jdbc连接数据库的步骤
1.加载jdbc驱动程序class.forName("com.mysql.jdbc.Driver")
2.创建数据库的连接对象Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/数据库名?","username","password")
3.创建一个执行sql命令的Statement或PreparedStatement或者CallableStatement对象
4.执行sql语句:增删改操作executeUpdate()返回int 查询操作executeQuery()返回结果集resultset
5.返回并处理结果,如果是查询需要对结果集逐行处理(while(rst.next))
6.关闭连接:conn.close();
七:Class.forNname()方法的作用?
通过一个字符串加载一个类奥java虚拟机中,返回与给定的字符串名称相关联类或接口的Class对象,该方法使用时会抛出ClassNotFoundException,即类无法找到异常。
八:jdbc中如何进行事务处理
事务是为了保证一个业务下的多条更新语句处于同一个不可分割的单元,要么都执行成功,要么都取消回滚,目的是为了保证数据的准确合理性。jdbc是默认开启事务的,所以需要通过数据库连接对象的setAutoCommit(false)来禁止自动提交,然后在执行完相关操作之后,调用连接对象的commit()方法提交事务,如果出现异常则调用rollback()方法进行回滚。
九:jdbc是否能处理Blob和Clob
Blob是指二进制大对象,Clob是指大字符对象,jdbc的PreparedStatement和ResultSet都提供了相应的方法来支持Blob和Clob操作。
十:jdbc中的PreparedStatement相比Statement的好处
1.PreparedStatement是Statement的子接口
2.PreparedStatement支持SQL语句中使用占位符,能避免sql注入,安全性更好
3.PreparedStatement对SQL语句有预编译功能,所以性能更好