72、什么是JDBC?
JDBC(JAVA DATABASE Connectivity),是一套面向对象的程序应用接口(API),制定了统一的访问各类关系数据库的标准接口,为各个数据库厂商提供了标准实现。通过JDBC技术,开发人员可以用纯JAVA语言和标准的SQL语句编写完整的数据库应用程序,并且真正的实现了软件的跨平台性。
通常使用JDBC完成以下操作:
1、同数据库建立连接。
2、向数据库发送SQL语句。
3、处理数据库返回的结果。
73、解释下驱动(Driver)在JDBC的角色?
JDBC驱动提供了特定厂商对JDBC的API接口类的实现,驱动必须要提供java.sql包下面这些类的实现:Connection, Statement, PreparedStatement,CallableStatement, ResultSet和Driver。
74、Class.forName()方法有什么用?
A a = (A)Class.forName(“package.A”).newInstance();和 A a = new A;是等价的。
记住一个概念,静态代码是和class绑定的,class装载成功就表示执行了你的静态代码,而且以后不会再走这套静态代码了。
Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,也即是说JVM会执行该类的静态代码段。
75、为什么开发中使用PreparedStatement而不使用Statement?
在开发中使用PreparedStatements,不要使用statement
为什么呢?
- PreparedStatements是预编译的,PreparedStatements实例包涵已编译的sql语句,所以其执行呢速度要快于statement对象。
- PreparedStatements作为statement的子类,继承了statement的所有方法,三种方法,excute,excuteQuery和excuteUpdate已被更改以使之不再需要参数。
- PreparedStatements的代码可读性,可维护性强于statement.
- 极大的提高了安全性
77、出数据连接池是什么意思?
数据库连接的建立,关闭消耗大量资源。传统的数据库访问方式,一次数据访问对应一个物理连接,每次操作数据库操作都要打开关闭物理连接,系统性能严重受损。解决方案:数据库连接池。系统初始运行时,主动建立足够多的连接,组成一个池,每次应用程序请求数据库连接时,无需重新打开连接,而是从池中取出已有连接,使用完后,不再关闭,而是归还。
78、什么是RMI?
Java RMI(Remote Method Invocation)--Java的远程方法调用是Java所特有的分布式计算技术,它允许运行在一个Java虚拟机上的对象调用运行在另一个Java虚拟机上的对象的方法,从而使Java编程人员可以方便地在网络环境中作分布式计算。面向对象设计要求每个任务由最适合该任务的对象执行,RMI将这个概念更深入了一步,使任务可以在最适合该任务的机器上完成。 RMI定义了一组远程接口,可以用于生成远程对象。客户机可以象调用本地对象的方法一样用相同的语法调用远程对象。RMI API提供的类和方法可以处理所有访问远程方法的基础通信和参数引用要求的串行化。 使用RMI开发步骤: 1、定义一个远程接口(远程接口必须继承接口,每个方法必须抛出远程异常,方法参数和方法返回值都必须是可序列化的) 2、实现远程接口 3、定义使用远程对象的客户程序 4、产生远程访问对象的桩和框 5、注册远程对象 6、运行服务器和客户程序
79、RMI体系结构
RMI体系结构是基于一个非常重要的行为定义和行为实现相分离的原则。RMI允许定义行为的代码和实现行为的代码相分离,并且运行在不同的JVM上。
80、RMI体系结构分层:
RMI体系结构分以下几层:
存根和骨架层(Stub and Skeleton layer):这一层对程序员是透明的,它主要负责拦截客户端发出的方法调用请求,然后把请求重定向给远程的RMI服务。
远程引用层(Remote Reference Layer):RMI体系结构的第二层用来解析客户端对服务端远程对象的引用。这一层解析并管理客户端对服务端远程对象的引用。连接是点到点的。
传输层(Transport layer):这一层负责连接参与服务的两个JVM。这一层是建立在网络上机器间的TCP/IP连接之上的。它提供了基本的连接服务,还有一些防火墙穿透策略。