花旗银行JAVA面试题分类

上传人:夏** 文档编号:505041680 上传时间:2023-09-03 格式:DOCX 页数:13 大小:28.86KB
返回 下载 相关 举报
花旗银行JAVA面试题分类_第1页
第1页 / 共13页
花旗银行JAVA面试题分类_第2页
第2页 / 共13页
花旗银行JAVA面试题分类_第3页
第3页 / 共13页
花旗银行JAVA面试题分类_第4页
第4页 / 共13页
花旗银行JAVA面试题分类_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《花旗银行JAVA面试题分类》由会员分享,可在线阅读,更多相关《花旗银行JAVA面试题分类(13页珍藏版)》请在金锄头文库上搜索。

1、JAVA 的基本知识1、List、Map、Set 三个接口,存取元素时,各有什么特点?List以特定次序来持有元素,可有重复元素。Set无法拥有重复元素,内部排序。Map保存key-value 值, value 可多值。2、Collection 和 Collections 的区别。Collection是集合类的上级接,继承与他的接主要有Set和List.Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。?3、HashMap 和 Hash table 的区别。? HashMap是Hash table的轻量级实现(非线程安全的实现),

2、他们都完成了 Map接,主要 区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hash table。? HashMap 允许将 null 作为一个 entry 的 key 或者 value,而 Hash table 不允许。HashMap 把 Hash table 的 cont ains 方法去掉了,改成 con tainsvalue 和 con tainsKey。因为con tains方法容易让人引起误解。? Hash table 继承自 Dic ti onary 类,而 HashMap 是 Javal.2 引进的 Map int erface 的一个实

3、现。最大的不同是,Hash table的方法是Synchronize的,而HashMap不是,在多个线程访问Hash table时,不需要自己为它的方法实现同步,而HashMap就必须为之提供外同步。Hash table和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。4、final, finally, finalize 的区别。final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。finally是异常处理语句结构的一部分,表示总是执行。finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以

4、覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。5、JAVA中多线程有几种实现方法?线程同步有几种实现方法,都是什么?多线程有两种实现方法,分别是继承Thread类与实现Runnable接口?同步的实现方面有两种,分别是 synchronized,wait 与 notify6、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?不能,一个对象的一个synchronized方法只能由一个线程访问。?7、sleep() 和 wait() 有什么区别? sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是

5、监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态8、java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?字节流,字符流。字节流继承于InputStream OutputStream,字符流继承于InputStreamReader OutputStreamWriter。?9、java中实现多态的机制是什么?方法的重写Over

6、riding和重载Overloading是Java多态性的不同表现。重写Overriding是父类 与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。10、JAVA语言如何进行异常处理,关键字:throws, throw, try,catchfinally分别代表什么意义?在try块中可以抛出异常吗?Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并

7、进行处理。Java的异常处理是通过5个关键词来实现的:t ry、cat ch、t hrow、t hrows和finally。一般情况下是用try来执行一段程序,如果出现异常,系统会抛出(throws)一个异常,这时候你可以通过它的类型来捕 捉(catch)它,或最后(finally)由缺省处理器来处理。用try来指定一块预防所有异常的程序。紧跟在try程序后面,应包含一个catch子句来指定你想要捕捉的异常的类型。throw语句用来明确地抛出一个异常。throws用来标明一个成员函数可能抛出的各种异常。Finally为确保一段代码不管发生什么异常都被执行一段代码。可以在一个成员函数调用的外面写

8、一个try语句,在这个成员函数内部写另一个try语句保护其他代码。每当遇到一个try语句,异常的框架就放到堆栈上面,直到所有的try语句都完成。如果下一级的try语句没有对某种异常进行处理,堆栈就会展开,直到遇到有处理这种异常的 try 语句。11、面向对象的特征有哪些方面答:主要有以下四方面:1. 抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2. 继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方

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

10、应用程序 函数同名问题。12什么是工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。首先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法。然后需要定义一个工厂类,工厂类可以根据条件生成不同的子类实例。当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例JSP/Servlet相关知识1、说出Servlet的生命周期。? Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其se

11、rvice方法,service方法自动派遣运行与请求对应的doXXX方法(doGet, doPost)等,当服务器决定将实例销毁的时候调用其des troy方法。2、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?? JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是类servlet。? Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于

12、控制逻辑。3、jsp有哪些动作?作用分别是什么?JSP共有以下6种基本动作jsp:include :在页面被请求的时候引入一个文件。jsp:useBean:寻找或者实例化一个JavaBean。jsp:setProperty :设置 JavaBean 的属性。?jsp:getProperty :输出某个 JavaBean 的属性。jsp:forward :把请求转到一个新的页面。jsp:plugin :根据浏览器类型为Java插件生成OBJECT或EMBED标记。4、JSP 的内置对象及方法。request 表示 HttpServletRequest 对象。它包含了有关浏览器请求的信息,并且提供

13、了几个用于获取cookie, header,和session数据的有用的方法。? response 表示 HttpServletResponse 对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)? page表示从该页面产生的一个servlet实例5、JSP 中动态 include 与静态 include 的区别??动态include用jsp:include动作实现它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。?静态include用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面6、如果不希望JSP网页支持Session,

14、应该如何办?答:% page session二 “falseJ2EE相关知识请对以下在J2EE中常用的名词进行解释(或简单描述)web容器:给处于其中的应用程序组件(JSP, SERVLET)提供一个环境,使JSP,SERVLET直接更容器中的环境变量接交互,不必关注其它系统问题。主要有WEB服务器来实现。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。该容器提供的接严格遵守J2EE规范中的WEB APPLICATION标准。我们把遵守以上标准的WEB服务器就叫做J2EE中的WEB容器。EJB容器:Enterprise java bean容器。更具有行业领域特色。他提供给运行在其中

15、的组件EJB 各种管理功能。只要满足J2EE规范的EJB放入该容器,马上就会被容器进行高效率的管理。并且 可以通过现成的接来获得系统级别的服务。例如邮件服务、事务管理。JNDI :(Java Naming & Directory Interface) JAVA命名目录服务。主要提供的功能是:提供 个目录系统,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布 式应用程序的功能。JMS:(Java Message Service) JAVA消息服务。主要实现各个应用程序之间的通讯。包括点对点和广播。JTA:(Java Transaction API) JAVA事务服务。提供各种分布式事务服务。应用程序只需调用其提供的接即可。JAF:(Java Act ion FrameWork) JAVA安全认证框架。提供一些安全控制方面的框架。让开发者通过各种部署和自定义实现自己的个性安全控制策略。RMI/IIOP: (Remote Method Invocation /internet对象请求中介协议)他们主要用于通过远程 调用服务。例如,远程有一台计算机上运行一个程

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

当前位置:首页 > 学术论文 > 其它学术论文

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