Java软件开发工程师面试题集

上传人:飞*** 文档编号:42352605 上传时间:2018-06-01 格式:DOC 页数:135 大小:560KB
返回 下载 相关 举报
Java软件开发工程师面试题集_第1页
第1页 / 共135页
Java软件开发工程师面试题集_第2页
第2页 / 共135页
Java软件开发工程师面试题集_第3页
第3页 / 共135页
Java软件开发工程师面试题集_第4页
第4页 / 共135页
Java软件开发工程师面试题集_第5页
第5页 / 共135页
点击查看更多>>
资源描述

《Java软件开发工程师面试题集》由会员分享,可在线阅读,更多相关《Java软件开发工程师面试题集(135页珍藏版)》请在金锄头文库上搜索。

1、Java 软件开发工程师面试题集(Java 简答题、JAVA 编程题、JAVA 代码查错、Java 程序段结果、C+/C 试题、数据库、 其他)Java 简答题(共计 134 题)1、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关 的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽 象包括两个方面,一是过程抽象,二是数据抽象。2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的 方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类 的特性

2、,新类称为原始类的派生类(子类) ,而原始类称为新类的基类(父类) 。派生类可 以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊 的需要。3.封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于 这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一 个受保护的接口访问其他对象。4. 多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态 性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函 数同名问题。2、String 是最基本的数据类型吗?基本数据

3、类型包括 byte、int、char、long、float、double、boolean 和 short。java.lang.String 类是 final 类型的,因此不可以继承这个类、不能修改这个类。为了提高效 率节省空间,我们应该用 StringBuffer 类3、int 和 Integer 有什么区别Java 提供两种不同的类型:引用类型和原始类型(或内置类型) 。Int 是 java 的原始数据类 型,Integer 是 java 为 int 提供的封装类。Java 为每个原始类型提供了封装类。原始类型封装类boolean Booleanchar Characterbyte Byte

4、short Shortint Integerlong Longfloat Floatdouble Double引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具 有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储, 当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺 省值为 null,而原始类型实例变量的缺省值与它们的类型有关。4、String 和 StringBuffer 的区别JAVA 平台提供了两个类:String 和 StringBuffer,它们可以储存和操作字符串,即包含多 个字符的字符数据。这个

5、String 类提供了数值不可改变的字符串。而这个 StringBuffer 类提 供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用 StringBuffer。典型地, 你可以使用 StringBuffers 来动态构造字符数据。5、运行时异常与一般异常有何异同?异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可 能遇到的异常,是一种常见运行错误。java 编译器要求方法必须声明抛出可能发生的非运 行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。6、说出 Servlet 的生命周期,并说出 Servlet 和 CGI 的区别。Servlet 被服

6、务器实例化后,容器运行其 init 方法,请求到达时运行其 service 方法,service 方法自动派遣运行与请求对应的 doXXX 方法(doGet,doPost)等,当服务器决定将实例 销毁的时候调用其 destroy 方法。与 cgi 的区别在于 servlet 处于服务器进程中,它通过多线程方式运行其 service 方法,一个 实例可以服务于多个请求,并且其实例一般不会销毁,而 CGI 对每个请求都产生新的进程, 服务完成后就销毁,所以效率上低于 servlet。7、说出 ArrayList,Vector, LinkedList 的存储性能和特性ArrayList 和 Vect

7、or 都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增 加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内 存操作,所以索引数据快而插入数据慢,Vector 由于使用了 synchronized 方法(线程安全) , 通常性能上较 ArrayList 差,而 LinkedList 使用双向链表实现存储,按序号索引数据需要进 行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。8、EJB 是基于哪些技术实现的?并说出 SessionBean 和 EntityBean 的区别,StatefulBean 和 StatelessBea

8、n 的区别。EJB 包括 Session Bean、Entity Bean、Message Driven Bean,基于 JNDI、RMI、JAT 等 技术实现。SessionBean 在 J2EE 应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、 调用其他 EJB 组件。EntityBean 被用来代表应用系统中用到的数据。对于客户机,SessionBean 是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。对于客户机,EntityBean 是一种持久性对象,它代表一个存储在持久性存储器中的实体的 对象视图,或是一个由现有企业应用程序实现的实体。Session Bean 还

9、可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean 都可以将系统逻辑放在 method 之中执行,不同的是 Stateful Session Bean 可 以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的 Stateful Session Bean 的实体。Stateless Session Bean 虽然也是逻辑组件,但是他却不负责记录使用者状态,也 就是说当使用者呼叫 Stateless Session Bean 的时候,EJB Container 并不会找寻特定的 Stateless

10、 Session Bean 的实体来执行这个 method。换言之,很可能数个使用者在执行某个 Stateless Session Bean 的 methods 时,会是同一个 Bean 的 Instance 在执行。从内存方面 来看, Stateful Session Bean 与 Stateless Session Bean 比较, Stateful Session Bean 会消 耗 J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者 的状态。9、Collection 和 Collections 的区别。 Collectio

11、n 是集合类的上级接口,继承与他的接口主要有 Set 和 List.Collections 是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、 排序、线程安全化等操作。10、 s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? short s1 = 1; s1 = s1 + 1; (s1+1 运算结果是 int 型,需要强制转换类型)short s1 = 1; s1 += 1;(可以正确编译)26、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? Math.round(11.5)=12Math.r

12、ound(-11.5)=-11round 方法返回与参数最接近的长整数,参数加 1/2 后求其 floor.27、String s = new String(“xyz“);创建了几个 String Object? 两个28、设计 4 个线程,其中两个线程每次对 j 增加 1,另外两个线程对 j 每次减少 1。写出程 序。以下程序使用内部类实现线程,对 j 增减的时候没有考虑顺序问题。public class ThreadTest1private int j;public static void main(String args)ThreadTest1 tt=new ThreadTest1();

13、Inc inc=tt.new Inc();Dec dec=tt.new Dec();for(int i=0;ihttp:/.“% 60、什么情况下调用 doGet()和 doPost()?Jsp 页面中的 form 标签里的 method 属性为 get 时调用 doGet(),为 post 时调用 doPost()。61、servlet 的生命周期web 容器加载 servlet,生命周期开始。通过调用 servlet 的 init()方法进行 servlet 的初始化。 通过调用 service()方法实现,根据请求的不同调用不同的 do*()方法。结束服务,web 容 器调用 servl

14、et 的 destroy()方法。62、如何现实 servlet 的单线程模式63、页面间对象传递的方法request,session,application,cookie 等64、JSP 和 Servlet 有哪些相同点和不同点,他们之间的联系是什么? JSP 是 Servlet 技术的扩展,本质上是 Servlet 的简易方式,更强调应用的外表表达。JSP 编 译后是“类 servlet“。Servlet 和 JSP 最主要的不同点在于,Servlet 的应用逻辑是在 Java 文件 中,并且完全从表示层中的 HTML 里分离开来。而 JSP 的情况是 Java 和 HTML 可以组合 成

15、一个扩展名为.jsp 的文件。JSP 侧重于视图,Servlet 主要用于控制逻辑。65、四种会话跟踪技术会话作用域 ServletsJSP 页面描述page 否是代表与一个页面相关的对象和属性。一个页面由一个编译好的 Java servlet 类 (可以带有任何的 include 指令,但是没有 include 动作)表示。这既包括 servlet 又包括 被编译成 servlet 的 JSP 页面request 是是代表与 Web 客户机发出的一个请求相关的对象和属性。一个请求可能跨越多 个页面,涉及多个 Web 组件(由于 forward 指令和 include 动作的关系)sessio

16、n 是是代表与用于某个 Web 客户机的一个用户体验相关的对象和属性。一个 Web 会话可以也经常会跨越多个客户机请求application 是是代表与整个 Web 应用程序相关的对象和属性。这实质上是跨越整个 Web 应用程序,包括多个页面、请求和会话的一个全局作用域66、Request 对象的主要方法:setAttribute(String name,Object):设置名字为 name 的 request 的参数值getAttribute(String name):返回由 name 指定的属性值getAttributeNames():返回 request 对象所有属性的名字集合,结果是一个枚举的实例getCookies():返回客户端的所有 Cookie 对象,结果是一个 Cookie 数组getCharacterEncoding():返回请求中的字符编码方式getConten

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

当前位置:首页 > 行业资料 > 其它行业文档

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