《程序员面试之九阴真经5828282155330.docx》由会员分享,可在线阅读,更多相关《程序员面试之九阴真经5828282155330.docx(68页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、程序员面面试之九九阴真经经谈谈fiinall, ffinaallyy, ffinaalizze的区区别: finnal:修修饰符(关关键字)如如果一个个类被声声明为ffinaal,意意味着它它不能再再派生出出新的子子类,不不能作为为父类被被继承。因因此一个个类不能能既被声声明为 absstraact的的,又被被声明为为finnal的的。将变变量或方方法声明明为fiinall,可以以保证它它们在使使用中不不被改变变。被声声明为ffinaal的变变量必须须在声明明时给定定初值,而而在以后后的引用用中只能能读取,不不可修改改。被声声明为ffinaal的方方法也同同样只能能使用,不不能重写写finna
2、llly:再异异常处理理时提供供 fiinallly 块来执执行任何何清除操操作。如如果抛出出一个异异常,那那么相匹匹配的 cattch 子句就就会执行行,然后后控制就就会进入入 fiinallly 块(如如果有的的话)。 finnaliize:方方法名。JJavaa 技术术允许使使用 ffinaalizze() 方法法在垃圾圾收集器器将对象象从内存存中清除除出去之之前做必必要的清清理工作作。这个个方法是是由垃圾圾收集器器在确定定这个对对象没有有被引用用时对这这个对象象调用的的。它是是在 OObjeect 类中定定义的,因因此所有有的类都都继承了了它。子子类覆盖盖 fiinallizee()
3、方法以以整理系系统资源源或者执执行其他他清理工工作。ffinaalizze() 方法法是在垃垃圾收集集器删除除对象之之前对这这个对象象调用的的。Anonnymoous Innner Claass (匿名名内部类类) 是是否可以以exttendds(继继承)其其它类,是是否可以以impplemmentts(实实现)iinteerfaace(接口):匿名的的内部类类是没有有名字的的内部类类。不能能exttendds(继继承) 其它类类,但一一个内部部类可以以作为一一个接口口,由另另一个内内部类实实现。&和&的区别别: &是位位运算符符。&是布尔尔逻辑运运算符。HashhMapp和Haashttab
4、lle的区区别:都属于于Mapp接口的的类,实实现了将将惟一键键映射到到特定的的值上。 HasshMaap 类类没有分分类或者者排序。它它允许一一个 nnulll 键和和多个 nulll 值值。 HHashhtabble 类似于于 HaashMMap,但但是不允允许 nnulll 键和和 nuull 值。它它也比 HasshMaap 慢慢,因为为它是同同步的。Hashhtabble继继承自DDicttionnaryy类,而而HasshMaap是JJavaa1.22引进的的Mapp innterrfacce的一一个实现现 HasshMaap允许许将nuull作作为一个个enttry的的keyy或
5、者vvaluue,而而Hasshtaablee不允许许 还有就就是,HHashhMapp把Haashttablle的cconttainns方法法去掉了了,改成成conntaiinsvvaluue和cconttainnsKeey。因因为coontaainss方法容容易让人人引起误误解。 最最大的不不同是,HHashhtabble的的方法是是Synnchrroniize的的,而HHashhMapp不是,在在 多个个线程访访问Haashttablle时,不不需要自自己为它它的方法法实现同同步,而而HasshMaap 就就必须为为之提供供外同步步。 HHashhtabble和和HasshMaap采用用
6、的haash/rehhashh算法都都大概一一样,所所以性能能不会有有很大的的差异Colllecttionn 和 Colllecctioons的的区别:Colllecctioons是是个jaava.utiil下的的类,它它包含有有各种有有关集合合操作的的静态方方法。 Colllecctioon是个个javva.uutill下的接接口,它它是各种种集合结结构的父父接口。GC是什什么? 为什么么要有GGC? (基础础): GC是是垃圾收收集器。JJavaa 程序序员不用用担心内内存管理理,因为为垃圾收收集器会会自动进进行管理理。要请请求垃圾圾收集,可可以调用用下面的的方法之之一: Sysstemm
7、.gcc() Runntimme.ggetRRunttimee().gc()。Striing s = neew SStriing(xyyz);创建建了几个个Strringg Obbjecct:两个对对象,一一个是“xxyx”,一个是是指向“xxyx”的的引用对对象s。Mathh.rooundd(111.5)等於多多少? Matth.rrounnd(-11.5)等等於多少少: Matth.rrounnd(111.55)返回回(loong)112,MMathh.rooundd(-111.55)返回回(loong)-11。shorrt ss1 = 1; s11 = s1 + 11;有什什么错? sh
8、hortt s11 = 1; s1 += 1;有有什么错错: shoort s1 = 11; ss1 = s11 + 1;有有错,ss1是sshorrt型,ss1+11是innt型,不能显显式转化化为shhortt型。可可修改为为s1 =(sshorrt)(s1 + 11) 。sshorrt ss1 = 1; s11 += 1正正确。sleeep() 和 waiit() 有什什么区别别: sleeep()方法法是使线线程停止止一段时时间的方方法。在在sleeep 时间间间隔期满满后,线线程不一一定立即即恢复执执行。这这是因为为在那个个时刻,其其它线程程可能正正在运行行而且没没有被调调度为放放弃
9、执行行,除非非(a)“醒来来”的线线程具有有更高的的优先级级 (bb)正在在运行的的线程因因为其它它原因而而阻塞。 waiit()是线程程交互时时,如果果线程对对一个同同步对象象x 发发出一个个waiit()调用,该该线程会会暂停执执行,被被调对象象进入等等待状态态,直到到被唤醒醒或等待待时间到到。数组有没没有leengtth()这个方方法? Strringg有没有有lenngthh()这这个方法法:数组没没有leengtth()这个方方法,有有lenngthh的属性性。 SStriing有有有leengtth()这个方方法。Overrloaad和OOverrridde的区区别。OOverrl
10、oaadedd的方法法是否可可以改变变返回值值的类型型: 方法的的重写OOverrriddingg和重载载Oveerlooadiing是是Javva多态态性的不不同表现现。重写写Oveerriidinng是父父类与子子类之间间多态性性的一种种表现,重重载Ovverlloaddingg是一个个类中多多态性的的一种表表现。如如果在子子类中定定义某方方法与其其父类有有相同的的名称和和参数,我我们说该该方法被被重写 (Ovverrridiing)。子类类的对象象使用这这个方法法时,将将调用子子类中的的定义,对对它而言言,父类类中的定定义如同同被“屏屏蔽”了了。如果果在一个个类中定定义了多多个同名名的方
11、法法,它们们或有不不同的参参数个数数或有不不同的参参数类型型,则称称为方法法的重载载(Ovverlloaddingg)。OOverrloaadedd的方法法是可以以改变返返回值的的类型。Set里里的元素素是不能能重复的的,那么么用什么么方法来来区分重重复与否否呢? 是用=还是是equualss()? 它们们有何区区别:Sett里的元元素是不不能重复复的,那那么用iiterratoor()方法来来区分重重复与否否。eqqualls()是判读读两个SSet是是否相等等。 eequaals()和=方法法决定引引用值是是否指向向同一对对象eqqualls()在类中中被覆盖盖,为的的是当两两个分离离的对
12、象象的内容容和类型型相配的的话,返返回真值值。给我一个个你最常常见到的的runntimme eexceeptiion: AriithmmetiicExxcepptioon, ArrraySStorreExxcepptioon, BuffferrOveerfllowEExceeptiion, BuuffeerUnnderrfloowExxcepptioon, CannnottReddoExxcepptioon, CannnottUnddoExxcepptioon, ClaassCCasttExccepttionn, CCMMEExceeptiion, CooncuurreentMModiific
13、catiionEExceeptiion, DOOMExxcepptioon, EmpptySStacckExxcepptioon, IlllegaalArrgummenttExccepttionn, IIlleegallMonnitoorSttateeExccepttionn, IIlleegallPatthSttateeExccepttionn, IIlleegallStaateEExceeptiion, ImmagiingOOpExxcepptioon, InddexOOutOOfBoounddsExxcepptioon, MisssinngReesouurceeExccepttionn,
14、 NNegaativveArrrayySizzeExxcepptioon, NoSSuchhEleemenntExxcepptioon, NulllPoointterEExceeptiion, PrrofiileDDataaExccepttionn, PProvvideerExxcepptioon, RassterrForrmattExccepttionn, SSecuurittyExxcepptioon, SysstemmExccepttionn, UUndeeclaareddThrrowaableeExccepttionn, UUnmoodiffiabbleSSetEExceeptiion
15、, UnnsuppporrteddOpeerattionnExccepttionn。erroor和eexceeptiion有有什么区区别: errror 表示恢恢复不是是不可能能但很困困难的情情况下的的一种严严重问题题。比如如说内存存溢出。不不可能指指望程序序能处理理这样的的情况。 exccepttionn 表示示一种设设计或实实现问题题。也就就是说,它它表示如如果程序序运行正正常,从从不会发发生的情情况。Listt, SSet, Maap是否否继承自自Colllecctioon接口口: Lisst,SSet是是。Mapp不是。absttracct cclasss和iinteerfaace有有
16、什么区区别:声声明方法法的存在在而不去去实现它它的类被被叫做抽抽象类(aabsttracct cclasss),它它用于要要创建一一个体现现某些基基本行为为的类,并并为该类类声明方方法,但但不能在在该类中中实现该该类的情情况。不不能创建建absstraact 类的实实例。然然而可以以创建一一个变量量,其类类型是一一个抽象象类,并并让它指指向具体体子类的的一个实实例。不不能有抽抽象构造造函数或或抽象静静态方法法。Abbstrractt 类的的子类为为它们父父类中的的所有抽抽象方法法提供实实现,否否则它们们也是抽抽象类为为。取而而代之,在在子类中中实现该该方法。知知道其行行为的其其它类可可以在类类
17、中实现现这些方方法。接口口(innterrfacce)是是抽象类类的变体体。在接接口中,所所有方法法都是抽抽象的。多多继承性性可通过过实现这这样的接接口而获获得。接接口中的的所有方方法都是是抽象的的,没有有一个有有程序体体。接口口只可以以定义sstattic finnal成成员变量量。接口口的实现现与子类类相似,除除了该实实现类不不能从接接口定义义中继承承行为。当当类实现现特殊接接口时,它它定义(即即将程序序体给予予)所有有这种接接口的方方法。然然后,它它可以在在实现了了该接口口的类的的任何对对象上调调用接口口的方法法。由于于有抽象象类,它它允许使使用接口口名作为为引用变变量的类类型。通通常的
18、动动态联编编将生效效。引用用可以转转换到接接口类型型或从接接口类型型转换,iinsttancceoff 运算算符可以以用来决决定某对对象的类类是否实实现了接接口。接口是否否可继承承接口? 抽象象类是否否可实现现(immpleemennts)接口? 抽象象类是否否可继承承实体类类(cooncrretee cllasss):接接口可以以继承接接口。抽抽象类可可以实现现(immpleemennts)接口,抽抽象类是是否可继继承实体体类,但但前提是是实体类类必须有有明确的的构造函函数。启动一个个线程是是用ruun()还是sstarrt():启启动一个个线程是是调用sstarrt()方法,使使线程所所代
19、表的的虚拟处处理机处处于可运运行状态态,这意意味着它它可以由由JVMM调度并并执行。这这并不意意味着线线程就会会立即运运行。rrun()方法法可以产产生必须须退出的的标志来来停止一一个线程程。构造器CConsstruuctoor是否否可被ooverrridde:构构造器CConsstruuctoor不能能被继承承,因此此不能重重写Ovverrridiing,但但可以被被重载OOverrloaadinng。try 里里有一个个retturnn语句,那那么紧跟跟在这个个tryy后的ffinaallyy 里的ccodee会不会会被执行行,什么么时候被被执行,在在retturnn前还是是后:会会执行,
20、在在retturnn前执行行。两个对象象值相同同(x.equualss(y) = trrue),但却却可有不不同的hhashh coode,这这句话对对不对:不不对,有有相同的的hassh ccodee。当一个对对象被当当作参数数传递到到一个方方法后,此此方法可可改变这这个对象象的属性性,并可可返回变变化后的的结果,那那么这里里到底是是值传递递还是引引用传递递:是是值传递递。Jaava 编程语语言只由由值传递递参数。当当一个对对象实例例作为一一个参数数被传递递到方法法中时,参参数的值值就是对对该对象象的引用用。对象象的内容容可以在在被调用用的方法法中改变变,但对对象的引引用是永永远不会会改变的
21、的。swtiich是是否能作作用在bbytee上,是是否能作作用在llongg上,是是否能作作用在SStriing上上:sswittch(eexprr1)中中,exxpr11是一个个整数表表达式。因因此传递递给 sswittch 和 ccasee 语句句的参数数应该是是 innt、 shoort、 chaar 或或者 bbytee。loong,strringg 都不不能作用用于swwticch。编程题: 写一一个Siinglletoon出来来:SSinggletton模模式主要要作用是是保证在在Javva应用用程序中中,一个个类Cllasss只有一一个实例例存在。一般Singleton模式通常
22、有几种种形式:第一种形式:定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。public class Singleton private Singleton() /在自己内部定义自己一个实例,是不是很奇怪? /注意这是private 只供内部调用 private static Singleton instance = new Singleton(); /这里提供了一个供外部访问本class的静态方法,可以直接访问 public static Sing
23、leton getInstance() return instance; 第二种形式:public class Singleton private static Singleton instance = null; public static synchronized Singleton getInstance() /这个方法比上面有所改进,不用每次都进行生成对象,只是第一次 /使用时生成实例,提高了效率! if (instance=null) instancenew Singleton(); return instance; 其他形形式:定义义一个类类,它的的构造函函数为pprivvatee
24、的,所所有方法法为sttatiic的。一般认为第一种形式要更加安全些。作用域ppubllic,priivatte,pprottectted,以及不不写时的的区别: 作用域域 当前前类 同同一paackaage 子孙类类 其他他pacckagge ppubllic pprottectted ffrieendlly prrivaate 不不写时默默认为ffrieendlly。charr型变量量中能不不能存贮贮一个中中文汉字字?为什什么: 答:是是能够定定义成为为一个中中文的,因因为jaava中中以unnicoode编编码,一一个chhar占占16个个字节,所所以放一一个中文文是没问问题的。介绍JA
25、AVA中中的Coolleectiion FraameWWorkk(包括括如何写写自己的的数据结结构):答:CColllecttionn FrrameeWorrk如下下: Colllecctioon Lisst LinnkeddLisst ArrrayLListt VVecttor Sttackk SSet Mapp HHashhtabble HaashMMap WeeakHHashhMapp Coolleectiion是是最基本本的集合合接口,一一个Coolleectiion代代表一组组Objjectt,即CColllecttionn的元素素(Ellemeentss) MMap提提供keey到
26、vvaluue的映映射。jsp有有哪些内内置对象象?作用用分别是是什么:答:JJSP共共有以下下9种基基本内置置组件(可可与ASSP的66种内部部组件相相对应): reequeest 用户端端请求,此此请求会会包含来来自GEET/PPOSTT请求的的参数 ressponnse 网页传传回用户户端的回回应 ppageeConntexxt 网网页的属属性是在在这里管管理 ssesssionn 与请请求有关关的会话话期 aappllicaatioon sservvlett 正在在执行的的内容 outt 用来来传送回回应的输输出 cconffig serrvleet的构构架部件件 paage JSPP
27、网页本本身 eexceeptiion 针对错错误网页页,未捕捕捉的例例外。JSP的的内置对对象及方方法:requuestt表示HHttppSerrvleetReequeest对对象。它它包含了了有关浏浏览器请请求的信信息,并并且提供供了几个个用于获获取coookiie, heaaderr, 和和sesssioon数据据的有用用的方法法,reespoonsee表示HHttppSerrvleetReespoonsee对象,并并提供了了几个用用于设置置送回 浏览器器的响应应的方法法(如ccookkiess,头信信息等). out对对象是jjavaax.jjsp.JsppWriiterr的一个个实例,
28、并并提供了了几个方方法使你你能用于于向浏览览器回送送输出结结果。 paggeCoonteext表表示一个个javvax.serrvleet.jjsp.PaggeCoonteext对对象。它它是用于于方便存存取各种种范围的的名字空空间、sservvlett相关的的对象的的APII,并且且包装了了通用的的serrvleet相关关功能的的方法。 sesssionn表示一一个请求求的jaavaxx.seervllet.htttp.HHttppSesssioon对象象。Seessiion可可以存贮贮用户的的状态信信息 apppliccatoon 表表示一个个javvax.serrvlee.Seervll
29、etCConttextt对象。这这有助于于查找有有关seervllet引引擎和sservvlett环境的的信息 coonfiig表示示一个jjavaax.sservvlett.SeervlletCConffig对对象。该该对象用用于存取取serrvleet实例例的初始始化参数数。 pagge表示示从该页页面产生生的一个个serrvleet实例例。jsp有有哪些动动作?作作用分别别是什么么:答:JJSP共共有以下下6种基基本动作作 jssp:iinclludee:在页页面被请请求的时时候引入入一个文文件。 jspp:usseBeean:寻找或或者实例例化一个个JavvaBeean。 jspp:s
30、eetPrropeertyy:设置置JavvaBeean的的属性。 jspp:geetPrropeertyy:输出出某个JJavaaBeaan的属属性。 jspp:foorwaard:把请求求转到一一个新的的页面。 jspp:pllugiin:根根据浏览览器类型型为Jaava插插件生成成OBJJECTT或EMMBEDD标记。JSP的的常用指指令:isErrrorrPagge(是是否能使使用Exxcepptioon对象象),iisELLIgnnoreed(是是否忽略略表达式式) JSP中中动态IINCLLUDEE与静态态INCCLUDDE的区区别:答:动动态INNCLUUDE用用jspp:inn
31、cluude动动作实现现 它总总是会检检查所含含文件中中的变化化,适合合用于包包含动态态页面,并并且可以以带参数数 静态态INCCLUDDE用iinclludee伪码实实现,定定不会检检查所含含文件的的变化,适适用于包包含静态态页面 。两种跳转转方式分分别是什什么?有有什么区区别:答:有有两种,分分别为: 前者页页面不会会转向iinclludee所指的的页面,只只是显示示该页的的结果,主主页面还还是原来来的页面面。执行行完后还还会回来来,相当当于函数数调用。并并且可以以带参数数.后者者完全转转向新页页面,不不会再回回来。相相当于ggo tto 语语句。说一说SServvlett的生命命周期:答
32、:sservvlett有良好好的生存存期的定定义,包包括加载载和实例例化、初初始化、处处理请求求以及服服务结束束。这个个生存期期由jaavaxx.seervllet.Serrvleet接口口的innit,serrvicce和ddesttroyy方法表表达。JAVAA SEERVLLET APII中foorwaard() 与与reddireect()的区区别:答:前前者仅是是容器中中控制权权的转向向,在客客户端浏浏览器地地址栏中中不会显显示出转转向后的的地址;后者则则是完全全的跳转转,浏览览器将会会得到跳跳转的地地址,并并重新发发送请求求链接。这这样,从从浏览器器的地址址栏中可可以看到到跳转后后
33、的链接接地址。所所以,前前者更加加高效,在在前者可可以满足足需要时时,尽量量使用fforwwardd()方方法,并并且,这这样也有有助于隐隐藏实际际的链接接。在有有些情况况下,比比如,需需要跳转转到一个个其它服服务器上上的资源源,则必必须使用用senndReedirrectt()方方法。Servvlett的基本本架构:pubblicc cllasss SeervlletNNamee exxtennds HtttpSeervllet ppubllic voiid ddoPoost(HtttpSeervlletRRequuestt reequeest, HtttpSServvlettResspon
34、nse ressponnse) thhrowws SServvlettExccepttionn, IIOExxcepptioon pubblicc vooid doGGet(HtttpSeervlletRRequuestt reequeest, HtttpSServvlettRessponnse ressponnse) thhrowws SServvlettExccepttionn, IIOExxcepptioon 可能会让让你写一一段Jddbc连连Oraaclee的程序序,并实实现数据据查询:答:程程序如下下: ppackkagee heelloo.annt; impportt jaava.
35、sqll.*; puubliic cclasss jjdbcc Strringg dbbUrll=jjdbcc:orraclle:tthinn:1127.0.00.1:15221:oorcll; Strringg thheUsser=addminn; Strringg thhePww=mmanaagerr; Connnecctioon cc=nuull; Sttateemennt cconnn; RResuultSSet rs=nulll; pubblicc jddbc() trry Claass.forrNamme(oraaclee.jddbc.driiverr.OrraclleDrrive
36、er).neewInnstaancee(); c = DDrivverMManaagerr.geetCoonneectiion(dbUUrl,theeUseer,tthePPw); coonn=c.ccreaateSStattemeent(); caatchh(Exxcepptioon ee) e.pprinntSttackkTraace(); pubblicc boooleean exeecutteUppdatte(SStriing sqll) trry coonn.exeecutteUppdatte(ssql); rretuurn truue; caatchh (SSQLEExceepti
37、ion e) e.priintSStacckTrracee(); reeturrn ffalsse; pubblicc ReesulltSeet eexeccuteeQueery(Strringg sqql) rss=nuull; trry rss=coonn.exeecutteQuueryy(sqql); cattch (SQQLExxcepptioon ee) e.priintSStacckTrracee(); retturnn rss; puubliic vvoidd cllosee() trry coonn.cloose(); c.cclosse(); caatchh (EExceep
38、tiion e) e.priintSStacckTrracee(); puubliic sstattic voiid mmainn(Sttrinng arrgs) RessulttSett rss; jjdbcc coonn = nnew jdbbc(); rrs=cconnn.exxecuuteQQuerry(sellectt * froom ttestt); trry whiile (rss.neext() Syysteem.oout.priintlln(rrs.ggetSStriing(idd); SSysttem.outt.prrinttln(rs.gettStrringg(nname
39、e); ccatcch(EExceeptiion e) e.priintSStacckTrracee(); Classs.fforNNamee的作用用?为什什么要用用:答:调调用该访访问返回回一个以以字符串串指定类类名的类类的对象象。Jdo是是什么: 答:JJDO是是Javva对象象持久化化的新的的规范,为为javva ddataa obbjecct的简简称,也也是一个个用于存存取某种种数据仓仓库中的的对象的的标准化化APII。JDDO提供供了透明明的对象象存储,因因此对开开发人员员来说,存存储数据据对象完完全不需需要额外外的代码码(如JJDBCC APPI的使使用)。这这些繁琐琐的例行行工作
40、已已经转移移到JDDO产品品提供商商身上,使使开发人人员解脱脱出来,从从而集中中时间和和精力在在业务逻逻辑上。另另外,JJDO很很灵活,因因为它可可以在任任何数据据底层上上运行。JJDBCC只是面面向关系系数据库库(RDDBMSS),JDOO更通用用,提供供到任何何数据底底层的存存储功能能,比如如关系数数据库、文文件、XXML以以及对象象数据库库(ODDBMSS)等等等,使得得应用可可移植性性更强。xml有有哪些解解析技术术?区别别是什么么:答:有有DOMM,SAAX,SSTAXX等 DDOM:处理大大型文件件时其性性能下降降的非常常厉害。这这个问题题是由DDOM的的树结构构所造成成的,这这种
41、结构构占用的的内存较较多,而而且DOOM必须须在解析析文件之之前把整整个文档档装入内内存,适适合对XXML的的随机访访问SAAX:不不现于DDOM,SAXX是事件件驱动型型的XMML解析析方式。它它顺序读读取XMML文件件,不需需要一次次全部装装载整个个文件。当当遇到像像文件开开头,文文档结束束,或者者标签开开头与标标签结束束时,它它会触发发一个事事件,用用户通过过在其回回调事件件中写入入处理代代码来处处理XMML文件件,适合合对XMML的顺顺序访问问 STTAX:Strreammingg APPI ffor XMLL (SStAXX)。你在项目目中用到到了xmml技术术的哪些些方面?如何实实
42、现的: 答:用用到了数数据存贮贮,信息息配置两两方面。在在做数据据交换平平台时,将将不能数数据源的的数据组组装成XXML文文件,然然后将XXML文文件压缩缩打包加加密后通通过网络络传送给给接收者者,接收收解密与与解压缩缩后再同同XMLL文件中中还原相相关信息息进行处处理。在在做软件件配置时时,利用用XMLL可以很很方便的的进行,软软件的各各种配置置参数都都存贮在在XMLL文件中中。用jdoom解析析xmll文件时时如何解解决中文文问题?如何解解析:答:看看如下代代码,用用编码方方式加以以解决 pacckagge ttestt; iimpoort javva.iio.*; ppubllic cl
43、aass DOMMTesst prrivaate Strringg innFille = cc:ppeopple.xmll; priivatte SStriing outtFille = cc:ppeopple.xmll; pubblicc sttatiic vvoidd maain(Strringg arrgs) neew DDOMTTestt(); pubblicc DOOMTeest() trry jaavaxx.xmml.pparsserss.DoocummenttBuiildeer bbuillderr = javvax.xmll.paarseers.DoccumeentBBuill
44、derrFacctorry.nnewIInsttancce().neewDoocummenttBuiildeer(); oorg.w3cc.doom.DDocuumennt ddoc = bbuillderr.neewDoocummentt(); orrg.ww3c.domm.Ellemeent rooot = dooc.ccreaateEElemmentt(老老师); oorg.w3cc.doom.EElemmentt waang = ddoc.creeateeEleemennt(王); oorg.w3cc.doom.EElemmentt liiu = dooc.ccreaateEElemmentt(刘刘); waang.apppenddChiild(docc.crreatteT