收藏 分享(赏)

125条常见的java 面试笔试题大汇总.pdf

上传人:凯文文 文档编号:46497 上传时间:2018-07-31 格式:PDF 页数:32 大小:331.85KB
下载 相关 举报
125条常见的java 面试笔试题大汇总.pdf_第1页
第1页 / 共32页
125条常见的java 面试笔试题大汇总.pdf_第2页
第2页 / 共32页
125条常见的java 面试笔试题大汇总.pdf_第3页
第3页 / 共32页
125条常见的java 面试笔试题大汇总.pdf_第4页
第4页 / 共32页
125条常见的java 面试笔试题大汇总.pdf_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、1 2 5条常见的j a v a面试笔试题大汇总1 .抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2 .继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。3 .

2、封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。4 .多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。5、S t r i n g是最基本的数据类型吗?基本数据类型包括byte、i nt、c har、l ong、f l oat、double、boole a n和s hort。j a va. l a ng.S t r i ng类是f

3、 i na l类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用S t r i ngBuf f e r类6、i n t和I n t e g e r有什么区别J a va提供两种不同的类型:引用类型和原始类型(或内置类型)。I nt是j a v a的原始数据类型,I nt e ger是j a v a为i n t提供的封装类。J a va为每个原始类型提供了封装类。原始类型封装类boole a n Boole a nc har C har a c t e rbyte Byt es hort S horti nt I nt e gerl ong L ongf l oat

4、F l oatdouble D ouble引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关。7、S t r i n g和S t r i n g B u f f e r的区别J AVA平台提供了两个类:S t r i ng和S t r i ngBuf f e r,它们可以储存和操作字符串,即包含多个字符的字符数据。这个S t r i ng类提供了数值不可

5、改变的字符串。而这个S t r i ngBuf f e r类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用S t r i ngBuf f e r。典型地,你可以使用S t r i ngBuf f e r s来动态构造字符数据。8、运行时异常与一般异常有何异同?异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。j a v a编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。9、说出S e r v l e t的生命周期,并说出S e r v l e t和C G IG G G的

6、区别。S e r vle t被服务器实例化后,容器运行其i n i t方法,请求到达时运行其s e r vic e方法,s e r vic e方法自动派遣运行与请求对应的doXX X方法(doGe t,doPost)等,当服务器决定将实例销毁的时候调用其des t r oy方法。与c gi的区别在于s e r vle t处于服务器进程中,它通过多线程方式运行其s e r vic e方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而C G I对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于s e r vle t。1 0、说出A r r a y L i s t , V e c

7、t o r , L i n k e d L i s t的存储性能和特性A r r a yLi s t和Ve c t or都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Ve c t or由于使用了s ynchr o ni ze d方法(线程安全),通常性能上较A r r a yLi s t差,而L i nked L i s t使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。1 1、E J B是基于

8、哪些技术实现的?并说出S e s s i o n B e a n和E n t i t y B e a n的区别,S t a t e f u l B e a n和S t a t e l e s s B e a n的区别。E J B包括S e s s i on Be a n、E nt i t y Be a n、Me s s a ge D r i ven Be a n,基于J N D I、R MI、J AT等技术实现。S e s s i on Be a n在J 2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他E J B组件。E nt i t y Be a n被用来代表应用系

9、统中用到的数据。对于客户机,S e s s i on Be a n是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。对于客户机,E nt i t y Be a n是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。S e s s i on Be a n还可以再细分为S t a t e f ul S e s s i on Be a n与S t a t e l e s s S e s s i on Be a n,这两种的S e s s i on Be a n都可以将系统逻辑放在m e t hod之中执行,不同的是S t a t e f ul

10、 S e s s i on Be a n可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的S t a t e f ul S e s s i on Be a n的实体。S t a t e l e s s S e s s i on Be a n虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫S t a t e l e s s S e s s i on Be a n的时候,E J BC onta i ne r并不会找寻特定的S t a t e l e s s S e s s i on Be a n的实体来执行这个m e t hod。换言之,很可能数个使用者在执行某个S

11、 t a t e l e s s S e s s i on Be a n的m e t hods时,会是同一个Be a n的I nst a nc e在执行。从内存方面来看,S t a t e f ul S e s s i on Be a n与S t a t e l e s s S e s s i on Be a n比较,S t a t e f ul S e s s i on Be a n会消耗J 2EE S e r ver较多的内存,然而S t a t e f ul S e s s i on Be a n的优势却在于他可以维持使用者的状态。1 2、C o l l e c t i o n和C o

12、l l e c t i o n s的区别。C ol l e c t i on是集合类的上级接口,继承与他的接口主要有S e t和L i s t . C ol l e c t i ons是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。1 3、 s 1 = s 1 + 1 ;有什么错? s h o r t s 1 = 1 ; s 1 + = 1 ;有什么错?s hort s 1 = 1; s 1 = s 1 + 1;(s 1+1运算结果是i n t型,需要强制转换类型)s hort s 1 = 1; s 1 + = 1;(可以正确编译)2 9、Ma t

13、h . r o u n d ( 1 1 . 5 )等於多少? Ma t h . r o u n d ( - 1 1 . 5 )等於多少?Ma t h. r ound(11.5) = = 12Ma t h. r ound(- 11.5) = = - 11r ound方法返回与参数最接近的长整数,参数加1/ 2后求其f l oor.3 0、S t r i n g s = n e w S t r i n g ( “ x y z “ ) ;创建了几个S t r i n g O b j e c t ?O O O两个3 1、E J B包括(S e s s i o n B e a n , E n t i t

14、 y B e a n)说出他们的生命周期,及如何管理事务的?S e s s i on Be a n:S t a t e l e s s S e s s i on Be a n的生命周期是由容器决定的,当客户机发出请求要建立一个Be a n的实例时,E J B容器不一定要创建一个新的Be a n的实例供客户机调用,而是随便找一个现有的实例提供给客户机。当客户机第一次调用一个S t a t e f ul S e s s i on Be a n时,容器必须立即在服务器中创建一个新的Be a n实例,并关联到客户机上,以后此客户机调用S t a t e f ul S e s s i on Be a n

15、的方法时容器会把调用分派到与此客户机相关联的Be a n实例。E nt i t y Be a n:E nt i t y Be a ns能存活相对较长的时间,并且状态是持续的。只要数据库中的数据存在,E nt i t y bea ns就一直存活。而不是按照应用程序或者服务进程来说的。即使E J B容器崩溃了,E nt i t y bea ns也是存活的。E nt i t y Be a ns生命周期能够被容器或者Be a ns自己管理。E J B通过以下技术管理实务:对象管理组织(O MG)的对象实务服务(O T S),S unMi c r os yst e m s的T r a ns a c t

16、i on S e r vic e(J T S)、J a va T r a ns a c t i on A P I(J T A),开发组(X / O pen)的X A接口。3 2、应用服务器有那些?BE A We bLogic S e r ver,I BM We b S pher e A ppli c a t i on S e r ver,O r a c l e 9i A ppli c a t i on S e r ver,j Bos s,T om c a t3 3、给我一个你最常见到的r u n t i me e x c e p t i o n。A r i t hm e t i c E xc

17、e pt i on,A r r a ySt or e E xc e pt i on,Buf f e r O ver f l owE xc e pt i on,Buf f e r Under f l owE xc e pt i on,C a nnotR e doExc e pt i on,C a nnotU ndoExc e pt i on,C l a s s C a s t E xc e pt i on,C MM E xc e pt i on,C oncur r e nt Mo dif i c a t i on E xc e pt i on,D O ME xc e pt i on,E m pt

18、 ySt a c kExc e pt i on,I l l e g a l Ar gume nt E xc e pt i on,I l l e g a l Mon i t or S t a t e E xc e pt i on,I l l e g a l P a t hSt a t e E xc e pt i on,I l l e g a l S t a t e E xc e pt i on,I m a gingOpExc e pt i on,I ndexOut O f BoundsE xc e pt i on,Mi s s i ngRe s ourc e E xc e pt i on,N e

19、 gat i ve A r r a ySi ze E xc e pt i on,N oSuchEl e m e nt E xc e pt i on,N ul l P oi nt e r E xc e pt i on,P r o f i l e D a t a E xc e pt i on,P r o vide r E xc e pt i on,R a s t e r F or m a t E xce pt i on,S e c ur i t yExc e pt i on,S yst e m E xc e pt i on,Undec l a r e dThr owa ble E xc e pt

20、i on,Unm od i f i a ble S e t E xc e pt i on,Uns upport e dOper a t i on E xc e pt i on34、接口是否可继承接口?抽象类是否可实现( i m ple m e nt s )接口?抽象类是否可继承实体类( c oncr e t e c l a s s ) ?接口可以继承接口。抽象类可以实现( i m ple m e nt s )接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。3 5、L i s t , S e t , Ma p是否继承自C o l l e c t i o n接口?L i s t,

21、S e t是,Ma p不是3 6、说出数据连接池的工作机制是什么?J 2EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量由配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就不可以使用这个连接。3 7、a b s t r a c t的me t h o d是否可同时是s t a t i c ,是否可同时是n a t i v e,是否可同时是s y n c h r o n i ze d ?都不能3 8、数组有

22、没有l e n g t h ( )这个方法? S t r i n g有没有l e n g t h ( )这个方法?数组没有l e ngth( )这个方法,有l e ngth的属性。S t r i ng有有l e ngth( )这个方法。3 9、S e t里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用= =还是e q u a l s ( ) ?它们有何区别?S e t里的元素是不能重复的,那么用i t e r a t or ( )方法来区分重复与否。e qual s ( )是判读两个S e t是否相等。e qual s ( )和= =方法决定引用值是否指向同一对象e qual s (

23、 )在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。4 0、构造器C o n s t r u c t o r是否可被o v e r r i d e ?构造器C onst r uct or不能被继承,因此不能重写O ver r i ding,但可以被重载O ver l oad i ng。4 1、是否可以继承S t r i n g类?S t r i ng类是f i na l类故不可以继承。4 2、s w t i c h是否能作用在b y t e上,是否能作用在l o n g上,是否能作用在S t r i n g上?s w i t c h(e xpr1)中,e xpr1是一个整数表达式。因此传递给s w i t c h和c a s e语句的参数应该是i nt、s hort、c har或者byte。l ong,s t r i ng都不能作用于s w t i c h。43、t r y 里有一个r e t ur n语句,那么紧跟在这个t r y后的f i na l l y 里的c ode会不会被执行,什么时候被执行,在r e t ur n前还是后?会执行,在r e t ur n前执行。4 4、编程题:用最有效率的方法算出2乘以8等於几?2 3

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

当前位置:首页 > 网络技术 > 热门技术

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报