人力资源JAVA面试题汇集_第1页
人力资源JAVA面试题汇集_第2页
人力资源JAVA面试题汇集_第3页
人力资源JAVA面试题汇集_第4页
人力资源JAVA面试题汇集_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、说明:该面试题题集共54页,目目前仅供供即将毕毕业的学学员参考考使用,不不能作为为标准化化试题,上上述试题题收集渠渠道来源源较为广广泛,难难度上无无法控制制,有些些题是针针对五年年以上开开发人员员的,我我对试题题的答案案无法作作出正确确地保证证,试题题答案供供大家参参考使用用。学员员们应该该尽量举举一反三三,主动动思考。我接触触的招聘聘企业现现在普遍遍反映学学员们自自己主动动学习和和自学能能力以及及对基础础知识的的掌握比比较弱,希希望这些些试题能能够帮助助大家加加深理解解和记忆忆,该试试题只供供达内的的学员参参考,请请勿外传传!最后预祝祝同学们们揾工顺顺利! 达内广广州中心心 大客户户运营经经

2、理 贾元峥峥JAVAA面试题题集基础知识识: 1.C+或Javva中的异异常处理理机制的的简单原原理和应应用。 当JAVVA程序违违反了JAVVA的语义义规则时时,JAVVA虚拟机机就会将将发生的的错误表表示为一一个异常常。违反反语义规规则包括括2种情况况。一种种是JAVVA类库内内置的语语义检查查。例如如数组下下标越界界,会引发InddexOOutOOfBoounddsExxcepptioon;访问nulll的对象象时会引引发NulllPoointterEExceeptiion。另一一种情况况就是JAVVA允许程程序员扩扩展这种种语义检检查,程程序员可可以创建建自己的的异常,并并自由选选择在

3、何何时用thrrow关键字字引发异异常。所所有的异异常都是是javva.llangg.Thhowaablee的子类类。 2. JJavaa的接口口和C+的虚类类的相同同和不同同处。 由于Jaava不支持持多继承承,而有有可能某某个类或或对象要要使用分分别在几几个类或或对象里里面的方方法或属属性,现现有的单单继承机机制就不不能满足足要求。与继承承相比,接接口有更更高的灵灵活性,因因为接口口中没有有任何实实现代码码。当一一个类实实现了接接口以后后,该类类要实现现接口里里面所有有的方法法和属性性,并且且接口里里面的属属性在默默认状态态下面都都是pubblicc sttatiic,所有方方法默认认情况

4、下下是pubblicc.一个类类可以实实现多个个接口。 3. 垃垃圾回收收的优点点和原理理。并考考虑2种回收收机制。 Javaa语言中中一个显显著的特特点就是是引入了了垃圾回回收机制制,使c+程序员员最头疼疼的内存存管理的的问题迎迎刃而解解,它使使得Javva程序员员在编写写程序的的时候不不再需要要考虑内内存管理理。由于于有个垃垃圾回收收机制,Javva中的对对象不再再有“作用域”的概念念,只有有对象的的引用才才有“作用域”。垃圾圾回收可可以有效效的防止止内存泄泄露,有有效的使使用可以以使用的的内存。垃圾回回收器通通常是作作为一个个单独的的低级别别的线程程运行,不不可预知知的情况况下对内内存堆

5、中中已经死死亡的或或者长时时间没有有使用的的对象进进行清楚楚和回收收,程序序员不能能实时的的调用垃垃圾回收收器对某某个对象象或所有有对象进进行垃圾圾回收。回收机机制有分分代复制制垃圾回回收和标标记垃圾圾回收,增增量垃圾圾回收。 4. 请请说出你你所知道道的线程程同步的的方法。 waitt():使一个个线程处处于等待待状态,并并且释放放所持有有的对象象的locck。 sleeep():使一个个正在运运行的线线程处于于睡眠状状态,是是一个静静态方法法,调用用此方法法要捕捉捉IntterrrupttedEExceeptiion异常。 notiify():唤醒一一个处于于等待状状态的线线程,注注意的是

6、是在调用用此方法法的时候候,并不不能确切切的唤醒醒某一个个等待状状态的线线程,而而是由JVM确定唤唤醒哪个个线程,而而且不是是按优先先级。 Allnnotiity():唤醒所所有处入入等待状状态的线线程,注注意并不不是给所所有唤醒醒线程一一个对象象的锁,而而是让它它们竞争争。 5. 请请讲一讲讲析构函函数和虚虚函数的的用法和和作用。 6. EErroor与Exccepttionn有什么么区别? Erroor表示系系统级的的错误和和程序不不必处理理的异常常, Exceeptiion表示需需要捕捉捉或者需需要程序序进行处处理的异异常。 7. 在在javva中一个个类被声声明为finnal类型,表表

7、示了什什么意思思? 表示该类类不能被被继承,是是顶级类类。 8. 描描述一下下你最常常用的编编程风格格。 9. hheapp和staack有什么么区别。 栈是一种种线形集集合,其其添加和和删除元元素的操操作应在在同一段段完成。栈按照照后进先先出的方方式进行行处理。 堆是栈的的一个组组成元素素 10. 如果系系统要使使用超大大整数(超超过lonng长度范范围),请请你设计计一个数数据结构构来存储储这种超超大型数数字以及及设计一一种算法法来实现现超大整整数加法法运算)。 publlic claass BiggIntt() int AArrOOne = nnew ArrrOnee10000; Str

8、iing inttStrringg=; publlic intt Arrr(Sttrinng ss) intSStriing = ss; for(intt i=0;ii 0); / tthroows an Assserttionnerrror if a = 00 断言可以以有两种种形式: asseert Exppresssioon1 ; asseert Exppresssioon1 : EExprresssionn2 ; Exxpreessiion11 应该总总是产生生一个布布尔值。 Exxpreessiion22 可以是是得出一一个值的的任意表表达式。这个值值用于生生成显示示更多调调试信息息

9、的 Sttrinng 消息。 断言言在默认认情况下下是禁用用的。要要在编译译时启用用断言,需需要使用用 soourcce 11.4 标记: jaavacc -ssourrce 1.44 Teest.javva 要在在运行时时启用断断言,可可使用 -eenabbleaasseertiionss 或者 -eea 标记。 要在在运行时时选择禁禁用断言言,可使使用 -dda 或者 -ddisaableeassserttionns 标记。 要系系统类中中启用断断言,可可使用 -eesa 或者 -ddsa 标记。还可以以在包的的基础上上启用或或者禁用用断言。 可以以在预计计正常情情况下不不会到达达的任何何

10、位置上上放置断断言。断断言可以以用于验验证传递递给私有有方法的的参数。不过,断断言不应应该用于于验证传传递给公公有方法法的参数数,因为为不管是是否启用用了断言言,公有有方法都都必须检检查其参参数。不不过,既既可以在在公有方方法中,也也可以在在非公有有方法中中利用断断言测试试后置条条件。另另外,断断言不应应该以任任何方式式改变程程序的状状态。 一八,GGC是什么? 为什么么要有GC? (基础)。 GCC是垃圾圾收集器器。Javva 程序员员不用担担心内存存管理,因因为垃圾圾收集器器会自动动进行管管理。要要请求垃垃圾收集集,可以以调用下下面的方方法之一一: Systtem.gc() Runttim

11、ee.geetRuuntiime().ggc() 19,SStriing s = neew SStriing(xyyz);创建了了几个Strringg Obbjecct? 两个个对象,一一个是“xyx”,一个是是指向“xyx”的引用用对象s。 20,MMathh.rooundd(111.5)等於多多少? MMathh.rooundd(-111.55)等於多多少? Maath.rouund(11.5)返回(lonng)12,Matth.rrounnd(-11.5)返回(lonng)-111; 21,sshorrt ss1 = 1; s11 = s1 + 11;有什么么错? sshorrt ss1

12、 = 1; s11 += 1;有什么么错? shhortt s11 = 1; s1 = ss1 + 1;有错,s1是shoort型,s1+1是int型,不能显显式转化化为shoort型。可可修改为为s1 =(sshorrt)(s1 + 11) 。shoort s1 = 11; ss1 += 11正确。 22,ssleeep() 和 waait() 有什么么区别? 搞线程程的最爱爱 slleepp()方法是是使线程程停止一一段时间间的方法法。在sleeep 时间间间隔期满满后,线线程不一一定立即即恢复执执行。这这是因为为在那个个时刻,其其它线程程可能正正在运行行而且没没有被调调度为放放弃执行行,

13、除非非(a)“醒来”的线程程具有更更高的优优先级 (bb)正在运运行的线线程因为为其它原原因而阻阻塞。 waait()是线程程交互时时,如果果线程对对一个同同步对象象x 发出一一个waiit()调用,该该线程会会暂停执执行,被被调对象象进入等等待状态态,直到到被唤醒醒或等待待时间到到。 23,JJavaa有没有gotto? Gooto?javva中的保保留字,现现在没有有在javva中使用用。 24,数数组有没没有lenngthh()这个方方法? SStriing有没有lenngthh()这个方方法? 数组组没有lenngthh()这个方方法,有有lenngthh的属性性。 Striing有有

14、lenngthh()这个方方法。 25,OOverrloaad和Oveerriide的区别别。Oveerlooadeed的方法法是否可可以改变变返回值值的类型型? 方法法的重写写Oveerriidinng和重载Oveerlooadiing是Javva多态性性的不同同表现。重写Oveerriidinng是父类类与子类类之间多多态性的的一种表表现,重重载Oveerlooadiing是一个个类中多多态性的的一种表表现。如如果在子子类中定定义某方方法与其其父类有有相同的的名称和和参数,我我们说该该方法被被重写 (OOverrriddingg)。子类类的对象象使用这这个方法法时,将将调用子子类中的的定义

15、,对对它而言言,父类类中的定定义如同同被“屏蔽”了。如如果在一一个类中中定义了了多个同同名的方方法,它它们或有有不同的的参数个个数或有有不同的的参数类类型,则则称为方方法的重重载(Ovverlloaddingg)。Oveerlooadeed的方法法是可以以改变返返回值的的类型。 26,SSet里的元元素是不不能重复复的,那那么用什什么方法法来区分分重复与与否呢? 是用=还是equualss()? 它们有有何区别别? Seet里的元元素是不不能重复复的,那那么用iteerattor()方法来来区分重重复与否否。equualss()是判读读两个Set是否相相等。 eqqualls()和=方法决决定

16、引用用值是否否指向同同一对象象equualss()在类中中被覆盖盖,为的的是当两两个分离离的对象象的内容容和类型型相配的的话,返返回真值值。27,给给我一个个你最常常见到的的runntimme eexceeptiion。 AritthmeeticcExccepttionn, AArraaySttoreeExccepttionn, BBuffferOOverrfloowExxcepptioon, BuffferrUndderfflowwExccepttionn, CCannnotRRedooExccepttionn, CCannnotUUndooExccepttionn, CClasssCaas

17、tEExceeptiion, CMMMExxcepptioon, ConncurrrenntMoodifficaatioonExxcepptioon, DOMMExccepttionn, EEmpttySttackkExccepttionn, IIlleegallArggumeentEExceeptiion, IllleggalMMoniitorrStaateEExceeptiion, IllleggalPPathhStaateEExceeptiion, IllleggalSStatteExxcepptioon, ImagginggOpEExceeptiion, InndexxOuttOfBB

18、ounndsEExceeptiion, MiissiingRResoourcceExxcepptioon, NeggatiiveAArraaySiizeEExceeptiion, NooSucchEllemeentEExceeptiion, NuullPPoinnterrExccepttionn, PProffileeDattaExxcepptioon, ProovidderEExceeptiion, RaasteerFOORMaatExxcepptioon, SeccuriityEExceeptiion, SyysteemExxcepptioon, UnddecllareedThhrowwa

19、blleExxcepptioon, UnmmodiifiaableeSettExccepttionn, UUnsuuppoorteedOpperaatioonExxcepptioon 28,eerroor和exccepttionn有什么么区别? errrorr 表示恢恢复不是是不可能能但很困困难的情情况下的的一种严严重问题题。比如如说内存存溢出。不可能能指望程程序能处处理这样样的情况况。 exxcepptioon 表示一一种设计计或实现现问题。也就是是说,它它表示如如果程序序运行正正常,从从不会发发生的情情况。 29,LListt, SSet, Maap是否继继承自Colllecctioon接

20、口? Listt,Set是 Map不不是 30,aabsttracct cclasss和intterffacee有什么么区别? 声明明方法的的存在而而不去实实现它的的类被叫叫做抽象象类(absstraact claass),它它用于要要创建一一个体现现某些基基本行为为的类,并并为该类类声明方方法,但但不能在在该类中中实现该该类的情情况。不不能创建建absstraact 类的实实例。然然而可以以创建一一个变量量,其类类型是一一个抽象象类,并并让它指指向具体体子类的的一个实实例。不不能有抽抽象构造造函数或或抽象静静态方法法。Absstraact 类的子子类为它它们父类类中的所所有抽象象方法提提供实

21、现现,否则则它们也也是抽象象类为。取而代代之,在在子类中中实现该该方法。知道其其行为的的其它类类可以在在类中实实现这些些方法。 接口口(intterffacee)是抽抽象类的的变体。在接口口中,所所有方法法都是抽抽象的。多继承承性可通通过实现现这样的的接口而而获得。接口中中的所有有方法都都是抽象象的,没没有一个个有程序序体。接接口只可可以定义义staaticc fiinall成员变变量。接接口的实实现与子子类相似似,除了了该实现现类不能能从接口口定义中中继承行行为。当当类实现现特殊接接口时,它它定义(即即将程序序体给予予)所有有这种接接口的方方法。然然后,它它可以在在实现了了该接口口的类的的任

22、何对对象上调调用接口口的方法法。由于于有抽象象类,它它允许使使用接口口名作为为引用变变量的类类型。通通常的动动态联编编将生效效。引用用可以转转换到接接口类型型或从接接口类型型转换,insstannceoof 运算符符可以用用来决定定某对象象的类是是否实现现了接口口。 31,aabsttracct的metthodd是否可可同时是是staaticc,是否可可同时是是nattivee,是否否可同时时是synnchrroniizedd? 都不不能 32,接接口是否否可继承承接口? 抽象类类是否可可实现(immpleemennts)接口? 抽象类类是否可可继承实实体类(conncreete claass

23、)? 接口口可以继继承接口口。抽象象类可以以实现(immpleemennts)接口,抽抽象类是是否可继继承实体体类,但但前提是是实体类类必须有有明确的的构造函函数。 33,启启动一个个线程是是用runn()还是staart()? 启动动一个线线程是调调用staart()方法,使使线程所所代表的的虚拟处处理机处处于可运运行状态态,这意意味着它它可以由由JVM调度并并执行。这并不不意味着着线程就就会立即即运行。runn()方法可可以产生生必须退退出的标标志来停停止一个个线程。 34,构构造器Connstrructtor是否可可被oveerriide? 构造造器Connstrructtor不能被被继

24、承,因因此不能能重写Oveerriidinng,但可可以被重重载Oveerlooadiing。 35,是是否可以以继承Strringg类? Sttrinng类是finnal类故不不可以继继承。 36,当当一个线线程进入入一个对对象的一一个synnchrroniizedd方法后后,其它它线程是是否可进进入此对对象的其其它方法法? 不能能,一个个对象的的一个synnchrroniizedd方法只只能由一一个线程程访问。 37,ttry 里有一一个retturnn语句,那那么紧跟跟在这个个try后的finnallly 里的codde会不会会被执行行,什么么时候被被执行,在return前还是后? 会执

25、执行,在在retturnn前执行行。 38,编编程题: 用最有有效率的的方法算算出2乘以8等於几? 有CC背景的的程序员员特别喜喜欢问这这种问题题。 2 (一千千零一拾拾一元整整)输出出。 3、继承承时候类类的执行行顺序问问题,一般都都是选择择题,问你将将会打印印出什么么? 答:父类类: packkagee teest; publlic claass FattherrClaass publlic FattherrClaass() Systtem.outt.prrinttln(FaatheerCllasss Crreatte); 子类: packkagee teest; impoort tess

26、t.FFathherCClasss; publlic claass ChiildCClasss eexteendss FaatheerCllasss publlic ChiildCClasss() Systtem.outt.prrinttln(ChhilddClaass Creeatee); publlic staaticc vooid maiin(SStriing aargss) FathherCClasss ffc = neew FFathherCClasss(); ChilldCllasss ccc = neww ChhilddClaass(); 输出结果果: C:jjavaa tees

27、t.ChiildCClasss FathherCClasss CCreaate FathherCClasss CCreaate ChilldCllasss Crreatte 4、内部部类的实实现方式式? 答:示例例代码如如下: packkagee teest; publlic claass OutterCClasss privvatee cllasss InnterrClaass publlic IntterCClasss() Systtem.outt.prrinttln(InnterrClaass Creeatee); publlic OutterCClasss() InteerCllass

28、s icc = neww InnterrClaass(); Systtem.outt.prrinttln(OuuterrClaass Creeatee); publlic staaticc vooid maiin(SStriing aargss) OuteerCllasss occ = neww OuuterrClaass(); 输出结果果: C:jjavaa teest/OutterCClasss InteerCllasss Crreatte OuteerCllasss Crreatte 再一个例例题: publlic claass OutterCClasss privvatee dooub

29、lle dd1 = 1.0; /innserrt ccodee heere You neeed tto iinseert an innner claass decclarratiion at linne 33. WWhicch ttwo innner claass decclarratiionss arre valiid?(Chooosee twwo.) A. cclasss IInneerOnne publlic staaticc dooublle mmethhodaa() reeturrn dd1; B. ppubllic claass InnnerOOne stattic douuble

30、e meethooda() retturnn d11; C. pprivvatee cllasss InnnerrOnee doubble metthodda() rretuurn d1; D. sstattic claass InnnerOOne prottectted douublee meethooda() retturnn d11; E. aabsttracct cclasss IInneerOnne publlic absstraact douublee meethooda(); 说明如下下: 一.静态态内部类类可以有有静态成成员,而而非静态态内部类类则不能能有静态态成员。 故 A、

31、B 错 二.静态态内部类类的非静静态成员员可以访访问外部部类的静静态变量量,而不不可访问问外部类类的非静静态变量量;retturnn d11 出错。 故 D 错 三.非静静态内部部类的非非静态成成员可以以访问外外部类的的非静态态变量。 故 C 正确 四.答案案为C、E 5、Jaava 的通信信编程,编编程题(或问答),用JAVVA SSOCKKET编程,读读服务器器几个字字符,再再写入本本地显示示? 答:Seerveer端程序: packkagee teest; impoort javva.nnet.*; impoort javva.iio.*; publlic claass Serrverr

32、 privvatee SeerveerSoockeet sss; privvatee Soockeet ssockket; privvatee BuuffeereddReaaderr inn; privvatee PrrinttWriiterr ouut; publlic Serrverr() try ss=nnew SerrverrSocckett(1000000); whille(ttruee) sockket = sss.aacceept(); Striing RemmoteeIP = ssockket.gettIneetAdddreess().ggetHHosttAdddresss()

33、; Striing RemmoteePorrt = :+ssockket.gettLoccalPPortt(); Systtem.outt.prrinttln(A cliientt coome in!IP:+RRemooteIIP+RRemootePPortt); in = neew BBufffereedReeadeer(nnew InpuutSttreaamReeadeer(ssockket.gettInpputSStreeam(); Striing linne = inn.reeadLLinee(); Systtem.outt.prrinttln(Clleinnt ssendd iss

34、: + linne); out = nnew PriintWWritter(socckett.geetOuutpuutSttreaam(),trrue); out.priintlln(Youur MMesssagee Reeceiivedd!); out.cloose(); in.cclosse(); sockket.cloose(); cattch (IOOExccepttionn e) out.priintlln(wroong); publlic staaticc vooid maiin(SStriing aargss) new Serrverr(); ; Clieent端程序: pack

35、kagee teest; impoort javva.iio.*; impoort javva.nnet.*; publlic claass Cliientt Sockket socckett; BufffereedReeadeer iin; PrinntWrriteer oout; publlic Cliientt() try Systtem.outt.prrinttln(Trry tto CConnnectt too 1227.00.0.1:1100000); sockket = nnew Socckett(1127.0.00.1,1000000); Systtem.outt.prrint

36、tln(Thhe SServver Connnecctedd!); Systtem.outt.prrinttln(Plleasse eenteer ssomee Chharaacteer:); BufffereedReeadeer llinee = neww BuuffeereddReaaderr(neew InpuutSttreaamReeadeer(SSysttem.in); out = nnew PriintWWritter(socckett.geetOuutpuutSttreaam(),trrue); out.priintlln(llinee.reeadLLinee(); in = n

37、eew BBufffereedReeadeer(nnew InpputSStreeamRReadder(socckett.geetInnputtStrreamm(); Systtem.outt.prrinttln(in.reaadLiine(); out.cloose(); in.cclosse(); sockket.cloose(); cattch(IOEExceeptiion e) out.priintlln(Wroong); publlic staaticc vooid maiin(SStriing aargss) new Cliientt(); ;6、用JJAVAA实现一一种排序序,J

38、AVVA类实现现序列化化的方法法(二种)? 如在COLLLECCTIOON框架中中,实现现比较要要实现什什么样的的接口? 答:用插插入法进进行排序序代码如如下 packkagee teest; impoort javva.uutill.*; classs IInseertSSortt ArraayLiist al; publlic InsserttSorrt(iint numm,innt mmod) al = neew AArraayLiist(numm); Randdom rannd = neew RRanddom(); Systtem.outt.prrinttln(Thhe AArraay

39、Liist Sorrt BBefoore:); for (innt ii=0;innum ;i+ ) al.aadd(neww Inntegger(Matth.aabs(rannd.nnexttIntt() % modd + 1); Systtem.outt.prrinttln(all+i+=+all.geet(ii); publlic voiid SSorttIt() Inteegerr teempIInt; int MaxxSizze=11; for(intt i=1;ii=(Inttegeer)aal.gget(MaxxSizze-11).inttVallue() al.aadd(Max

40、xSizze,ttemppIntt); MaxSSizee+; Systtem.outt.prrinttln(al.toSStriing(); ellse for (innt jj=0;j=temmpInnt.iintVValuue() al.aadd(j,ttemppIntt); MaxSSizee+; Systtem.outt.prrinttln(al.toSStriing(); breaak; Systtem.outt.prrinttln(Thhe AArraayLiist Sorrt AAfteer:); for(intt i=0;iiall.siize();ii+) Systtem.

41、outt.prrinttln(all+i+=+all.geet(ii); publlic staaticc vooid maiin(SStriing aargss) InseertSSortt iss = neww InnserrtSoort(10,1000); is.SSorttIt(); JAVAA类实现现序例化化的方法法是实现现javva.iio.SSeriialiizabble接口 Colllecttionn框架中中实现比比较要实实现Commparrablle 接口和 Coompaarattor 接口 7、编程程:编写写一个截截取字符符串的函函数,输输入为一一个字符符串和字字节数,输输

42、出为按按字节截截取的字字符串。 但是要要保证汉汉字不被被截半个个,如“我ABC”4,应该该截为“我AB”,输入“我ABC汉DEF”,6,应该该输出为为“我ABC”而不是“我ABCC+汉的半半个”。 答:代码码如下: packkagee teest; classs SSpliitSttrinng Striing SpllitSStr; int SpllitBBytee; publlic SpllitSStriing(Strringg sttr,iint byttes) SpliitSttr=sstr; SpliitByyte=byttes; Systtem.outt.prrinttln(Thhe

43、 SStriing is:+SSpliitSttr+;SpplittByttes=+SSpliitByyte); publlic voiid SSpliitItt() int looopCoountt; looppCouunt=(SpplittStrr.leengtth()%SpplittBytte=0)?(SpplittStrr.leengtth()/SpplittBytte):(SpplittStrr.leengtth()/SpplittBytee+1); Systtem.outt.prrinttln(Wiill Spllit intto +looopCCounnt); for (innt

44、 ii=1;i=looopCoountt ;ii+ ) if (i=looopCoountt) Systtem.outt.prrinttln(SpllitSStr.subbstrringg(ii-1)*SpplittBytte,SSpliitSttr.llenggth(); ellse Systtem.outt.prrinttln(SpllitSStr.subbstrringg(ii-1)*SpplittBytte,(i*SSpliitByyte); publlic staaticc vooid maiin(SStriing aargss) SpliitSttrinng sss = neew

45、SSpliitSttrinng(tesst中dd文dsaaf中男大34443n中国43中国人 0ewlldflls=1103,4); ss.SSpliitItt(); 8、JAAVA多线程程编程。 用JAVVA写一个个多线程程程序,如如写四个个线程,二二个加1,二个个对一个个变量减减一,输输出。 9、STTRINNG与STRRINGGBUFFFERR的区别别。 答:STTRINNG的长度度是不可可变的,STRRINGGBUFFFERR的长度度是可变变的。如如果你对对字符串串中的内内容经常常进行操操作,特特别是内内容要修修改时,那那么使用用StrringgBuffferr,如果果最后需需要Str

46、ringg,那么么使用StrringgBuffferr的toSStriing()方法 Jsp方方面 1、jssp有哪些些内置对对象?作用分分别是什什么? 答:JSSP共有以以下9种基本本内置组组件(可可与ASP的6种内部部组件相相对应): reqquesst 用户端端请求,此此请求会会包含来来自GETT/POOST请求的的参数 respponsse 网页传传回用户户端的回回应 pageeConntexxt 网页的的属性是是在这里里管理 sesssionn 与请求求有关的的会话期期 appllicaatioon sservvlett 正在执执行的内内容 out 用来传传送回应应的输出出 conf

47、fig serrvleet的构架架部件 pagee JSSP网页本本身 exceeptiion 针对错错误网页页,未捕捕捉的例例外 2、jssp有哪些些动作?作用分分别是什什么? 答:JSSP共有以以下6种基本本动作 jsp:inccludde:在页页面被请请求的时时候引入入一个文文件。 jsp:useeBeaan:寻找找或者实实例化一一个JavvaBeean。 jsp:settProoperrty:设置JavvaBeean的属性性。 jsp:gettProoperrty:输出出某个JavvaBeean的属性性。 jsp:forrwarrd:把请请求转到到一个新新的页面面。 jsp:pluug

48、inn:根据据浏览器器类型为为Javva插件生生成OBJJECTT或EMBBED标记 3、JSSP中动态INCCLUDDE与静态INCCLUDDE的区别别? 答:动态态INCCLUDDE用jspp:inncluude动作实实现 它总是是会检查查所含文文件中的的变化,适适合用于于包含动动态页面面,并且且可以带带参数 静态INNCLUUDE用inccludde伪码实实现,定不会会检查所所含文件件的变化化,适用用于包含含静态页页面 4、两种种跳转方方式分别别是什么么?有什么么区别? 答:有两两种,分分别为: 前者页面面不会转转向inccludde所指的的页面,只只是显示示该页的的结果,主主页面还还是

49、原来来的页面面。执行行完后还还会回来来,相当当于函数数调用。并且可可以带参参数.后者完完全转向向新页面面,不会会再回来来。相当当于go to 语句。 Servvlett方面 1、说一一说Serrvleet的生命命周期? 答:seervllet有良好好的生存存期的定定义,包包括加载载和实例例化、初初始化、处理请请求以及及服务结结束。这这个生存存期由javvax.serrvleet.SServvlett接口的iniit,sservvicee和desstrooy方法表表达。 2、Seervllet版本间(忘了问问的是哪哪两个版版本了)的不同? 希望大家家补上,谢谢谢 3、JAAVA SERRVLEE

50、T AAPI中forrwarrd() 与reddireect()的区别别? 答:前者者仅是容容器中控控制权的的转向,在在客户端端浏览器器地址栏栏中不会会显示出出转向后后的地址址;后者者则是完完全的跳跳转,浏浏览器将将会得到到跳转的的地址,并并重新发发送请求求链接。这样,从从浏览器器的地址址栏中可可以看到到跳转后后的链接接地址。所以,前前者更加加高效,在在前者可可以满足足需要时时,尽量量使用forrwarrd()方法,并并且,这这样也有有助于隐隐藏实际际的链接接。在有有些情况况下,比比如,需需要跳转转到一个个其它服服务器上上的资源源,则必必须使用用senndReedirrectt()方法。 4、

51、Seervllet的基本本架构 publlic claass SerrvleetNaame exttendds HHttppSerrvleet publlic voiid ddoPoost(HtttpSeervlletRRequuestt reequeest, HtttpSServvlettRessponnse ressponnse) thhrowws ServvlettExccepttionn, IIOExxcepptioon publlic voiid ddoGeet(HHttppSerrvleetReequeest reqquesst, HtttpSeervlletRRespponsse

52、 rrespponsse) thrrowss ServvlettExccepttionn, IIOExxcepptioon Jdbcc、Jdo方面 1、可能能会让你你写一段段Jdbbc连Oraaclee的程序,并实现现数据查查询. (据据说百分分百会问问)答:程序序如下: packkagee heelloo.annt; impoort javva.ssql.*; publlic claass jdbbc Striing dbUUrl=jddbc:oraaclee:thhin:x1227.00.0.1:一五21:orccl; Striing theeUseer=admmin; Striing t

53、heePw=maanagger; Connnecttionn c=nulll; Stattemeent connn; ResuultSSet rs=nulll; publlic jdbbc() try Classs.fforNNamee(ooraccle.jdbbc.ddrivver.OraacleeDriiverr).newwInsstannce(); c = DriiverrMannageer.ggetCConnnecttionn(dbbUrll,thheUsser,theePw); connn=c.creeateeStaatemmentt(); cattch(Exccepttionn e

54、) e.prrinttStaackTTracce(); publlic boooleaan eexeccuteeUpddatee(Sttrinng ssql) try connn.exxecuuteUUpdaate(sqll); retuurn truue; catcch (SQLLExccepttionn e) e.prrinttStaackTTracce(); retuurn fallse; publlic RessulttSett exxecuuteQQuerry(SStriing sqll) rs=nnulll; try rs=cconnn.exxecuuteQQuerry(ssql)

55、; catcch (SQLLExccepttionn e) e.prrinttStaackTTracce(); retuurn rs; publlic voiid cclosse() try connn.cllosee(); c.cllosee(); catcch (Exccepttionn e) e.prrinttStaackTTracce(); publlic staaticc vooid maiin(SStriing aargss) ResuultSSet rs; jdbcc coonn = nnew jdbbc(); rs=cconnn.exxecuuteQQuerry(sellect

56、t * froom ttestt); try whille (rs.nexxt() Systtem.outt.prrinttln(rs.gettStrringg(iid); Systtem.outt.prrinttln(rs.gettStrringg(nnamee); cattch(Exccepttionn e) e.prrinttStaackTTracce(); 2、Cllasss.foorNaame的作用?为什么么要用? 答:调用用该访问问返回一一个以字字符串指指定类名名的类的的对象。 3、Jddo是什么? 答:JDDO是Javva对象持持久化的的新的规规范,为为javva ddataa

57、obbjecct的简称,也是一一个用于于存取某某种数据据仓库中中的对象象的标准准化API。JDO提供了了透明的的对象存存储,因因此对开开发人员员来说,存存储数据据对象完完全不需需要额外外的代码码(如JDBBC AAPI的使用用)。这这些繁琐琐的例行行工作已已经转移移到JDO产品提提供商身身上,使使开发人人员解脱脱出来,从从而集中中时间和和精力在在业务逻逻辑上。另外,JDO很灵活活,因为为它可以以在任何何数据底底层上运运行。JDBBC只是面面向关系系数据库库(RDBBMS)JDOO更通用用,提供供到任何何数据底底层的存存储功能能,比如如关系数数据库、文件、XML以及对对象数据据库(ODBBMS)

58、等等等,使得得应用可可移植性性更强。 4、在OORACCLE大数据据量下的的分页解解决方法法。一般般用截取取ID方法,还还有是三三层嵌套套方法。 答:一种种分页方方法 =inntPaageCCounnt) nexxtPaage=inttPaggeCoountt; upPaage = ccurrrenttPagge-11; if (upPPagee=11) uupPaage=1; rs.cclosse(); sql=seelecct * frrom tabbless; rs=DDBLiink.exeecutteQuueryy(sqql); i=0; whille(i /输出出内容 /输出出翻页连

59、连接 合计:/第一页aa hreff=LListt.jssp?ppagee=上一页 % for(intt j=1;jj a hhreff=llistt.jssp?ppagee= a hhreff=LListt.jssp?ppagee=下一页aa hrref=Liist.jspp?paage=最后页 Xml方方面 1、xmml有哪些些解析技技术?区别是是什么? 答:有DDOM,SAXX,STTAX等 DOM:处理大大型文件件时其性性能下降降的非常常厉害。这个问问题是由由DOM的树结结构所造造成的,这这种结构构占用的的内存较较多,而而且DOM必须在在解析文文件之前前把整个个文档装装入内存存,适合对

60、XML的随机机访问SAXX:不现于DOMM,SAAX是事件件驱动型型的XML解析方方式。它它顺序读读取XML文件,不不需要一一次全部部装载整整个文件件。当遇遇到像文文件开头头,文档档结束,或或者标签签开头与与标签结结束时,它它会触发发一个事事件,用用户通过过在其回回调事件件中写入入处理代代码来处处理XML文件,适适合对XML的顺序序访问 STAXX:Sttreaaminng AAPI forr XMML (StAAX) 2、你在在项目中中用到了了xml技术的的哪些方方面?如何实实现的? 答:用到到了数据据存贮,信信息配置置两方面面。在做做数据交交换平台台时,将将不能数数据源的的数据组组装成XM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论