目录

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. pyqt5 改写函数

    重新改写了keyPressEvent() class TextEdit(QTextEdit): def __init__(self): QtWidgets.QTextEdit.__init__(sel ...

  2. vim使用配置(转)

    在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有行号的.语法高亮度显示.智能缩进等功能的. 为了更好的在vim下进行工作,需要手动配置一个配置文件: .vimrc 在启动vim时,当前用户 ...

  3. 为什么要重写hashcode和equals方法

    我在面试 Java初级开发的时候,经常会问:你有没有重写过hashcode方法?不少候选人直接说没写过.我就想,或许真的没写过,于是就再通过一个问题确认:你在用HashMap的时候,键(Key)部分, ...

  4. virtualBox 系统移植

    把virtualbox已经存在的系统移植到其他机器. 1.把系统如下文件考到一个安装了virtualbox的机器. 2.点击控制-->注册 然后浏览到复制的文件路径. 3.修改uuid 不管是l ...

  5. ES6(模板字符串,三点运算符,Symbol,iterator接口)

    模板字符串 作用:简化字符串的拼接 模板字符串必须用``包含 变化的部分使用${xxx}包含 对象的简写方式 同名的属性可以省略不写 可以省略函数的function 箭头函数 箭头函数的特点 箭头函数 ...

  6. synchronized底层浅析(二)

    一张图了解锁升级流程:

  7. docker容器使用loki收集日志

    docker-compose安装loki套件(loki+promtail+grafana) loki进行日志聚合处理  类似elk中的es promtail是日志收集,类似elk中的logstash ...

  8. python3约瑟夫环问题

    问题描述:n个人围成一个圈,从第一个人开始数1,数到第k个出局,然后下一个人继续从1数,求出局人编号 思路:将所有人编号放到数组里,一个人出局后,下一个人加上k对数组长度求余,得出下一个要删除的编号. ...

  9. python3.6.4 scrapy框架from PIL import Image报错 from . import _imaging as core

    scrapy框架爬取url下载图片时,用ImagesPipeline下载图片 from PIL import Image报错 from . import _imaging as core Import ...

  10. 降低制作门槛,人人都是3D“模”术师

    12月14日,HDD(Huawei Developer Day)深圳站圆满举办.国内3D扫描类开发团队看书击水为大家分享了与HMS Core 3D建模服务的合作之旅,讲述了如何通过3D物体建模能力为其 ...