Java实习生常规技术面试题每日十题Java基础(七)
目录
5.Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?
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基础(八)
目录 1.解释内存中的栈(stack).堆(heap)和静态区(static area)的用法. 2.怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串? 3.运行时异常与受检异常有 ...
- Java实习生常规技术面试题每日十题Java基础(六)
目录 1.在Java语言,怎么理解goto. 2.请描述一下Java 5有哪些新特性? 3.Java 6新特性有哪些. 4.Java 7 新特性有哪些. 5.Java 8 新特性有哪些. 6.描述Ja ...
- Java实习生常规技术面试题每日十题Java基础(五)
目录 1.启动一个线程是用run()还是start()? . 2.线程的基本状态以及状态之间的关系. 3.Set和List的区别,List和Map的区别? 4.同步方法.同步代码块区别? 5.描述Ja ...
- Java实习生常规技术面试题每日十题Java基础(四)
目录 1.String 和StringBuffer的区别. 2.数组有没有length()这个方法? String有没有length()这个方法? 3.final, finally, finalize ...
- Java实习生常规技术面试题每日十题Java基础(三)
目录 1.是否可以从一个static方法内部发出对非static方法的调用? 2.Integer与int的区别? 3.Overload和Override的区别.参数列表相同,返回值不同的方法,是否是重 ...
- Java实习生常规技术面试题每日十题Java基础(二)
目录 1. JAVA 的反射机制的原理. 2.静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同? 3.如何将String类型转化成Number类型. 4.什 ...
- Java实习生常规技术面试题每日十题Java基础(一)
目录 1.Java 的 "一次编写,处处运行"如何实现? 2.描述JVM运行原理. 3.为什么Java没有全局变量? 4.说明一下public static void main(S ...
- Java Spring Boot VS .NetCore (十) Java Interceptor vs .NetCore Interceptor
Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filter Jav ...
- java开发师笔试面试每日12题(3)
1.JDK和JRE的区别是什么? Java运行时环境(JRE)是将要执行Java程序的Java虚拟机.它同时也包含了执行applet需要的浏览器插件.Java开发工具包(JDK)是完整的Java软件开 ...
随机推荐
- 高效读取大文件,再也不用担心 OOM 了!
内存读取 第一个版本,采用内存读取的方式,所有的数据首先读读取到内存中,程序代码如下: Stopwatch stopwatch = Stopwatch.createStarted(); // 将全部行 ...
- jstl中的foreach标签
<%@ page import="java.util.ArrayList" %><%@ page import="java.util.List" ...
- 用 WinUI 3 开发了一个摸鱼应用
1. 开发了一个摸鱼 App 我做了一个简单的 App:摸鱼. 如上图所示,这个 App 就只有一个按钮,点击后假装开始 Windows Update,然后用户就可以光明正大地摸鱼了. 不要小看摸鱼, ...
- [WPF] 用 OpacityMask 模仿 UWP 的 Text Shimmer 动画
1. UWP 的 Text Shimmer 动画 在 UWP 的 Windows Composition Samples 中有一个 Text Shimmer 动画,它用于展示如何使用 Composit ...
- 【Redis的那些事 · 上篇】Redis的介绍、五种数据结构演示和分布式锁
Redis是什么 Redis,全称是Remote Dictionary Service,翻译过来就是,远程字典服务. redis属于nosql非关系型数据库.Nosql常见的数据关系,基本上是以key ...
- 突出显示(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 当一个大的项目文件做好以后,查看全部内容,肉眼多少会有点吃不消,这时就需要"划重点".在Porect里 ...
- Python语言的2个典型特性
[动态编程语言] 学习过C.C++的同学都知道,使用这二者编写代码时,变量在使用前必须通过类似"int a=123"的语句提取申明,然后在真正赋值的时候校验取值跟类型是否相符.也就 ...
- CF74A Room Leader 题解
Content 一场 CF 比赛有 \(n\) 个人,有 ABCDE 五道题目.在比赛过程中,参赛者还可以随时互相攻击,成功一次加 \(100\) 分,失败一次扣 \(50\)分,已知第 \(i\) ...
- CF740B Alyona and flowers 题解
Content 有 \(n\) 个数 \(a_1,a_2,a_3,...,a_n\),给定 \(m\) 个区间,你可以选择一些区间使得它们的总和最大(也可以不选),求这个最大的总和. 数据范围:\(1 ...
- LuoguP2097 资料分发1 题解
Content 有一些电脑,一部分电脑有双向数据线连接.如果一个电脑得到数据,它可以传送到的电脑都可以得到数据.现在,你有这个数据,问你至少将其输入几台电脑,才能使所有电脑得到数据. 数据范围:\(n ...