目录

1. Java设计模式有哪些?

2.GC是什么?为什么要有GC?

3. Java中是如何支持正则表达式。

4.比较一下Java和JavaSciprt。

5.Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?

6.JDBC连接数据库的步骤?

7.Class.forName()方法有什么作用?

8.JDBC中如何进行事务处理

9.JDBC能否处理Blob和Clob

10.JDBC中的PreparedStatement相比Statement的好处


1. Java设计模式有哪些?

Java中有23种设计模式,我觉得理解设计模式对我们程序中的类和类的设计、依赖关系,扩展性,灵活性起着非常重要的作用,比如spring框架中都大量使用了设计模式,我比较熟悉的设计模式有:

1.单例设计模式

2.工厂设计模式(简单工厂、抽象工厂、工厂方法)

3.代理设计模式

4.观察者设计模式

5.适配器模式

6.原型模式

2.GC是什么?为什么要有GC?

GC是垃圾回收的意思(gabage collection),内存处理器是编程人员容易出现问题的地方,忘记或者错误的内存回收导致程序或者系统的不稳定甚至崩溃,java的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,java语言没有提供释放已分配内存的显式操作方法。

3. Java中是如何支持正则表达式。

Java中的String类提供了支持正则表达式操作的方法,包括:matches()、replaceAll()、replaceFirst()、split()。此外,Java中可以用Pattern类表示正则表达式对象,它提供了丰富的API进行各种正则表达式操作。

4.比较一下Java和JavaSciprt。

JavaScript 与 Java 是两个公司开发的不同的两个产品。Java 是 SUN 公司推出的新一代面向对象的程序设计语言,特别适合于 Internet 应用程序开发;而JavaScript 是 Netscape 公司的产品,其目的是为了扩展 Netscape Navigator功能,而开发的一种可以嵌入 Web 页面中的基于对象和事件驱动的解释性语言,它的前身是 Live Script;而 Java 的前身是 Oak 语言。

5.Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?

11.5+0.5后是12再向下取整是12;-11.5+0.5后是-11再向下取整-11

6.JDBC连接数据库的步骤?

JDBC是java连接及操作数据库的一种技术,使用步骤如下:

1、加载JDBC驱动程序;

Class.forName(“com.mysql.jdbc.Driver”)

2、创建数据库的连接对象;

Connection conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/数据库名”,”root”,”123456”);

3、创建一个执行sql命令的Statement或PreparedStatement或者CallableStatement对象

4、执行SQL语句;

增删改操作executeUpdate()返回int

查询操作executeQuery()返回结果集ResultSet

5、返回并处理结果;

如果是查询需要对结果集逐行处理:while(rst.next())

6、关闭连接;

conn.close()

7.Class.forName()方法有什么作用?

通过一个字符串加载一个类到java虚拟机中,返回与给定的字符串名称相关联类或接口的Class对象,该方法使用时会抛出ClassNotFoundException,即类无法找到异常。

8.JDBC中如何进行事务处理

事务是为了保证一个业务下的多条更新语句处于同一个不可分割的单元,要么都成功执行要么都取消回滚,目的是保证数据的准确合理性。

JDBC同样对事务进行了很好的支持,因为JDBC默认是开启事务的,所以需要通过数据库连接对象的setAutoCommit(false)来禁止自动提交,然后在执行完相关操作之后,调用连接对象的commit()方法提交事务,如果出现异常则调用rollback()方法进行回滚。

一般在实际应用中,建议使用存储过程来进行事务的控制,因为存储过程更安全,高效。

9.JDBC能否处理Blob和Clob

Blob是指二进制大对象(Binary Large Object),而Clob是指大字符对象(Character Large Objec),因此其中Blob是为存储大的二进制数据而设计的,而Clob是为存储大的文本数据而设计的。JDBC的PreparedStatement和ResultSet都提供了相应的方法来支持Blob和Clob操作。

10.JDBC中的PreparedStatement相比Statement的好处

1、PreparedStatement是Statement的子接口;

2、PreparedStatement支持SQL语句中使用占位符,能够避免SQL注入,安全性更好;

3、PreparedStatement对SQL语句有预编译的功能,所以性能更好;

其他面试题:

Java实习生常规技术面试题每日十题Java基础(八)

Java实习生常规技术面试题每日十题Java基础(七)

Java实习生常规技术面试题每日十题Java基础(六)

Java实习生常规技术面试题每日十题Java基础(五)

Java实习生常规技术面试题每日十题Java基础(四)

Java实习生常规技术面试题每日十题Java基础(三)

Java实习生常规技术面试题每日十题Java基础(二)

Java实习生常规技术面试题每日十题Java基础(一)

Java实习生常规技术面试题每日十题Java基础(七)的更多相关文章

  1. Java实习生常规技术面试题每日十题Java基础(八)

    目录 1.解释内存中的栈(stack).堆(heap)和静态区(static area)的用法. 2.怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串? 3.运行时异常与受检异常有 ...

  2. Java实习生常规技术面试题每日十题Java基础(六)

    目录 1.在Java语言,怎么理解goto. 2.请描述一下Java 5有哪些新特性? 3.Java 6新特性有哪些. 4.Java 7 新特性有哪些. 5.Java 8 新特性有哪些. 6.描述Ja ...

  3. Java实习生常规技术面试题每日十题Java基础(五)

    目录 1.启动一个线程是用run()还是start()? . 2.线程的基本状态以及状态之间的关系. 3.Set和List的区别,List和Map的区别? 4.同步方法.同步代码块区别? 5.描述Ja ...

  4. Java实习生常规技术面试题每日十题Java基础(四)

    目录 1.String 和StringBuffer的区别. 2.数组有没有length()这个方法? String有没有length()这个方法? 3.final, finally, finalize ...

  5. Java实习生常规技术面试题每日十题Java基础(三)

    目录 1.是否可以从一个static方法内部发出对非static方法的调用? 2.Integer与int的区别? 3.Overload和Override的区别.参数列表相同,返回值不同的方法,是否是重 ...

  6. Java实习生常规技术面试题每日十题Java基础(二)

    目录 1. JAVA 的反射机制的原理. 2.静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同? 3.如何将String类型转化成Number类型. 4.什 ...

  7. Java实习生常规技术面试题每日十题Java基础(一)

    目录 1.Java 的 "一次编写,处处运行"如何实现? 2.描述JVM运行原理. 3.为什么Java没有全局变量? 4.说明一下public static void main(S ...

  8. Java Spring Boot VS .NetCore (十) Java Interceptor vs .NetCore Interceptor

    Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filter Jav ...

  9. java开发师笔试面试每日12题(3)

    1.JDK和JRE的区别是什么? Java运行时环境(JRE)是将要执行Java程序的Java虚拟机.它同时也包含了执行applet需要的浏览器插件.Java开发工具包(JDK)是完整的Java软件开 ...

随机推荐

  1. [php代码审计] 通读审计之shangfancms

    前言 大部分的MVC框架,访问的控制器大部分是由外部参数来决定的,那么本篇文章所通读的MVC框架与之前的一系列MVC框架不太一样,它的路由是由程序本身的路由表来决定的. 源码下载 https://ww ...

  2. Oracle中的job(定时任务)

    oracle中的job(定时任务)由dbms_job包下的函数实现.关于job的理论知识可参考https://blog.csdn.net/apextrace/article/details/77675 ...

  3. Java Maven项目搭建

    创建空项目 New Project --> Empty Project --> ... 配置JDK Project Settings --> Project 选择JDK Module ...

  4. java实现链式线性表

    package ch9; public class LinkList <T>{ private class Node { //保存节点的数据 private T data; //指向下一个 ...

  5. treeTable实现排序

    /* * * TreeTable 0.1 - Client-side TreeTable Viewer! * @requires jQuery v1.3 * * Dual licensed under ...

  6. Spring Boot中使用Servlet与Filter

    在Spring Boot中使用Servlet,根据Servlet注册方式的不同,有两种使用方式.若使用的是Servlet3.0+版本,则两种方式均可使用:若使用的是Servlet2.5版本,则只能使用 ...

  7. 阿里云esc 安装 docker

    1. 更新 yum 到最新: yum update (用 root 用户登录,无需加 sudo,如果不是,需要加,即  yum update ) 2. 安装软件包:yum-util(提供 yum-co ...

  8. 深度学习初探——符号式编程、框架、TensorFlow

    一.命令式编程(imperative)和符号式编程(symblic) 命令式: import numpy as np a = np.ones(10) b = np.ones(10) * 2 c = b ...

  9. xtra+binlog增量备份脚本

    目录 一.备份原理 innobackupex原理 binlog原理 特点 备份策略 二.环境准备 开启binlog 创建授权用户 安装innobackupex 三.添加脚本 全量备份 增量备份 bin ...

  10. TSN(Time-Sensitive Networking)协议导读

    前言 上一个主题我们介绍了TSN的发展历史和协议族现状,它为建立统一的确定性网络传输基础设施提供了有力保障. TSN是一套协议标准,以保证确定性信息在标准以太网的不同场景下的顺利传输.TSN协议族本身 ...