java第二套面试题答案

上传人:飞*** 文档编号:3749911 上传时间:2017-08-11 格式:DOC 页数:6 大小:60.50KB
返回 下载 相关 举报
java第二套面试题答案_第1页
第1页 / 共6页
java第二套面试题答案_第2页
第2页 / 共6页
java第二套面试题答案_第3页
第3页 / 共6页
java第二套面试题答案_第4页
第4页 / 共6页
java第二套面试题答案_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《java第二套面试题答案》由会员分享,可在线阅读,更多相关《java第二套面试题答案(6页珍藏版)》请在金锄头文库上搜索。

1、第一部分 选择题1 C2 D3 B4 B D F5 B第二部分 简答题1. 游标的作用?如何知道游标已经到了最后?游标用于定位结果集的行,通过判断全局变量FETCH_STATUS 可以判断是否到了最后,通常此变量不等于 0 表示出错或到了最后。2请说出数据库中存储过程和函数的区别存储过程是用户定义的一系列 sql 语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程。函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。3说出 ArrayList,Vector, LinkedList 的存储性能和特性ArrayList 和 Vector 都是使用数组方式存储数

2、据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector 由于使用了 synchronized 方法(线程安全) ,通常性能上较 ArrayList 差,而 LinkedList 使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。4在 JAVA SERVLET API 中 forward() 与 redirect()的区别是什么?forwar()仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;r

3、edirect()则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,forward()更加高效,在forward()可以满足需要时,尽量使用 forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。5请谈谈 EJB 与 JAVA BEAN 的区别Java Bean 是可复用的组件,对 Java Bean 并没有严格的规范,理论上讲,任何一个 Java 类都可以是一个 Bean。但通常情况下,由于 Java Bean 是被容器所创

4、建(如Tomcat)的,所以 Java Bean 应具有一个无参的构造器,另外,通常 Java Bean 还要实现 Serializable 接口用于实现 Bean 的持久性。Java Bean 实际上相当于微软 COM 模型中的本地进程内 COM 组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于 DCOM,即分布式组件。它是基于 Java 的远程方法调用(RMI)技术的,所以 EJB 可以被远程访问(跨进程、跨计算机) 。但 EJB 必须被布署在诸如 Webspere、WebLogic 这样的容器中,EJB 客户从不直接访问真正的 EJB 组件,而是通过其容器访

5、问。EJB 容器是 EJB 组件的代理, EJB 组件由容器所创建和管理。客户通过容器来访问真正的 EJB 组件。6说出 Servlet 的生命周期,并说出 Servlet 和 CGI 的区别Servlet 被服务器实例化后,容器运行其 init 方法,请求到达时运行其 service 方法,service 方法自动派遣运行与请求对应的 doXXX 方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其 destroy 方法。与 CGI 的区别在于 servlet 处于服务器进程中,它通过多线程方式运行其 service 方法,一个实例可以服务于多个请求,并且其实例一般不会销毁

6、,而 CGI 对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于 servlet7. 什么是类与对象?对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。类是具备某些共同特征的实体的集合,它是一种抽象的概念,用程序设计的语言来说,类是一种抽象的数据类型,它是对所具有相同特征实体的抽象。8. 什么是封装?只要有足够的方法,就没必要直接去操作对象属性,只要调用这些方法就可以实现要完成的任务,这种现象称为封装,它通过对象方法对其属性的操作把对象属性封装在一个对象内部,对象与外界打交道全部通过其自身的方法来实现,有效的把对象属性隐藏在

7、对象内部。9谈谈你对数据库中“视图”的看法视图是一种虚拟表,通常是作为来自一个或多个表 的行或列的子集创建的。视图本质上讲,就是保存在数据库中的 select 查询视图并不是数据库中存储的数据值的集合。对最终用户的好处 结果更容易理解 获得数据更容易对开发人员的好处 限制数据检索更容易 维护应用程序更方便10什么是规范化?三范式的定义是什么?从数据库的表中,除去冗余数据的过程称为规范化。三范式的定义:第一范式的定义: 如果一个表中没有重复组(每一字段只存储一个值) 。第二范式的定义:如果一个表属于 1NF,任何属性只依赖于关键字,则这个表属于第二范式(必须先符合 1NF 的条件,且每一行都能被

8、唯一的识别)第三范式的定义:如果一个表属于 2NF,且不包含传递依赖性(没有一个非关键属性依赖于另一个非关键属性)11什么是索引?它的优、缺点是什么?索引:是一个数据库对象,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单,然后根据指定的排序次序排列这些指针 优点:提高查询执行的速度。 强制实施数据的唯一性。 提高表之间联接的速度。 缺点:存储索引要占用磁盘空间。数据修改需要更长的时间,因为索引也要更新。12多线程有几种实现方法,都是什么? 同步有几种实现方法 ,都是什么?多线程有两种实现方法,分别是继承 Thread 类与实现 Runnable 接口 同步

9、的实现方面有两种,分别是 synchronized,wait 与 notify13启动一个线程是用 run()还是 start()?启动一个线程是调用 start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由 JVM 调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。14abstract class 和 interface 有什么区别?声明方法的存在而不去实现它的类被叫做抽象类(abstract class) ,它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建 abstract 类的实

10、例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义 static final 成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后

11、,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。15Set 里的元素能不能重复?用什么方法来区分是否重复?用 = 还是 equals()?它们有何区别?Set 元素不能重复,用 iterator()方法来区分是否重复, equals()是判断两个set 是否相等,= = 和 equals()决定引用值是否指向同一对象, equals()在类中被覆盖,目的是当两个分离的对象的内容和类型相匹配的话,返回真值。16sh

12、ort s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?short s1 = 1;s1 = s1 +1;有错,s1 是 short 型, s1 + 1 是 int 型,不能显示转化为 sthort 型,可以改为 short s1 = (short)s1 + 1;short s1 = 1; s1 += 1 正确。17如何优化数据库,如何提高数据库的性能?优化数据库主要是优化查询语句,通过高性能的查询语句可以提高数据库的性能。18说出 Servlet 中的 init()方法和 service()方法的区别Servlet 初始化时调用 ini

13、t()方法,有请求到达时调用 service()方法,service()方法根据请求的类型调用相应的(如 doGet()、doPost() 等方法19. java 的事件委托机制和垃圾回收机制Java 的事件委托机制是:一个源产生一个事件并将它送到一个或多个监听器那里,而监听器一直等待,直到它收到一个事件,一旦事件被接受,监听器将会处理这个事件,然后返回垃圾回收机制是:垃圾收集将分配给对象但不再使用的内存回收或释放的过程。如果一个对象没有指向它的引用或其值为 null 时,则次对象适合进行垃圾回收20JDO 是什么? JDO 是 Java 对象持久化的新的规范,为 java data obje

14、ct 的简称,也是一个用于存取某种数据仓库中的对象的标准化 API。JDO 提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如 JDBC API 的使用) 。这些繁琐的例行工作已经转移到 JDO 产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,JDO 很灵活,因为它可以在任何数据底层上运行。JDBC 只是面向关系数据库(RDBMS)JDO 更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML 以及对象数据库(ODBMS )等等,使得应用可移植性更强。21. 运行时异常与一般异常有何异同?异常表示程序运行过程中可能出现的非正常状

15、态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java 编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。22说出数据连接池的工作机制是什么?J2EE 服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。23. 描述一下 JVM 加载 class 文件的原理机制?JVM

16、中类的装载是由 ClassLoader 和它的子类来实现的,Java ClassLoader 是一个重要的 Java 运行时系统组件。它负责在运行时查找和装入类文件的类。24. EJB 的角色和三个对象一个完整的基于 EJB 的分布式计算结构由六个角色组成,这六个角色可以由不同的开发商提供,每个角色所作的工作必须遵循 Sun 公司提供的 EJB 规范,以保证彼此之间的兼容性。这六个角色分别是 EJB 组件开发者(Enterprise Bean Provider) 、应用组合者( Application Assembler) 、部署者(Deployer) 、EJB 服务器提供者(EJB Server Provider) 、EJB 容器提供者(EJB Container Provider) 、系统管理员( System Administrator)三个对象是 Remote(Local)接口、Home (LocalHome)接口,Bean 类25. EJB 容器提供的服务主要提供声明周期

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 人力资源管理师

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号