JAVA面试常考系列八
转载自 JAVA面试常考系列八
题目一
JDBC是什么?
JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,可以用来构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时不必关心特定数据库的底层细节。
题目二
Driver在JDBC中有哪些作用?
JDBC驱动提供了特定厂商对JDBCAPI接口类的实现,驱动必须要提供java.sql包下面这些类的实现:Connection,Statement,PreparedStatement,CallableStatement,ResultSet和Driver。
题目三
解释一下Class.forName方法?
Class.forName方法是一个静态方法,用于加载将建立到数据库的连接的驱动程序,返回与给定的字符串名称相关联类或接口的Class对象。
该方法有两种形式:Class.forName(String name, boolean initialize, ClassLoader loader)和 Class.forName(String className)。第一种形式的参数name表示的是类的全名;initialize表示是否初始化类;loader表示加载时使用的类加载器。第二种形式则相当于设置了参数 initialize的值为 true,loader的值为当前类的类加载器。
题目四
PreparedStatement优于Statement的优点是什么?
优点一
用PreparedStatement来代替Statement会使代码多出几行,但这样的代码无论从可读性还是可维护性上来说.都比直接用Statement的代码高很多档次
优点二
PreparedStatement是预编译语句,尽最大可能提高了性能。预编译语句有可能被重复调用,语句在被编译器编译后的执行代码被缓存下来,下次调用时只要是相同的预编译语句就不需要编译,只要将参数直接传入编译过的语句执行代码中就会得到执行。
优点三
极大地提高了安全性,可以有效的避免SQL注入。
优点四
PreparedStatement对象可以重复使用不同的输入值到他们的查询。
题目五
CallableStatement是什么,有哪些作用?
CallableStatement 对象为所有的DBMS提供了一种以标准形式调用已储存过程的方法。已储存过程储存在数据库中。对已储存过程的调用是CallableStatement对象所含的内容。这种调用是用一种换码语法来写的,有两种形式:一种形式带结果参,另一种形式不带结果参数。结果参数是一种输出(OUT) 参数,是已储存过程的返回值。两种形式都可带有数量可变的输入(IN 参数)、输出(OUT 参数)或输入和输出(INOUT 参数)的参数。问号将用作参数的占位符。
存储过程由数据库存储和提供,存储过程可能会从用户获取输入值,并可能返回结果。存储过程的使用受到高度鼓励,因为它提供了安全性和模块性。
题目六
连接池是什么,有哪些作用?
与数据库的交互可能是昂贵的,关于数据库连接的打开和关闭。特别是当数据库客户端数量增加时,这个代价非常高,消耗了大量的资源。应用服务器在启动时获得一个数据库连接池,并保存在一个池中。连接请求由驻留在池中的连接提供。在连接结束时,请求将返回到池中,并可用于满足将来的请求。
题目七
连接池的工作原理是什么,有什么优点?
工作原理
当应用启动的时候,就初始化一些连接放在池中,如果客户端请求连接,则先判断池中是否还有连接。
如果有就返回客户端。
如果没有,判断当前连接数有没有超过系统允许的最大连接个数。没有的话则创建并返回连接,若超最过则出错。
当用户用完连接之后,再将连接放回池中。
优点
可以实现连接的复用。
题目八
RMI是什么?
RMI(Remote Method Invocation,远程方法调用)是用Java在JDK1.1中实现的,它大大增强了Java开发分布式应用的能力,是开发百分之百纯Java的网络分布式应用系统的核心解决方案之一。
Java远程方法调用(Java RMI)是一种执行远程过程调用(RPC)的面向对象的Java API,支持直接传输序列化的Java类和分布式垃圾收集。远程方法调用(RMI)也可以看作是在远程运行的对象上激活方法的过程。
题目九
如何使用RMI开发?
使用RMI开发主要分为六个步骤:
1.定义一个远程接口,远程接口必须继承接口,每个方法必须抛出远程异常,方法参数和方法返回值都必须是可序列化的。
2.实现远程接口。
3.定义使用远程对象的客户程序。
4.产生远程访问对象的桩和框 。
5.注册远程对象。
6.运行服务器和客户程序。
题目十
什么是RMI架构的基本原理?
RMI体系结构是基于一个非常重要的行为定义和行为实现相分离的原则。RMI允许定义行为的代码和实现行为的代码相分离,并且单独运行在不同的JVM上。
JAVA面试常考系列八相关推荐
- JAVA面试常考系列十
转载自 JAVA面试常考系列十 题目一 Servlet是什么? Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,是用Java编写的服务器端程序 ...
- JAVA面试常考系列十一
转载自 JAVA面试常考系列十一 题目一 什么是JSP? JSP(Java Server Page)是一个文本文档,是一种将静态内容和动态生成内容混合在一起的技术. JSP包含两种类型的文本:静态数据 ...
- JAVA面试常考系列九
转载自 JAVA面试常考系列九 题目一 RMI架构层的结构是如何组成的? RMI体系结构由三层组成,分别是: 存根和骨架层(Stub and Skeleton Layer) 远程引用层(Remote ...
- JAVA面试常考系列六
转载自 JAVA面试常考系列六 题目一 一个Applet有哪些生命周期? 一个Applet的生命周期分为以下四个阶段: Init 每次加载时都会初始化一个小程序.此方法通知Applet,方法已经被装入 ...
- JAVA面试常考系列五
转载自 JAVA面试常考系列五 题目一 串行(serial)收集器和吞吐量(throughput)收集器的区别是什么? 吞吐量收集器使用并行版本的新生代垃圾收集器,它用于中等规模和大规模数据的应用程序 ...
- java面试常考系列四
转载自 java面试常考系列四 题目一 大O符号(big-O notation)的作用是什么?有哪些使用方法? 大O符号描述了当数据结构里面的元素增加的时候,算法的规模或者是性能在最坏的场景下有多么好 ...
- JAVA面试常考系列三
转载自 JAVA面试常考系列三 题目一 什么是迭代器(Iterator)? 迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中确定的地址.迭 ...
- JAVA面试常考系列二
转载自 JAVA面试常考系列二 题目一 解释一下线程和进程 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调 ...
- JAVA面试常考系列一
转载自 JAVA面试常考系列一 题目一 什么是Java虚拟机?为什么Java被称为平台无关的编程语言? java虚拟机是一个可以执行字节码文件(.class)的虚拟机进程. 为什么java与平台无关呢 ...
最新文章
- 总结:如何使用redis缓存加索引处理数据库百万级并发
- opencv 图片读取和视频读取(一)
- 年会抽奖程序准备好了吗?没有的话,直接来取!
- python入门视频教程推荐-Python入门视频看哪个好?适合初学者的教学视频推荐
- SpringBoot笔记:SpringBoot2.3集成SpringSession+nginx+redis实现session共享
- QDoc状态status
- oracle的order by排序中空字符串处理方法
- 物流车辆数据在金融科技的应用
- linux_nmon监控教程,如何使用Nmon监控Linux系统性能
- 如何学习Web前端知识转型?
- 浅谈我的UI设计之路
- AI初学者用什么软件?适合AI新手的9款人工智能开源软件
- eXtremeComponents指南
- 数字图像处理实验六 图像复原
- RoboWare Studio 安装教程与可能问题解决
- 软件测试人员的简历是什么样子的?
- 基于Luckysheet实现的协同编辑在线表格支持在线导入数据库,前端导出,前端导入,后端导出
- PS时间轴制作动态图
- js 数字不足位数补0
- 浅谈企业信息化的过程与阶段
热门文章
- [XML-Jsoup]Jsoup_对象的使用(Jsoup工具类,Document,Elements,Element,Node)
- [JavaWeb-JavaScript]JavaScript概念与功能
- Python 推导,内含,迭代器
- 数据结构与算法--二叉树第k个大的节点
- 经典排序算法(8)——归并排序算法详解
- 将有序数组转换为二叉搜索树
- Convolution(2021牛客暑期多校训练营4)
- AtCoder Regular Contest 059
- 兰州大学第一届 飞马杯 ★★快乐苹果树★★ 树链剖分 + 懒标记 + 树状数组
- Eyjafjalla