华为面试Java面试题

华为面试Java面试题

ID:83387390

大小:11.65 MB

页数:88页

时间:2023-07-15

上传者:灯火阑珊2019
华为面试Java面试题_第1页
华为面试Java面试题_第2页
华为面试Java面试题_第3页
华为面试Java面试题_第4页
华为面试Java面试题_第5页
华为面试Java面试题_第6页
华为面试Java面试题_第7页
华为面试Java面试题_第8页
华为面试Java面试题_第9页
华为面试Java面试题_第10页
资源描述:

《华为面试Java面试题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

JAVAᔠ☢⚪2011-06-20

1Java☢⚪᦮ᳮ..................................................................9Java☢ᔣ....................................................................91.super஺this஺Ḅ..................................................92.ᵨpublic,protected,private,ᑏḄ.........................93.᝞!"#஺.....................................................94.JAVAḄ$%&ᡲ(ᑴ*ᚗ,-ᦈ(ᑴ....................................105.ᙠJAVA01᝞2345Ḅ678ᝅ:;.............................106.<=>java?ᑡᓄ1᝞2BCjava?ᑡᓄDᑏ,•GBHI...................107.JG”.java”Kᦻ%0>ᔲNᒹP6GQD>ᑁSQIᨵ<=▲ᑴ....108.᣸?WᨵXYZ[\]ᑡ^஺ᵨJAVABCJG_`᣸?..............109.Overload*OverrideḄ஺OverloadedḄ[\>ᔲNᦋbc-dḄQe….1110.FinalQᨵ<=ᱯh...................................................1111.ij᎛QḄ᡻mn?o⚪1JpW>⌱r⚪1ostuᡭᓺ<=..........1112.ᑁSQḄBC[x?.....................................................1213.ᵨJAVABCJZ᣸?1JAVAQBC?ᑡᓄḄ[\DzZI...............1314.᝞ᙠCOLLECTION᪾|01BC}~⌕BC<=᪵Ḅ...............1315.ᵨᐭ\m᣸?ṹ᝞!..............................................1316.ᑏJGḄᦪ1ᐭJG*⁚ᦪ1ᢥ⁚Ḅ஺>⌕G1᝞“ᡃABC”4,“ᡃAB",ᐭ"ᡃABCDEF",6,"ᡃABC">"ᡃABC+ḄG"஺.......1415ஹJava1ᡭᓺ᧤ᜩḄ45¡............................................1516ஹᦻ%¢ᑏ1BCJG£ᦪᘤ................................................1517ஹᢣ!☢?Ḅ¦m§¨஺...............................................1618ஹ©Q*Ḅ...................................................1619ஹ<=>QḄcª(ᑴ?....................................................1620ஹQḄcª(ᑴ0Ḅᒹ᪶¬Q............................................1721ஹᑮClassḄ¯G°><=............................................1722ஹ᝞2ᖔ²Q0ḄJG[\...............................................1723ஹ᝞2tᦪde³ᣚᦪDInteger,Double?....................................................1724ஹ᝞2tᦪ³ᣚ.................................................1725ஹ᝞2µ¶ᦪh5·¸1¹º»¼ᐭ஺......................................1726ஹ᝞2½ᨴ¿1¶ᑖÁ.............................................1827ஹ᝞2Â1970½ᑮCᙠḄÃÁᦪ.......................................1828ஹ᝞2ÄÅG¿Æ>4ᨴḄᨬÈJᜩ....................................1829ஹ᝞2ÉxᓄÆ.......................................................1930ஹṹ³ᣚ1Ê᪵BCtGB2312ṹḄ³ᣚISO-8859-1ṹḄ஺.......................................................................................................................................................1932ஹStrings=newString"xyz";ËÌÍYGStringObject?.................................................1933ஹfloatefloatf=3.4>ᔲÎÏ?..............................................1935ஹÐJÑÒᵨḄQ1ᒹ11]ᔜ^5G................................1936ஹjava0uÔᙠᑁÔÕÖᔩ1]ØᓫÚÛ஺..................................20

237ஹjava0BC6᝱Ḅ(ᑴ><=..........................................2038ஹᚗ,-ᦈᘤḄÝÞßᳮ><=ᚗ,-ᦈᘤNàá-ᦈᑁÔᔩᨵ<=â\ãäåæçè(mᚗ,-ᦈ.................................................2039ஹ☟᝱bê*BHbêḄ.............................................2041ஹ>ᔲNÂJGstatic[\ᑁSëìstatic[\Ḅíᵨ................2042ஹᑏclone஺[\î1åÒWᨵJmṹ1><=............................2043ஹJAVAïð᝞2mñÒᜐᳮ1ᐵôthrows,throw,try,catch,finallyᑖ⊤<=ö÷ᙠtryᙽ0NùñÒᔩ.........................................2145ஹᑈû᣸?\.............................................................2146ஹStringandStringBufferḄ...........................................2247ஹᵨjavaṹᑏᚮ᪘....................................................2248ஹþᔠḄᵨ><=......................................................2349ஹþᔠḄåᵨ[\ᨵÿ?ᵨ?().............................2350ஹArrayList,Vector,LinkedListḄឋᱯឋHashMapHashtableḄ.......................................................................................................................................................2451ஹCollectionCollectionsḄU஺........................................2452ஹSetḄᐗ!"Ḅ#$ᵨᩭᑖ!"'ᔲᕖ*ᵨ==,equals஺*-.ᨵ0?ᵨcontainsᩭᑖᔲᨵ!"Ḅ12஺,3ᵨ஺.....2453ஹList,Set,Mapᔲ456Collection78*..................................2454ஹ☢ᔣ12Ḅᱯ;ᨵ<☢...............................................2555ஹStringᨬ>?ḄᦪABCᔩ*............................................2556ஹintIntegerᨵ*..............................................2557ஹEFGHI'JKHIᨵ0HL*........................................2558ஹ&&&Ḅ*........................................................2559ஹfinal,finally,finalizeḄ*.............................................2562ஹheapstackᨵ*...............................................2663ஹStaticNestedClassInnerClassḄL*................................2664ஹG᎛ᵨassert?............................................................................................................2665ஹGC*O⌕ᨵGC?...........................................................................................2666ஹshortsi=l;sl=sl+1;ᨵ┯*shortsi=l;sl+=1;ᨵ┯?.............2667ஹMath.round(11.5)RSTU*Math.round(-11.5)RSTU?......................2768ஹJavaᨵVᨵgoto?.................................................................................................................2769ஹWᡃJYZᨬI[ᑮḄruntimeexception......................................................................2770ஹ78ᔲ]4578*^2Bᔲ]_`(implements)78*^2Bᔲ]45_aB(concreteclass)?....................................................................................................................2771->abstractḄmethodᔲ]LGstatic,ᔲ]LGnative,ᔲ]LGsynchronized?................................................................................................................................2772ஹᦪbᨵVᨵlength஺cY*StringᨵVᨵlength஺cY*..............2873ஹ᪀⌼ᘤConstructorᔲ]goverride?............................................................................2874ஹᔲ]h45StringB*..................................................2875ஹswtichᔲᵨᙠbytej#ᔲᵨᙠ10ngj#ᔲᵨᙠStringj*..2876ஹtry{}ᨵ■—Yreturnop#$qrᙠcYtrysḄfinally{}Ḅcodettg᡻F#G᎛g᡻F#ᙠreturnv,s?...................................2877ஹwx⚪zᵨᨬᨵᦔ᳛Ḅ}2~h8RS*...........................28

378ஹY12L(x.equals(y)==true),ᓾ]ᨵLḄhashcode,cp11?.......................................................................................................................................................2879ஹJY12gᦪ⌴ᑮJYs#]ᦋcY12Ḅឋ#]ᓄsḄ#$cᑮ⌴,ᵨ⌴*......................2980ஹtrᢈ.......................................................2981ஹwx⚪zᑏJYSingletonᩭ஺..........................................2983ஹJavaḄHIᜐᳮᑴḄ¡ᓫ£ᳮ¤ᵨ஺................................3084ஹᚗ¦ᦈḄ¨©£ᳮ஺ὃ⇋2ᦈᑴ஺............................3085ஹ¬J®JVM¯°classᦻ²Ḅ£ᳮᑴ*.................................3086ஹcharC³´JYᦻµ¶?O?............................3088ஹᑏJYx·#¸ᦻ²(c:\testtxt)¹¶º»"mobnet”`Ḅ½ᦪ*.....30java>ẠB¿(ioÀ#ÁᔠB#Ãx#Socket.AWT,Swing,sql).............................................311ஹjavaᨵBCḄÀ*JDKOÄBCḄÀÅÆÇJ^2BhÆ45#ÈÉ.ᑖ<B*.........................................................312ஹÊËJYÃxᵨrun(),start஺?.........................................313ஹÃxḄ>?ᭆÍஹÃxḄ>?Î᝱hÐÎ᝱ÑÒḄᐵÔ......................314ஹTÃxᨵ_`#3*LÕᨵ_`#3*ᵨᐵÖ¶×⛲LÕ*stop஺suspend஺O0Ù₞Ûᵨ*...........................31ᵨsynchoronized×⛲LÕ஺.................................................325ஹÁᔠ᪾Ýᨵ*.........................................................3212ஹÞß4YÃx#ᐸYÃxĽ1já¯1,᜜YÃx1jĽãU1஺ᑏx·......................................................................3213ஹLÕHÕᨵHL#ᙠäå®ᑖÛᵨÉ.*æçè஺.............3414ஹsleep()wait()ᨵ?.............................................3415ஹJYÃxéᐭJY12ḄJYsynchronizeds#ᐸ-Ãxᔲ]éᐭ12Ḅᐸ-?..............................................................3417ஹëᐭëÀḄᳮì:.......................................................3418ஹÈᑏJYx·Ḅîᑏ#⌕ïᵨðJñòÀJóòÀ஺.......3519ஹ᝞0ᑡöY÷ø®Ḅᡠᨵᦻ²..........................................36Socket....................................................................................................................................................3720ஹᵨsocketúᑏûᡝýþÿᘤḄ⌕ᡝ〈ᦪḄᦪ....................................................................3723ஹJAVAḄCollectionFrameWork(ᒹ᝞ᑏ"#Ḅᦪ$᪀)?..........3924ஹ()*+ᡠ-⍝Ḅ/01Ḅ23........................................39jdbcᦪ45ᢈ7...............................................................391ஹJDBC᝞89:ᜐᳮ..................................................392ஹᑏ*=>ᙠJdbc@ᵨḄBC.............................................393ஹDE+FStatement,PreparedStatement,CallableStatementḄᳮG................394ஹJava45ᦪHḄ1I................................................405ஹJDBCḄ᪶KLMᐸOᵨPQR.........................................406ஹ᡻TUVW0ᵨXY>L᝞ZO[*\ᦪ(ZO).......................418ஹ]^_+ᑏY`JdbcaOracleḄ0b....................................419ஹClass.forNameḄOᵨcQR⌕ᵨ.........................................4110ஹJdoPQR.............................................................41

411ஹᙠORACLEᜧᦪefḄᑖ⚓Gi23஺YkᵨlmID23nᨵPpqrᝅ23........................................................................................................................................................41Webt0Jsp&Servletᢈ7........................................................421ஹDᓫ))tomcatḄvw.................................................422ஹJSPx᝱INCLUDEz☟᝱INCLUDEḄ|}............................433ஹforward~redirectḄ|}................................................434ஹServletḄ$᪀PQR.................................................43Servlet..................................................................................................................................................435ஹ᝞Y>"Ḅservlet?.........................................................................................436ஹServletḄᕜPQR?.................................................437ஹjspPY•>servletPᔲ.............................................438ஹ(ᑡjspḄஹᢣMxO.........................................439ஹJSPḄᑁwFM23....................................................4410ஹ)*ᙠJSP⚓☢PRᑖ⚓Ḅ?.........................................44IKincludeḄ2Ḅ|}...........................................4712ஹjsp⚓☢2ᑖ}PQR?ᨵQR|}?...........................4713ஹEJSP~ServletḄ|}ஹᐳஹᔜ"¢ᵨḄ¤.......................4714ஹᙠJSP᝞¥mᡝḄ(᝞¦>Jspᦻ¨Ḅ©ª«.......4715ஹECookie~SessionḄOᵨ|}~ᔜ"Ḅ¢ᵨ¤Session¬Oᳮ஺….4716ஹ)¯JsperrorPageḄOᵨ¢ᵨ¤஺.................................4817ஹᙠJsp᝞°ᵨJavaBeans....................................................................................4819ஹDᓫJSPḄ᪗²H...................................................4820ஹServletḄ᪶KLᨵX³ᔜᨵQRᱯ?.................................4821ஹServletµ⌕ḄᒹᨵX³ᨵQR|}...................................4922ஹ)*ServletḄᕜ¶)*Servlet~CGIḄ|}....................4923ஹQR·¸f¹ᵨdoGet()~doPost()?.............................................................................4925ஹ᝞servletḄᓫ/0º............................................4927ஹRequestFḄ»⌕23¼................................................4928ஹᡃ¾ᙠweb¢ᵨ¿W0À@⍗ᑮ[*¦tṹḄÄÅ᝞iso8859-lÆ᝞[*Y>¦tṹḄÄÅÇ.................................................5030ஹServlet᡻TÈYkÉ=>23......................................505HibernateᢝËqᢈ7...........................................................511ஹᙠmyeclipseÌᐭhibernateÎ᛻ḄᐰW0PQR............................512ஹhibernateḄ᪶Kvwᦻ¨PQRMᐸOᵨ..................................513ஹhibernateḄ᪶KLPQRѾḄÒᐵPQR?µ⌕Ḅ23PQR?........514ஹᐵὶ:....................................................................515ஹhibernateḄone-to-manyᡈmany-to-one@ᵨḄ2PQR...............526ஹCriteriaḄOᵨ..........................................................527ஹDetachedCriteriaḄOᵨ.................................................528ஹQuery........................................................................................................................................529ஹ×ØᐵḄ..........................................................5310,tomcataBÙ:ᙠÚᘤ⚜ᐜÝÞn>aBßᡝàᵨµáßᓄ]ãäBm஺....................................................................5411ஹFḄpᜧå᝱.........................................................55

512ஹhibernate@æçᓄèᶍ................................................566.iBatisᢝËqᢈ7...........................................................56ᵨibatisḄê¼...........................................................56jdbcஹhibernateஹibatisḄ|}...............................................56ibatisḄ᪶Kvwᦻ¨:........................................................57ibatisḄ᪶KL:..............................................................577Structsë☢ìᑴqᢈ7..........................................................581ஹ()*struts᪾ïḄ=ᜧð¨............................................583ஹstrutsḄ᪶KLᨵX³ᙠMVCºᐸF¢ḄᐵPQR...............584ஹStrutsḄᜐᳮ(ḄᐰW0PQR?.........................................585ஹᙠstruts᝞WY>urlñᑮY>action,ÑḄ᪶Kvwᦻ¨PQR?.......596ஹcQR°ᵨMVC,ᐸ»⌕òḄPQR.....................................597ஹFóMVCᙠactionF¢ᨵLᨵ=ᔜᨵQROᵨ......................598ஹstrutsḄ᪗²ᨵ=L(ᑡô¶)¯ᐸOᵨ?.................................599ஹ᝞ᙠstrutsvwᦪõᙠQRᦻ¨?ᵨQR᪗ö?᝞m*DataSource?...........6010ஹ᝞ᙠjbuilder¿struts?...........................................................................................6011ஹ᝞strutsḄvalidator᪾ï?.........................................6013ஹ᝞÷▭ᓄ?........................................................62÷▭ᓄ:àᵨùᦋûṹ〉ᵨóàḄýþ÷ÿ...............................628JSF☢ᑴᢈ............................................................621ஹJsfḄ᪶ᵨ?ᨵᵨ.........................................622ஹJsfḄLiftCycleᜧᕜ.....................................623ஹ᝞!webḄBean,ᵨ᪗#஺᝞%&jsp⚓☢(Bean)*ᙠ,-./ᜐᳮ?.....................................................................624ஹJsf23Ḅ᪗#?..................................................635ஹjsfᵨᡝ☢5678ᨵ9:ᔜ<⊤...............................636ஹ⊤>ᜐᳮ?@A..........................................................637ஹjsfḄ᪗#BᨵC.....................................................639SpringEᵨ᪾Gᢈ...........................................................641ஹSpringHStrutsḄIJstrustsK,LMNMVC7OḄ,PwebḄᜐᳮ஺642ஹaop,aopḄᵨ...........................................643ஹaopḄᐵRSTᨵ:UVᐵW..............................654ஹXYZᐭḄ\Oᨵ9L:ᔜ........................................655ஹspringḄ᪶ᨵ:ᔜᨵᵨ..................................656ஹApplicationcontextḄᵨ.................................................657ஹ᝞]^_`ᳮ........................................................658ஹ᝞]^aᐭweb᪾G.................................................659ஹ᝞]^b6ᜐᳮ........................................................6610ஹspringḄioc?di<⊤cd?..........................................66ஹ᝞ᙠspring]^e▭ᓄ?................................................6612ஹspringḄhiḄj⌕᪗#?ᨵᵨ..............................6713ஹspring(ejb2.0ḄblᳮmnḄopq.................................6714ஹspringḄjdbc(rsḄjdbcᨵIJ:ᐸ᪶ᨵ?..................67

615ஹᙠspringᨵ9Lblᳮ:ᑖJ................................6716ஹᙠspring᝞h<ṹḄblᳮ.......................................6817ஹᙠspring᝞hwᘤḄblᳮ:UᐵḄᨵ?......................6818ஹ᝞yspring(hibernatezᔠᙠ:•-}~◤⌕hibernate.cfg.xmlᦻ6ᔲ6919ஹspring+hibernateḄhiᦻ6Ḅj⌕ᨵ?᝞hi...................6920ஹspring+hibernateḄ<ṹ]^:N]^-,*N•P•P:ᨵᵨ஺....................................................................6921ஹ᝞hispring+struts?......................................................................................................6922ஹ᝞ᙠweb᛻hiapplicationContext.xmlᦻ6........................6924ஹJsfHspringḄIJ.....................................................70jsfK,LMNMVC7OḄ,PwebḄᜐᳮ:nstrutsn஺............70Ejbᢈ........................................................................701ஹweblogicḄ........................................................702ஹᙠejb]^one-to-many...................................................................................................703ஹejbᡠᵨḄᢈ:...........................................................714ஹ]^ejb9P:9P.................................................715ஹ]^ejbUᐵḄhiᦻ6...........................................716ஹejbḄᑖ?IJ..........................................................717ஹᙢ(ḄIJ஺..............................................728ஹᜐᳮḄ&?.........................................................729ஹstatefullḄᕜ.......................................................7210ஹstatelessḄᕜ.....................................................7211ஹentityBeanḄᕜ:...................................................7212ஹEJB◤]^ḄlᡈHomeᔩ:¡ᳮᵫ஺...............7313ஹEJBḄ£¤¥ᑴ.........................................................7314ஹEJBMNCᢈ]^Ḅ¦§¨SessionBeanHEntityBeanḄIJ:....7315ஹEJBḄᑖ?ᔜᨵᱯq?.........................................7410ஹEJBj⌕Ḅhiᦻ6?ᵨ.....................................7415ஹ§¨ᦪ«¬Ḅ®¥ᑴ.......................................7416ஹEJB2.0ᨵCᑁw?ᑖJᵨᙠ°ᔠEJB2.0HEJB1.1ḄIJ?............7418ஹEJB(JAVABEANḄIJ............................................7519ஹEJBḄ±⁐H³P´...................................................7520ஹEJBwᘤµ¶Ḅ·l.....................................................7521ஹEJB¸¸*EJBἭ»Ḅ¼ᨵC..................................7626ஹEJBḄMG᪀.........................................................7630ஹ᝞ᙠweblogic./sslhi(¾ᡝ¿ḄÀÁhiᡈ§§j2eeÂ᪗ÃÄ./sslḄhi.........................................................................7731᝞ÅÆᙠweblogicÇÈḄEJB?..........................................................................77WebServiceᢈ.................................................................781ஹWebService?............................................................................................................782ஹWebwᘤ........................................................783ஹEᵨ·lᘤᨵ......................................................785ஹ᝞Éweblogicᢣ*ᜧËḄᑁÌ..........................................786ஹ᝞Í*ḄweblogicḄÎÏ7OÂÐ7OÄ(ÑÒ7O?...............78

77ஹ᝞ÎÏÓ◤ÔᐭᵨᡝS(Õṹ.......................................798ஹᙠweblogicᳮᑴᑖ•PEᵨÖÂᡈὅ§,PØÙ,Domain./jms?ejbᡈ¬ÛUᐵÜÝ./hiÞ:]▭ßÌᙠᦻ6.........................799ஹ§§weblogic,PDomainḄpḕáâz᪀m᝞⌕ã■PᓫḄhelloWorld.jspæᐭáâç:ᯠḄᙠéêᘤëì}ᡭᐭhttp://j¥:¿î//helloword.jspì}~Æᑮð/zyñòm᝞óᐸᵨᑮñ,PôõᑏḄjavaBean÷᝞ø?.............7912ஹCORBA?ᵨ⌶............................................7913ஹ§§ᙠweblogicÐúÝBeanÓḄpersistent(non-persistenḄûJ......7914ஹWEBSERVICESTüý஺JSWDLÐᒹḄÿ஺JAXPஹJAXMḄ஺SOAPஹUDDLWSDL஺..................................................80j2eeMVCஹModell,Model2..................................................................................801ஹj2eeᵨḄᔆ஺.....................................802ஹᡠ៉ᡈḄj2eeḄᵨ?Ḅ!"#………813ஹ%☢ᐵ(J2EEḄ)*................................................814ஹ+J2EEஹJ2SEஹJ2MEḄ-.஺.........................................815ஹ/01ᵨᑮ34!?ᵨᙠ678ᔠ...............................816ஹJ2EE:67...........................................................827ஹJ2EE:ᢈ<=:>?=:᪾A..........................................82ᐸC............................................................................821ஹDEFGḄ᪆ᘤᨵ4!?.................................................822ஹDom᪆ᜐᳮḄM:67..............................................823ஹSax᪆ᜐᳮḄM:67...............................................844ஹDomNSaxOPQRḄSTU:67......................................855ஹ᝞WXDomYᑏᐭᑮᦻ]...........................................856ஹᵨjdom᪆xmlᦻ]^᝞W_ᦻ`⚪?.................................857ஹXMLᦻ᫏cdᨵefQRghᨵWij-.᪆XMLᦻ᫏ᨵkl........................................................................858ஹ᪗nopqUMLḄᔜs...........................................869ஹBSNCSḄὶuN-.஺.................................................8610ஹUmiḄᭆw:67?F⌕Ḅᐹ:67.....................................87Umiz{opq..............................................................8711ஹUmiḄᭆwḄ|ᜧsf:67?ᨬḄs:67?ᔜᨵ67ᱯU........8713ஹᙠs᝞W?......................................................88

8Java☢⚪Java☢ᔣY1.super஺Nthis஺Ḅ-.This()zDEḄY,super᱄Y஺Super()zᙠ`᱄ḄᡂᕒᑣḄthisC⊤DEYDᯠᡠᨵḄ¡1¢£`.ᙠ᪀⌼¦ᦪ᝞¨©ªᨵᑏsuper஺,«¬ᘤ®¯°ᐭ.±:᝞¨᱄ªᨵ²³´ᦪḄ᪀⌼¦ᦪᡈµ¦ᦪ¶·ᨵᓄ3(ᵨprivate¹⛲).»^¼ᐭ᱄Ḅ½¾ᓄ᪀⌼.this¿ªᨵµ⌕À,ÁQi¿ý¾ᓄḄ᪀⌼.ᙠl#superthisÄᵨḄl#¿Å²Æ3.Dzsuper⌕ὃ⇋:ᔲË`ᐸ᱄Ḅ¡.2.ÌᵨÍpublic,protected,private,£²ᑏ^Ḅ-.>Public:²ÎᒹஹÎᒹஹᑁ1¢ᵨ>Privatezᑁ>Protected:²ÎᒹḄஹÎᒹஹᑁ1¢ᵨ>²ᑏ^:Îᒹᑁஹᑁ3.«MÓÔ᝞%sf஺**********ṹ᝞%zpublicclassPrint{publicstaticvoidmain(String[]args){for(inti=0Öi<5Öi++){for(intj=5Öj>i;j--){System.out.print(”ਭ”)Ö)System.out.printIn()Ö

9))4.JAVAḄᡲᑴᚗᦈᑴjavaÛ]ÜᡲÞᑴḄᭆw,¡àáÛ]âXQ〈ᑮᡈÆäᘤ4å஺ᙠµlᫀäᘤçᓫḄéêëᑮQᦈᑮÛ]஺íÛ]¶îäᘤXᜐᳮµÛ]ᯠïðñ஺ᚗóñᦈÞᑴᚗóᦈô:Xᑖö÷Y±²øÄᵨḄᑁùñᦈᡈúḄM஺᝞¨YªᨵᢣᔣQḄüᵨᡈὅᐸþÿnull,ᑣ〉ᔠᚗᦈ5.ᙠJAVA᝞Ḅᝅᵨbreak;return஺6.javaᑡᓄ᝞"#javaᑡᓄ$ᑏ&'"()ᑡᓄᜐᳮ#Ḅ%ᑴ'ᡠ)#*+,-Ḅᑁ/#ᓄ஺01#ᓄ2Ḅ3ᑏ56'*0-#ᓄ2Ḅ789:;<=஺ᑡᓄ,>?@ᙠ#3ᑏ56BᡠCDḄE⚪஺ᑡᓄḄGH-◤⌕KᑡᓄḄLGHSerializablePQ'PQRᨵ◤⌕GHḄ,implementsSerializableW,>᪗Y,0KᑡᓄḄ'ᯠ2[ᵨ\]8^#_᝞FileOutputStreamcᩭ᪀⌼\]ObjectOutputStream_#c,PḼ'[ᵨObjectOutputStreamḄwriteObject_Objectobjc+01-lᦪobjḄᑏ^_ᓽopᐸr᝱c'⌕ឮuḄvᑣᵨ8ᐭ#஺7.&'”.java”+ᦻᔲ./ᒹ1'2$3ᑁ52)ᨵ▲ᑴ01஺᝞xy]LḄz⛲|,public,ᐸL}~ᦻ}஺8.᣸9ᨵ:;<=>?ᑡ@஺ᵨJAVA"#&'CD᣸᣸Ḅᨵᐭ᣸_Pᐭ᣸ஹ᣸c'ᣚ᣸_ᑈ᣸ஹ᣸c'⌱᣸_P⌱᣸ஹᚮ᣸c'᣸'ᑖ᣸_᣸ஹᦪ᣸c᣸Ḅṹ஺

109.OverloadOverrideḄFG஺OverloadedḄ=>ᔲ./ᦋIJKḄ2LḄᑏOverride,L⌚¢᱄LḄ'-L7~᱄LḄCᵨ¤ᵨḄ¥,LḄ஺¦Overloading\]L¨]'}©'lᦪ]ᦪLª«஺¬ὅ®,Java¨᝱ឋḄ«⊤H஺OverloadedḄ,01ᦋ³´µḄLª஺1,publicclassCtest()(Publicstaticvoidmain(){System,out.prinln(8+8+”88"+8+8);16888810.Final2ᨵᱯNÃឋÄÅ«01overriddingL«01ÆÇ11.OPQ᎛2Ḅ᡻TUV⚪&X9⌱Z⚪V[\]ᡭᓺÈ:᱄Lpackagetest;publicclassFatherClass(publicFatherClass()(System,out.printin("FatherClassCreate");))Lpackagetest;importtest.FatherClass;publicclassChiIdClassextendsFatherClass

11publicChildClass(){System,out.printin(z'ChildClassCreate");}publicstaticvoidmain(String[]args){FatherClassfc=newFatherClass0;ChildClasscc=newChildClass();))8^ÓxC:>javatest.ChildClassFatherClassCreateFatherClassCreateChildClassCreate12.ᑁḄÈÕÖṹ᝞×packagetest;publicclassOuterClass(privateclassInterClass(PublicInterlass()(System,out.printin(^InterClassCreate");))publicOuterClass()(InterClassic=newInterClass();System,out.printin(^OuterClassCreate");)publicstaticvoidmain(String[]args)(OuterClassoc=newOuterClass();))8^ÓxC:>javatest/OuterClassInterClassCreateOuterClassCreate

1213.ᵨJAVA᣸JAVAᑡᓄḄ()14.᝞ᙠCOLLECTION᪾⌕!᪵Ḅ#$15.ᵨ%ᐭ'(᣸)ṹ᝞+packagetest;importjava.util.classInsertSort(ArrayListal;publicInsertSort(intnum,intmod)(al=newArrayList(num);Randomrand=newRandom();System,out.println(z'TheArrayListSortBefore:'z);for(inti=0;i=((Integer)al.get(MaxSize-1)).intValue())(al.add(MaxSize,templnt);MaxSize++;System,out.println(al.toStringO);}else{for(intj=0;j=templnt.intValue())(al.add(j,templnt);MaxSize++;

13System.out.println(al.toString());break;}}))System.out.println(zTheArrayListSortAfter:");for(inti=0;inum)break;)

14temp=temp+source.charAt(i);)System.out.println(temp);15ஹJavaab,ᡭᓺ᧤ᜩḄQfpublicclassYesterdayCurrent{publicvoidmain(String[]args){Calendarcal=Calendar,getlnstance();cal.add(Calendar.DATE,-1);System,out.println(cal.getTime());16ஹᦻgᑏ"#&'hᦪᘤpublicintgetNumO{inti=-1;try(Stringstriê஻஻ëBufferedReaderin=newBufferedReader(newFileReader(f));while((stri=in.readLine())!=null){i=Integer,parselnt(stri.trim());)in.close();}catch(Exceptione){e.printStackTrace();)returni;)publicvoidsetNum(){inti=getNumO;i++ëtry(PrintWriterout=newPrintWriter(newBufferedWriter(newFileWriter(f,false)));out.write(String.valueOf(i));஻0î,ïṹḄðñ'᝞xPᑏᐭintḄv'-^HjavaïṹòwindowsïṹḄóô'ñõõᜐᑏᐭḄ,Stringout.close();}catch(Exceptione){e.printStackTrace();

15))17ஹᢣl☢bḄnTop஺classA(static{System,out.print("1");)publicA(){System,out.print("2");))classBextendsA{static{System,out.print("a");)publicB(){System,out.print("b");))publicclassHello{publicstaticvoidmain(String[]ars){Aab=newB();஻᡻ᑮõᜐ'Óxla2bab=newB();//᡻ᑮõᜐ'Óxla2b2b))Y:LḄstaticṹú'01û6,L✌ýþ¦(Kÿ)᡻Ḅṹ,Ḅ,✌ᐜ⌕᡻ᐸḄ᪀⌼,᡻ᐸḄ᪀⌼18ஹqr2stḄFG(1)!implements,*+,-ᓫ/extends(2),ᨵ56,*+ᨵ56789বḄ;<56=>?@publicstaticfinal,*+;<=>F"friendly”(ᒹL)MN-◤⌕PQRᵨ*+TU◤⌕PQRᵨ஺19ஹ2ḄJuᑴWX(Class+)TZ[M\Ḅfieldsஹmethod>construtor>interfaceஹsuperClass>modifieda,bFWX8cᓄ/e8cஹfg

161ឋஹᖔ⏨஺Springᑗ8-9:ஹstrutsஹhibernate8-;<Ḅ9:'(=>Ḅ஺20ஹ*Ḅ+,-ᑴ/Ḅᒹ1᪶3*4java.lang.Classjava.lang,refrection.Methodjava.lang,refrection.Fieldjava.lang,refrection.Constructorjava.lang,refrection.Modifierjava.lang,refrection.Interface21ஹ5ᑮClassḄ789:4?@.getClass()classᡈInteger,type(int)Integer,class(java.lang.Integer)Class.forName();22ஹ᝞;ᖔ=*/Ḅ>?4CDEClassᦪGHIḄJᦪ;

1726ஹ᝞wxyᨴ{|Qᑖ~?Calendarc=Calendar.getlnstanceO;c.set(Calendar.YEAR,2004);c.set(Calendar.MONTH,0);c.set(Calendar.DAY_OF_MONTH,31);System.out.println(c.get(Calendar.YEAR)+஻஻+(c.get(Calendar.MONTH)+1)+஻஻+c.get(Calendar.DAY_OF_MONTH));27ஹ᝞wx1970yᑮ#ᙠḄ~ᦪJava.util.Datedat=newDateO;longnow=dat.getTime();28ஹ᝞w'{ᨴḄᨬ&ᜩM\/ᜩTM\ḄᨴUbTFᨬ/ᜩ஺/eᨴḄ/ᜩT/eᨴḄ/ᜩTpublicstaticvoidmain(String[]args)(Calendarc=Calendar.getlnstance();c.set(Calendar.YEAR,2004);c.set(Calendar.MONTH,0);c.set(Calendar.DAY_OF_MONTH,30);Calendarcl=(Calendar)c.clone0;System,out.printin(c.get(Calendar.YEAR)+஻஻+(c.get(Calendar.MONTH)+1)+஻஻+c.get(Calendar.DAY_OF_MONTH));c.add(Calendar.DAY_OF_MONTH,1);if(c.get(Calendar.MONTH)!=cl.get(Calendar.MONTH))(System.out.printin(஻Fᨬ/ᜩ஻);}elseSystem.out.printin(஻UF/,ᜩ஻);

1829ஹ᝞ᓄ{Importjava.text.SimpleDateFormat;SimpleDateFormatsdf=newSimpleDateFormat(/zyyyy-MM-ddhh:mm:ss஻)GDatedat=newDate();஻ᓄ?;Stringstr=sdf.format(dat);System,out.println(str);஻;ᓄ?Java.util.Datedl=sdf.parse("yyyy—mm—dd");30ஹaṹᣚ᪵"#\GB2312aṹḄᣚISO-8859-1aṹḄ஺Stringa=newString(஻஻.getBytes(஻gb2312஻)T“iso-8859T஻)Stringa=newString(஻஻.getBytes(஻iso-8859-l஻))G32ஹStrings=newStringxyz”);;'StringObject?New/e,“XYZ”ᩭF/ee33>floatLfloatf=3.4ᔲ¡┯T£MFfloatf=3.4f᝞Ffloatf=3(᦮ᦪ)§¨35ஹ&ᵨḄ2ᒹst?ᔜ@5'©ᵨḄ@BufferedReaderBufferedWriterFileReaderFileWirterStringInteger©ᵨḄᒹ:java,langjava,awtjava,iojava,utiljava,sqljavax.xmljavax.sevletjavax.ejb.java,netjavax.faces©ᵨḄ@ListMapDocumentNodeListEjbObjectEjbHomeSessionBeanEntityBean

1936ஹjava«¬ᙠᑁ¬¯°ᔩT²³ᓫ´µ஺«஺᝞@inti,i2;return(i-i2);஻wheni?·¸ᜧḄ§ᦪTi2?·¸ᜧḄºᦪ஺«⌼ᡂ¼½T¾¿┯À஺37ஹjava89᝱ḄᑴFÃÄÅ☟᝱Ḅ᝱:ÇÈÉbTÊᦪeᦪᡈÌUb஺(overloading)Í᝱Ḅ᝱@Î⌚Ð᱄ḄÇÈTÎḄ8cÒ᱄ḄÓᵨÔᵨḄFÎḄÇÈ89Ḅ8cÒḄÓᵨÔᵨḄ89ḄÇÈ஺38ஹᚗÖ×ᦈᘤḄÚᳮFÃÄÅᚗÖ×ᦈᘤÜÝ×ᦈᑁ¬ᔩÅᨵÃÄÞÈßÍWàáâᚗÖ×ᦈÅÍ᝱ᑁ¬¬ã8c☟᝱ᑁ¬ᚗÖᦈäß⌕┐ḄFÍ᝱ᑁ¬T/æMᑁ¬U¸ᵨR«âᚗÖᦈä஺ᡈWXSystem.gc()çÍᦈäTèUéê/5᡻஺39ஹ☟᝱ëì78cëìḄíîÅstatici=10;஻©ìclassAa;a.i=10;஻ë☟᝱ÇÈÔᵨ☟᝱ëì஺89ÇÈÔᵨ☟᝱ëìஹ8cëì41ஹFᔲð/estaticÇÈᑁñò[óstaticÇÈḄÔᵨÅUT᝞ᐸᒹô+Ḅmethod()U-éê+õöᓄ.42ஹᑏclone஺ÇÈRTW©øᨵ/ṹTFÃÄÅCloneᨵùḕ?,super,clone஺ûºüýþ§¨ᜧÿḄ⌲ᑴ஺

2043ஹJAVA᝞Tᜐᳮᐵ¤¥throws,throw,try,catch,finallyᑖG¦⊤¨©ᙠtryᙽ./«ᔩTry:᡻ᑖCatch:ᣓᣍFinally:"#ᨵ%ᨵ&᡻Throws:ᙠ+,-.ᜐ-.⌕12Ḅ3ᵨὅ678ᐸ:ᜐᳮ஺Throw:12•=>ᙠSy@AB12=CD-.ḄEF஺GHI⌕JKLExceptionᡈExceptionḄRS45ஹᑈ®᣸>//EUV>ᦪXYZᨬ\ᡈᨬᜧḄ^ᑮ`☢ᨬ`☢ᦪḄ"bDXYpublicclassBubbleSort(privatestaticintal[]=newint[10];publicBubbleSort(){intal[]={2,3,23,45,c67,23,80,35,72}al[0]=2da2[l]=3;al[2]=23;a2[3]=45;alভ=1;al[5]=67dal[6]=23;al[7]=80dal[8]=35;al[9]=72;)publicstaticvoidmain(String[]args){BubbleSortbs=newBubbleSort()dSystem.out.printin("᣸jk:")ddisplay(al)dfor(inti=0dia2[j+l]){swapij,j+1)d

21)System.out.printIn()dSystem,out.printIn(ஹ᣸j`:,,)ddisplay(al)d)privatestaticvoiddisplay(int[]al2){for(inti=0diuvwὶᔠz⌕ᐜ|}StringBuffer,~ὶᔠp᠒஺StringBuffernopArABZt>uvwὶᔠᦔ᳛47ஹᵨjava)ṹQᑏᚮ᪘publicclassStack(int[]datadintmaxSizedinttopdpublicStack(intmaxSize){this.maxSize=maxSize;data=newint[maxSize]dtop=-1d)/***ᐭᦪ*@paramdata⌕ᐭḄᦪ*©returnᔲᡂ*/publicbooleanpush(intdata){if(top+l==maxSize){System,out.printin("᪘!H);

22returnfalsedthis.data[++top]=datadreturntrued)/***᪘@2ᦪ*©return2Ḅᦪ*/publicintpop()throwsException{if(top==-l){thrownewException(”᪘”)d)returnthis.data[top--]d)publicstaticvoidmain(String[]args)throwsException{Stackstack=newStack(1000)dstack.push(1)dstack.push(2)dstack.push(3)dstack.push(4)dstack.push(5)dwhile(stack.top>=0)(System.out.printin(stack.pop())d)))48ஹUᔠḄWᵨ-!ᦪXḄY〈[ஹᑤஹᦋஹ^ஹconstainsAll,_`abcdeḄ?@஺49ஹUᔠḄ;ᵨᨵgh;ᵨ-!(iW)UᔠListḄjᔊᨵ0Iterator:EnumerationForGetset

23CollectionḄ¢ᵨ+,ᨵ:Iterator()Add()Clear();remove()50ஹArrayList,Vector,LinkedListḄ¯°ឋ²ᱯឋHashMapHashtableḄFGArrayListVectornBᦪ¥Ḅ+¦§¨©ஹᑤ᠒«ஹᦋArrayListn®¯"°ᐰpVectorn®¯°ᐰp᠒(synchoronized)LikedListnBᓫ´⊤Ḅ+¦§¨©ஹᑤ«ஹᦋ᠒HashMapDHashtable&¸¹ḄMapºHashTable®¯°ᐰHashMap®¯"°ᐰ஺51ஹCollectionCollectionsḄFG஺Collection»ᔠḄ᪷ºᐸ½ᨵset¾listCollections»ᔠḄ¿,஺52ஹSet³Ḅᐗµ3²¶Ḅ·ᵨ=>ᩭFᑖ¶¹ᔲᕖᵨ==¼equals஺½¾ᨵFGᵨcontainsᩭFᑖᔲᨵ¶Ḅ¿r஺¼93ᵨ஺ᙠXYzᐜ3ᵨhashCode+,᝞Á"EFÂ."EÃ஺᝞ÁEF~3ᵨequals+,᝞Áequals+,EFÂ.EÃ"EFÂ."EÃ஺==:Å⌕ᵨᙠÆÇᦪSȾÉᵨEquals:Å⌕8Ëᡈ8ËÉᵨḄXY஺»ᔠ@ᔲᒹÍÎ=>ᐗÐᵨcontainsᩭᑨÓ஺53ஹList,Set,MapᔲOPÀCollectionstList,setJKLCollectionMap%ᨵJKLCollection,ᐸE8ÔÕḄ஺ÖLCollectionSÈḄ8ËAB¢×᪀⌼ÚᦪZ=>»ᔠ᪀⌼ᡂÛ᜜=>»

24ᔠ஺54ஹ☢ᔣ8ËḄᱯßᨵàá+☢1.äËnåᐳឋZᐳᨵḄÖឋஹ+,^ᑮ᱄S@2.JK:RSJKL᱄Sᐹᨵ᱄SḄᡠᨵÖឋD+,ABìᵨíAB⌚ï஺3,ñòn=>Sᒹót>Öឋ¾+,஺4.t᝱ឋnö᝱n☟᝱n55ஹStringᨬÆÇḄᦪSÈᔩùÆÇᦪSÈᒹóbyteஹintஹcharஹlongஹfloatஹdoubleஹbooleanüshort஺java.lang.StringSfinalSÈḄþÿஹᦋ஺ᦔ᳛⁚ḕᡃᵨStringBuffer56ஹint'Integerᨵ)*+,-Int./0ᦪ23.45ᓰ7ᑁ9:ᨵ;<஺=ᐸ?Ḅᨵlong,char,dobleInteger.ABᐹᨵ;final,finally,finalizeḄ+,?finalᵨudeEឋ;<'ᑖ,⊤xEឋy;<⌚{஺

25finally.JKᜐᳮ}~᪀Ḅ7ᑖ⊤x.᡻H஺finalize.ObjectḄ7;<ᙠᚗᦈᘤ᡻HḄI᎛fᵨᦈ45Ḅ;<⌚{;<ᚗᦈIḄᐸᦈ᝞ᐵᦻ஺ᵨᩭ¡45Ḅ.ᔲ£¤¥¦஺62ஹheapstackᨵFG᪘.7¨©ªᔠᐸ¬'ᑤ◀ᐗ±Ḅ²³ᙠ?7´µᡂ஺᪘ᢥ᯿¹ºᐜWḄ;¼ºHᜐᳮ஺ᚮ.᪘Ḅ7¾ᡂᐗ±63ஹStaticNestedClassInnerClassḄ3ÁStaticNestedClass.de☟᝱ÄstaticÅḄᑁÆÇÈu᜜££ᓄ஺ËÌKḄᑁ◤⌕ᙠ᜜£ᓄ¹Ï£ᓄ஺64ஹQ᎛ᵨassert?assertionÄÐÑÅᙠÒÓÔZ.7¨KᵨḄfÕ;¼Ö×ÓÔ}ÑZØÙᢝ¨Ûᑴ஺ᙠ£¤ZassertionÝ.ᙠÞßZḄ7ᩩ}~Æ47boolean⊤ἺHâã7äåÞßghæçboolean⊤á¼Ḅètrueé᝞_èfalse,ëeÞßìíᜐuäåḄî᝱ïðñòóWôõᡈ⌨W஺7LᩭëassertionᵨuæçÞßᨬ/0ஹᐵùḄäåឋ஺assertionâãÌKᙠÓÔ'úÕIÓû஺ឋᙠÒÔü¹assertionâãÌK.ᐵḄ஺65ஹGC⌕ᨵGC?GC.ᚗᦈḄþÿGabageCollectionᑁᜐᳮᕒ᧕⚪Ḅᙢ!"#ᡈὅ┯'Ḅᑁ(ᦈ*+,-ᡈ./Ḅ0123456Java9:ḄGC;<=>?@ABCDᔲFGHᵨJKLMᑮ?@(ᦈᑁḄOḄJavaPQRᨵ9:TUVᑖXᑁḄYZ[H!\஺66ஹshorts1=1;s1=s1+1;ᨵ┯shorts1=1;s1+=1;ᨵ┯shortsi=1;si=si+1;sl+1efghinti◤⌕lᑴnᣚpishortsi=1;si+=1;=>qrs

2667ஹMath.round(11.5)OPQR4Math.round(11.5)OPQR4Math,round(11.5)==12Math,round(-11.5)==-11round9lmJᦪᨬ#oḄp᦮ᦪJᦪr1/2stᐸfloor.68>JavaᨵTᨵgoto?javaḄvᶇxᙠyᨵᙠjavazᵨ஺69>UᡃVᨬXYᑮḄruntimeexceptionArithmeticException,ArrayStoreException,BufferOverflowException,BufferUnderflowException,CannotRedoException,CannotUndoException,ClassCastException,CMMException,ConcurrentModificationException,DOMException,EmptyStackException,IllegalArgumentException,IllegalMonitorStateException,IllegalPathStateException,UlegalStateException,ImagingOpException,IndexOutOfBoundsException,MissingResourceException,NegativeArraySizeException,NoSuchElementException,NullPointerException,ProfileDataException,ProviderException,RasterFormatException,SecurityException,SystemException,UndeclaredThrowableException,UnmodifiableSetException,UnsupportedOperationException{|}0lOExceptionFileNotFoundExceptionSqlException70ஹZ[ᔲ]^_Z[4`a*ᔲ]bc(implements)Z[4`a*ᔲ]^_bd*(concreteclass)?#$_`~#$஺@_`(implements)#$ᵨ"ipObjectḄp஺71ஹabstractḄmethodᔲ]efstatic,ᔲ]efnative,ᔲ]efsynchronized?8c

2772ஹᦪGᨵyᨵlength஺EStringᨵyᨵlength஺EᦪRᨵlength஺¡!\ᨵlength¡¢ឋStringᨵlength஺¡!\.73᪀⌼ᘤConstructor-ᔲ_override?᪀⌼ᘤConstructorc~cᑏOverriding,_`Overloadingo74ஹ-ᔲ_`~StringString-finalᦑc_`~஺75ஹswtich-ᔲWᵨᙠbyte-ᔲWᵨᙠlong-ᔲWᵨᙠString±?switch(exprl)exprl-E᦮ᦪ⊤஺Y⌴switch.caseḄJᦪ-int^shortஹcharᡈὅbyte஺long,string8cWᵨswticho76ஹtry{}ᨵEreturng!ᙠEtrysḄfinally{}Ḅcodec᡻(!᎛᡻(ᙠreturn¢£-s᡻(ᙠreturn¢᡻(஺77ஹQ¤⚪0ᵨᨬᨵᦔ᳛Ḅ¨©2ª`8«¬2«378ஹ®E?@N¯d(x.equals(y)==true),ᓾ_ᨵcdḄhashcode,±?c??ᨵ¯dḄhashcode஺

2879ஹ&'¿rÄÅÆᦪÇ⌴ᑮ&'=>É=>.ᦋIÊ'¿rḄËឋ,Ì.JIᓄḄop·ʳᑮÍKÇ⌴¼ÎᵨÇ⌴§ᵨ¨⌴ª«ᦪ¬pi:®CD¯§ᵨ80ஹÏ<]ÐÑÒᢈÔCookieSessionHiddenurl°ᑏ81ஹab⚪¥ᑏ&'Singletonᩭ஺Singleton²³´⌕Hᵨµ¶ᙠJava¸ᵨ-¹º¡pClass»ᨵº¡¼ᙠ஺º½Singleton²³¾¿ᨵÀÁÁ³¯ÃºÁ³¯2Ä…¡pÆḄ᪀⌼ÉᦪÊprivateḄÆᨵº¡staticḄprivateḄËpÌÍᙠpÎÏᓄѼÒ¾Gº¡publicḄgetlnstance!\ÓÔCÆḄ§ᵨÕLÖᵨᐸ¹Ḅ!\஺publicclassSingleton{privateSingleton(){}஻ᙠ?ÛᑁÜ2Ä?Ûº¡¼0Ý᜻ßà஻áâprivate»:ᑁÜÖᵨprivatestaticSingletoninstance=newSingleton();஻ã9:º¡:᜜Üå«classḄ☟᝱!\=>èéåpublicstaticSingletongetlnstance(){returninstance;))ÃêÁ³¯publicclassSingleton{privatestaticSingletoninstance=null;publicstaticsynchronizedSingletongetlnstance(){஻¡!\ë☢ᨵᡠᦋï0ᵨðñòïóôᡂCD»úñ஻öᵨÑôᡂ¼9÷ᦔ᳛úif(instance==null)instance=newSingleton();returninstance;}

29ᐸû³¯2ĺ¡pÆḄ᪀⌼ÉᦪÊprivateḄᡠᨵ!\ÊstaticḄ஺º•½ýÊúÁ³⌕þÿᐰ83ஹJavaḄᜐᳮᑴḄÕᓫ×ᳮØᵨ஺ᳮᨵ┯ᑮᜐᳮᑖᡈᔣ஺ᵨJAVAḄ┯ᨵ!"#"$%&'ṹ)*+ᵨᣓᣍ஺#"#.᝞0throws789:;<%ᜐᳮ஺84ஹᚗᦈḄÙN×ᳮ஺Ìὃ⇋2<ᦈᑴ஺=>?@ᕒ+ᵨBᑁDjvmHIJᡂLMNO஺$%=ᐜQR?@STUVWXYZ&᎛\]^஺85ஹÜÝ&lJVMÞßclassᦻḄ×ᳮᑴJVM`aḄbcᵫClassLoaderklḄmaᩭWoḄJavaClassLoader#qr⌕ḄJava$%&tuvw஺lxyᙠ$%&{|kbᐭaᦻwḄa஺86ஹcharLIà²3²¯á&'ᦻâᡂ#q`ᦻḄjava`*unicode'ṹ#qcharᓰ16q⁚ᡠ*#q`ᦻ⚪Ḅ88ஹᑏ&'bᦻ(c:\test.txt)ã"mobnetw#Ḅåᦪ?

30javaẠaioᔠa?,Socket,AWT,Swing,sql1ஹjava`ᨵ"aḄJDK"aḄ¡9#¢£a*¡¤¥,¦§¨©ᑖª«a⁚¬஺⁚¤¥InputstreamOutputstream,¬¤¥ReaderWriterᙠjava,ioᒹ`µᨵ¶·ᐸ¨ḄR¹º»¹¼¹½⌕09¼ឋk¿ᵨNO஺2^ÀI#q?ᵨrun஺µstart஺ÀI#q?»ᵨstart஺NTÀI?Á»ᵨrunNT஺3ஹ?ḄÂᭆÄஹ?ḄÂÅ᝱*ÇÅ᝱ÈÉḄᐵt?

31ᵨsynchoronizedÜ⛲ÙÚNT஺ê·?ᨵ!"WoNTᑖª¤¥ThreadaºWoRunnableëÙÚḄWoN☢ᨵ!"ᑖªsynchronized,waitºnotifyîï¿ᵨstop(),l+ᐰ஺lðñ◀ᵫ?óôḄᡠᨵ┝ö÷᝞0ï£ᜐ#"+øùÅ᝱úZᐸ¨?ᙠú"Å᝱ûü{kÜᦋl©஺Ö0þÿḄ⚪ᡠᙠ஺suspend஺᧕┝஺ᵨsuspend()Ḅ᎛᪗"#$%&ᩭ(ᓾ*ᯠᢝᨵᙠ./012Ḅ┝3஺4ᐸ678"#9:;<┝3Ḅ=>◀@A஻ᢞD஻Ḅ"#ឮFGH஺I78"#ᩭJ,᝞MNOPឮF᪗"#QRSTUᵨ78VW┝3Ḅ=>X$⌼ᡂ┝஺ᡠ[:\]Uᵨsuspend(),^\ᙠ_`ḄThreadefgᐭVW᪗iᢣ"#\]klmnᢞD஺o᪗iᢣ"#\]ᢞDpᵨwait஺tᐸuᐭvwx᝱஺o᪗iᢣ"#\zឮFᑣᵨVWnotify஺l"#஺5ஹæᔠ᪾éᨵCollectionMapListsetHashMapArrayList1inkedListHashSetTreeSet12ஹêh4'ëbᐸí'ëbîå¿jïÞ1,ð᜜í'ëb¿jîåòó1oᑏbpublicclassTestThread{privateintj;publicsynchronizedvoidinc()(j++System,out.printin(Thread.currentThreadO.getName0+"-inc:"+j))publicsynchronizedvoiddec()(jVSystem,out.printin(Thread.currentThreadO.getName0+"-dec:"+j)publicstaticvoidmain(String[]args)

32TestThreadt=newTestThread();for(inti=0;i<2;i++)(Threadinc=newThread(newInc(t));Threaddec=newThread(newDec(t));inc.start();dec.start();)))classIncimplementsRunnable(privateTestThreadobj;publicInc(TestThreadobj)(this.obj=obj;)publicvoidrun()(//for(inti=0;i<100;i++)//{this.obj.inc();//)))classDecimplementsRunnable(privateTestThreadobj;publicDec(TestThreadobj)(this.obj=obj;}publicvoidrun()(//for(inti=0;i<100;i++)//{this.obj.dec();//)

3313ஹÁôôᨵÁᙠõölᑖG÷ᵨø¾@(ù஺Q¡¢V£¤ṹ¦Ḅ§ᡂ&V£¨©vᑮ¢V£¤ṹ§ᡂ«¬[᡻H஺᝞¯ἠ᣸²³¡¢V£¤ṹ¦Ḅ§ᡂ&V£:¨vᑮ¢V£¤ṹ§ᡂX[᡻H஺᝞´µ〈·¸஺14ஹsleep஺waitᨵFG?Sleepnᢣ¹Ḩ»3Ḅ¼z.W¼½ᑮ/«"#$¾¿⏨ᩭ஺Waitnvwx᝱Âü:ÄÅᵫÇVW"#Èᐸᖔ⏨஺15ஹ&'ëbᐭ&'¿rḄ&'synchronized=>ᐸ½ëbᔲ.ᐭÉ¿rḄᐸ½=>᝞ÊᐸNnQ¡:[uᐭ஺᝞M:n[uᐭ஺17ஹûᐭûüḄᳮý¥ᙠjavaUᵨËḄµᑴuHᦪÎḄÏ〈ÐᦻÒᑮᑁÔnÕᐭËÐᑁÔᑮᦻÒnÕËÕᐭË[Ö×readØÙÕË[writeᡈprintᑏᐭIÜË[nᑖÞßàËáâàËâà[VWã⁚ᡈãåÞᓫçuHᜐᳮßàË[VᢇᦪÎÞᓫçuHᜐᳮ஺FilelnputStreamìSystem,iníîInputSteamReaderîBufferReaderOutputSteamìSystem,outíîprintStreamFileReaderîBufferedReaderFileWriterîPrintWriterᡈbufferWriterᑖeã⁚ìóuᑴíFilelnputStreamìâàÕᐭËíFileOutputStreamìâàÕËíPrintStreamìßàËíSystem,out.printinìíãåìVWcharíFileReaderFileWriter

3418ஹ²ᑏE¤Ḅ³ᑏ⌕tᵨ®-´µ¶·-¸µ¶஺importjava.io.FileWriter;importjava.io.Inputstream;importjava.io.BufferedWriter;importjava.io.InputStreamReader;importjava.io.BufferedReader;importjava.io.Fi1eReader;publicclassUntitledl{publicstaticvoidwriteFileChar0throwsException{FileWriterf=newFileWriter(zc:\\aa.txtzz);InputStreamis=System,in;intc=is.read();while(((char)c)!='x'){f.write(c);c=is.read();)f.closeO;is.close();}publicstaticvoidwriteFileString()throwsException{FileWriterf=newFileWriter(zc:\\aa.txtz/);BufferedWriterbwr=newBufferedWriter(f);BufferedReaderbf=newBufferedReader(newInputStreamReader(System,in));Stringc=bf.readLine();while(!c.equals(஻stop஻)){bwr.write(c+஻\r

35஻)c=bf.readLine();)bwr.closeO;f.close();bf.close();)publicstaticvoidreadFi1eChar()throwsException{FileReaderf=newFileReader(?c:\\aa.txtz);intc=f.read();while(c!=-l){System,out.print((char)c);

36c=f.read();)f.close();)publicstaticvoidreadFileStringOthrowsException{BufferedReaderbf=newBufferedReader(newFileReader(z/c:\\aa.txtz));Stringc=bf.readLineO;while(c!=null)(System,out.printin(c);c=bf.readLine();)bf.closeO;)publicstaticvoidmain(String[]args)throwsException{readFileStringO;})19ஹ᝞¹ᑡ©ºE+Ḅᡠᨵᦻ½Importjava.io.File;Filef=newFile(஻C:\\஻)File[]fl=f.listFilesO;for(inti=0;i

37)publicstaticvoidgetFile(Filef,Stringsem)throwsExceptionSystem.out.println(sem+f.getName());Filefl[]=f.listFilesO;if(fl.length>=l)(for(inti=0;i〈ᦪXsÇlȯdḄᦪXpublicclassServerSocket_l(publicstaticvoidmain(String[]args)throwsException(ServerSocketss=newServerSocket(4001);Sockets=ss.accept();BufferedReaderbr=newBufferedReader(newInputStreamReader(s.getInputStream()));PrintStreamps=newPrintstream(s.getOutputStreamO);Stringtemp=br.readLine();while(true)

38System,out.printin(஻>ᡝᦻAB஻+temp);ps.println(temp);if(temp,equals("stop"))(break;)temp=br.readLine();)br.close();ps.close();ss.close();))publicclassClientSocket(publicstaticvoidmain(String[]args)throwsException{Sockets=newSocket("localhost”,4001);PrintStreamps=newPrintstream(s.getOutputStreamO);BufferedReaderbr=newBufferedReader(newInputStreamReader(System,in));BufferedReaderbr_server=newBufferedReader(newInputStreamReader(s.getInputStream()));Stringtemp=br.readLine();while(true)(ps.printin(temp);temp=br_server.readLine();System,out.printin(஻EFᘤḄIJB஻+temp);if(temp,equals(஻stop஻)){break;)temp=br.readLine();)s.closeO;br.close();brserver.close();

3923ஹghJAVA/ḄCollectionFrameWork(ᒹj᝞;ᑏklḄᦪmn᪀)4/0CollectionFrameWork᝞+0CollectionÉList|ÉLinkedListIpArrayList|LVectorILStackLSetMapÉHashtableÉHashMapLWeakHashMapCollection-ᨬËÌḄUᔠ#$ECollection)⊤GObject,ᓽCollectionḄᐗÏ(Elements)MapÐÑkeyᑮvalueḄ᧜:24ஹqrVᡠt⍝ḄvewḄ>?HashTableRḄput,get,removeVectorḄSᐵUV஺jdbcᦪYZ[ᢈ]1ஹJDBC᝞;xyzᜐᳮ4Con.setAutoCommit(false)Con.commit();Con.rollback();2ஹᑏ}ᙠJdbc/XᵨḄZ[preparedStatement,callableStatement,statement,Connection,ResultSet3ஹVStatement,PreparedStatement,CallableStatementḄᳮstatementᵨ᡻(☟᝱SQLÕ9lÖᡠDᡂØÙḄ?@ᙠ᡻(

40^_sqLPreparedStatement⊤a⚜cdḄSQLfgḄhi஺SQLfgj⚜cdklmnᙠPreparedStatementhiR஺ᯠqrstᵨvhiwᦔᙢz{᡻}~fgrsᦪᙠᑮPreparedStatementhi^_sql.CallableStatementᵨ᡻}SQLmnḄ஺᝞ᨵᦪ⌕ᦪ஺4ஹJavaRZ[ᦪYḄ1OracleᦪYClass.forName(''oracle,jdbc.driver.OracleDriver^^);Connectioncon=DriverManager.openConnection("6jdbc:oracle:thin:©localhost:1521:DataBase"UserName","Password")1.ᑭᵨJDBC¢£⊤RḄᦪYClass.forName("");Connectioncon=DriverManager.openConnection““)preparedStatmentps=Con.preparedStatment(uselect*from[table!”);ResultSetrs=ps.executeQuery0;While(rs.next){Rs.getString(l)ᡈrs.getString("¨©ª”))5ஹJDBCRḄ᪶¬®ᐸ°ᵨ±²DriverManagerClass.forName();DriverManager.openConnection("“Jsa",‘"')ConnectionPreparedStatement(Statement)ResultSetrs=executeQuery()dqlWhile(rs.nextO)executeUpdate()dmlddl

416ஹ᡻ᵨ᝞ᦪ()CallableStatementc=con.prepareCallC{callgetCustomerName(?,?)}z);c.setString(l,zlz);c.registerOutParameter(2,java.sql.Types.VARCHAR);c.execute();c.getString(2);8ஹ!"#$ᑏ&Jdbc'OracleḄ).Class.forName(zoracle.jdbc.driver.OracleDriverz);Connectioncon=DriverManager.getConnection(஻jdbc:oracle:thin:©localhost:1521:acc஻஻.஻஻஻ஹp,system,system);9ஹClass.forNameḄᵨ+,-⌕ᵨµ¶ᦪY·¸¹·¸º»ᑮ¼½ḄJVMR஺10ஹJdo/,-JDOJavahiᢝ¿ᓄḄÁḄÂÄjavadataobjectḄÅÆǵ¶ᵨmÈÉÊᦪYËRḄhiḄ᪗ÍᓄAPI஺JDOÎÏÐÑḄhimnÒvhÓÔÕᕒᩭmnᦪYhiØᐰÚ◤⌕Ü᜜ḄÞṹ(᝞JDBCAPIḄtᵨ)஺àáâᳲḄä}å°æçèéᑮJDOêëÎÏᖪíîtÓÔÕᕒïῃᩭñòóRôõö÷ᙠøFùúî஺û᜜JDOüᮣþÒÄÿᙠᦪ஺JDBC☢ᔣᐵᦪ(RDBMS)JDOᵨ!"#ᑮᦪḄ&'()!*᝞ᐵᦪஹᦻ.ஹXML123ᦪ(ODBMS)44!567ᵨ89ឋ;஺(o/rMappingDᐹFᔠᜐᳮ)11ஹᙠORACLEᜧᦪ234Ḅᑖ⚓789:஺<ᵨ=>ID9:?ᨵ/ABCᝅ9:createorreplacepackagemyPackistypec_typeisrefcursor;proceduregetPage(v_sqlvarchar2,pageSizenumber,pageindexnumber,coutc_type);end;createorreplacepackagebodymyPack

42isproceduregetPage(v_sqlvarchar2,pageSizenumber,pageindexnumber,coutc_type)ispageTotalint:=0;pageFirstRowint:=0;pageLastRowint:=0;rowTotalint:=0;beginexecuteimmediate'selectcount(*)fromC|,v_sql,K)JintorowTotal;pageTotal:=ceil(rowTotal/pageSize);if(pagelndexpageTotal)thenraise_app1ication_error(-20001,J⚓ᦪeᜧ!b)gh')Gendif;pageFirstRow:=(pageindex-1)*pagelndex+l;pageLastRow:=pageFirstRow+pageSize;opencfor'select*from||v_sql||Jwhererownum<|pageLastRow|Jminusselect*from||v_sqlU'whererownum<I|pageFirstRow;end;end;WebjkJsp&Servletᢈm1ஹÚᓫHHtomcatḄÜÝJAVA_HOME=JDKḄ᪷opCATALINA_HOME=tomcatḄ᪷opCATALINA-HOME\conf\server.xml:qrtomcatḄst!qrtomcatuvwxy஺CATALINA-HOME\common\lib:&z{ᵨḄ|ᒹᙠMyeclipseu᝞qrtomcatᙠeclipseu!⌱windows->preference->MyEclipse->ApplicationServer->Tomcat⌱TomcatḄop!⌱TomCatᡠ◤Ḅjdk,⌱enable,ᓽ஺

432ஹJSPEF᝱INCLUDEH☟᝱INCLUDEḄJKjsp:include:ᙠᵨ⚓☢!Ḅ஺<%@includefile="%>:ᙠᔠᙠ!ᡂ|!b஺3ஹforwardLredirectḄJKforward:¡!ᙠv⚓☢u!request¢ᶇ⚓☢uḄrequestḄᡠᨵ¥redirect:¦!b§⌴request23஺4ஹServletḄMNO᪀/,-ServletGenericServletHttpServlet«¬5ஹ᝞¹EÞßàḄservlet?extendsHttpServlet⌚®doPostᡈdoGet°±ᙠweb.xmlu³´µ6ஹServletḄQRᕜT/,-Init·¸᡻doGetᡈdoPostdestroy7ஹjspU/servlet/ᔲWX28ஹYZᑡjspEḄ\]ஹᢣ_`Fº»<%%><%=%><%!%><%——%>ᢣ¿<%@pagecontentType=,,text/html;charset=utf—8”

44language="java"import=<%@includefile=,,,,%><%@tagliburi=,M,prefix=?,,,%>ÃÄÅᙠscopeu᝞ÇÈᨵÉÊᓄ23!᝞ÇᨵÌxᵨÍḄ஺ᔣbeanuÎrÏឋ¥jsp⚓Ḅ¡Ðᐭjsp⚓☢9ஹJSPḄᑁÝ?@KRequestrequest⊤ÓHttpServletRequest23஺hÔᡝs⊤ᓫ×ØÙ1cookie,header,Úsessionresponseresponse⊤ÓHttpServletResponse23!2ÔᡝsḄÛ7ÜÝᦻ»ஹᑏcookiesooutoutᔣÔᡝsᡭᓺhtmlᦻ».pageContext:áÍjsp⚓☢Ḅvᦻâ᛻!6ᑮsessionஹrequest>application4ᑁr23!ᙠ«¬᪗æu5ᵨḄç·஺sessionsession⊤ÓèéḄjavax.servlet,http.HttpSession23஺Sessionᵨᡝ·⚓☢ᐳë஺applicationapplicaton⊤Ójavax.servle.ServletContext23஺&zìᘤîḄ⎇஺configconfig⊤Ójavax.servlet.ServletConfig23஺ð23ᵨd&hservletÉÊḄñòᓄóᦪ஺pagepage⊤Óôð⚓☢õöḄservletÉÊexception:÷ø!áiserrorpage=true10ஹaᙠJSP⚓☢c/d-ᑖ⚓Ḅ⚓☢◤⌕¢&vóᦪÅúᦪḄᑖ⚓1*üýþᦪÅ᪷sqlÿᑮᦪ⚓ᦪ⚓ᦪᦪ⚓☢᪷⚓ᦪ⚓ᦪ⚓ᦪᑮ!"#⚓ᦪḄᓽ&஺ᦪ(Sqlserver:SELECTTOP⚓ᜧ**FROMTestTable

45WHERE(IDNOTIN(SELECTTOP⚓ᜧ**(⚓ᦪT)idFROM⊤ORDERBYid))ORDERBYID-pageSize=5⚓ᜧ*-pagelndex=2ᡠ⌕Ḅ⚓—᝞ᨵTU&VWVXUYselecttop5*fromaawherealnotin(selecttop5alfromaaorderbyal)orderbyal;oracle:select*from||v_sql||Jwhererownum<|pageLastRow|Jminusselect*from||v_sqlinwhererownum<I|pageFirstRow;Sessionᐜ#ᦪpḄᡠᨵqrstᑮ"uvwxᙠsessionpz{ᑮjsp⚓☢}᝞~ᜐᳮ஺ala2<%Listl=(List)session.getAttribute(z/asz);஻⚓intpageSize=3;஻⚓ᦪintpageCount=0;intcurrentPage=l;if(1!=null&&1.size()>0)(pageCount=(l.size()/pageSize)+(1.size()%pageSize==0?0:1);if(request.getParameter(^page^)!=null)(currentPage=Integer.parselnt(request.getParameter("page"));if(currentPage

46currentPage=l;)if(currentPage>pageCount)(currentPage=pageCount;)for(inti=(currentPage-1)*pageSize;i<(currentPage-1)*pageSize+pageSize;i++)(if(i>=l.sizeO)(break;)Aaaa=(Aa)1.get(i);%><%=aa.getAl()%><%=aa.getA2()%X/td><%%><%if(currentPage!=1)(%>  //>_l2⚓  <%)if(currentPage!=pageCount)(%>/>T■⚓  >ᨬ⚓  <%)%>

4711ஹincludeḄefgh9iḄJK<@includefile:ᙠjspᡂservlet¡ᦻ£ᙠ¤ᡂ¡java¤¥Ḅ஺ᡠV¦§¨pḄ©ª«Y¬«஺¦¡¦¡®ᵨᐵ±ᙠ¥²³᝱Ḅ®ᵨY¦§¨&Vµ©ª஺12ஹjsp⚓☢Eefjk9iᑖK/,-ᨵ,-JKz{wᶇ·¸ḄrequestactionMapping.findForWard(u,>);pageContext.forward();request.getRequestDispacher("a.jsp").forward(request,response)ºzYwᶇ·¸ḄrequestResponse.setRedirect("")13ஹlmJSPLServletḄJKஹᐳopஹᔜrsᵨḄuJspT⌕ᙠ»⚓☢Ḅ³᝱ᡂ⚓☢&V¼html᪗¾¤¿ᵨᐸÁ¦⌕ᡂ¡servletoServletT⌕¦ÃᑴḄᜐᳮ᝞®ᵨÅÆǺzYÈḄjsp⚓☢஺Mvc:Jsp:vServlet:c14ஹᙠJSPE᝞v>wᡝyḄYz᝞X{|Jspᦻ~ḄgRequest,getparameter("")<%=application.getRealPath(z/aa.jsp")%>15>lmCookieLSessionḄᵨJKLᔜrḄsᵨuSessionᳮ஺Cookie:T⌕ᵨᙠwxÉᡝËᐸᙠÉᡝ˼ÌÆËÍÎÏ〈YÑᐰxÓḄᦪªᨵ▲஺Session:wxᙠÌÆË¡sessionᙠÌÆËᨵ^sessionlDÕ¡᪗Ö஺xÓḄᦪªᜧÑᐰឋØ஺ᓰᵨÌÆËḄᑁxÛÜ஺

4816ஹaJspEerrorPageḄᵨsᵨu஺ÝÞ⚓☢p%@pageerropage=,,error.jsp“%┯á⚓☢<%@pageiserrorpage=,,true,,%>ᨵᑁâ"u:exception17ஹᙠJspE᝞ᵨJavaBeans<%New();%>19ஹᓫJSPḄ᪗}¡᪗¾ᜐᳮextendsTagSupportäåtldæç᪗¾ᜐᳮḄḄèXèᙠweb.xmlpæçtldᦻ£ᙠjsp⚓☢¦éᵨtld<%@tagliburiê"“prefixê""ë>20ஹServletEḄ᪶ᨵᔜᨵ,-ᱯpServletContextìᘤîâᐰ頻setAtributeOgetAttribute()ServletConfig¡servletḄðâge11nitParameter(,?«ñ)HttpServletRequeststḄᡠᨵḄgetParameterValue(w«ñ)getParameterValues(nñ")getSession();getAttribute(v«ñ);getRequestDispatchC9a.jsp")forward(request,response)HttpServletResponseôõgetOut();sendRedirectHttpSession¡ᵨᡝ¡⚓☢ᐳ÷È©ª

49setAttribute21ஹServletE⌕Ḅᒹᨵᨵ,-JKjavax.servlet.*øjavax.servlet,http.*;22ஹaServletḄQRᕜTaServletLCGIḄJKServletùÌÆᘤúûᓄìᘤ¥ᐸinitýþᑮÿᐸserviceservice⍧ḄdoXXX(doGet,doPost)!"#$ᘤ&'()*├,Ḅ᎛.ᵨᐸdestroy஺cgiḄ34ᙠ6servletᜐᳮ#$ᘤ:;<=>?@A;BᐸserviceCD)*EF#$6@DGHᐸ)*CIJK├,LCGIODPQRSḄ:;#$TᡂVW├,ᡠFᦔ᳛[\6servlet஺23ஹ,-4ᵨdoGet()LdoPost()?Jsp⚓☢<Ḅform᪗deḄmethodgឋiget.ᵨdoGet(),ipost.ᵨdoPost()o25ஹ᝞hgservletḄᓫiᙠdoGetjdoPostklᐭsynchoronizedJSP:<%@pageisThreadSafe="true"%>27ஹRequestḄ⌕9:setAttribute(Stringname,Object)inameḄrequestḄᦪgetAttribute(Stringname)ᵫnameᢣ'ḄgឋgetAttributeNames()requestᡠᨵgឋḄᔠCDḄ)*getCookiesOᡝḄᡠᨵCookie,CDCookieᦪgetCharacterEncoding()<ḄṹBgetContentLengthOḄBodyḄ¡¢)*getlnputStreamOḄ£ᐭ¤ᵨ6¥¦<Ḅᦪ§getMethodO¥¦ᡝᔣ#$ᘤª〈ᦪ§ḄgetParameter(Stringname)¥¦ᡝª〈¬#$ᘤḄᨵnameᢣ'Ḅᦪ

50getParameterNames()¥¦ᡝª〈¬#$ᘤḄᡠᨵᦪḄCDḄ)*getParameterValues(Stringname)¥¦ᨵnameᢣ'ḄᦪḄᡠᨵgetProtocolO¥®ᡝᔣ#$ᘤª〈ᦪ§ᡠ¯§Ḅ°±²getQueryString()¥¦´µ¶getRequestURI()¥®¹º¶ḄᡝᙢᙬgetRemoteAddrO¥®ᡝḄIPᙢᙬgetRemoteHost()¥®ᡝḄgetSession([Booleancreate])ÀÁᐵSessiongetServerName()¥®#$ᘤḄgetServletPathO¥®ᡝᡠḄÃÄᦻÆḄÇÈgetServerPort()¥®#$ᘤḄÉÊremoveAttribute(Stringname)ᑤ◀<ḄCDgឋ28ஹᡃÏᙠwebᵨй?;<ÑÒ⍗ᑮ£ºÕÖṹḄ᝞iso8859-1!᝞Ø£ºCDÕÖṹḄ¶ÙPublicStringtranslate(Stringstr){StringtempStr=try{tempStr=newString(str.getBytes("ISO-8859T"),"GBK");tempStr=tempStr.trim();)catch(Exceptione){System,err.println(e.getMessageO);)returntempStr;30ஹServlet᡻CI)åæçDÙpublicvoidinit(ServletConfigconfig)publicServletConfiggetServletConfig()publicStringgetServletlnfo()publicvoidservice(ServletRequestrequest,ServletResponseresponse)publicvoiddestroy()

515Hibernateᢝéêᢈì1ஹᙠmyeclipseᐭhibernate᛻Ḅᐰ/,-Db-browerslᐭîïðSñò;lᐭhibernateó᛻ᢣ'*.hbm.xmljHibernateSessionFactoryᦻÆᡠᙠḄ÷2ஹhibernateḄ᪶£¤ᦻ~/,-`ᐸᵨHibernate,cfg.xml:ᦪ§øïðஹᢣ'ÁᐵḄ᧜úᦻÆ*.hbm.xml:ᐹüḄo/rmappingþÿ3ஹhibernateḄ᪶/,-¦§Ḅ¨©ᐵN/,-⌕Ḅ9:/,-ConfigurationSessionFactorySession᝞SaveloadUpdateDeleteQueryq=CreateQuery(<4fromCustomerwherecustomerName=:customerName^^)beginTransactioncloseTransactionCommit()4ஹᐵὶone-to-manyinverse:+,-᜜/Ḅᐵ2ᨵ4,ᑴinverse6false7+,-᜜/7ᵫ9,ᑴḄinverse=true7:,-᜜/;9<ᐵ2⌕>?@+,Ḅ,ᑴABC:,DE+,ḄFឋcascade:Hὶ+⊤KL⊤K+⊤ML⊤M+⊤ᑤL⊤ᑤ

52lazy:PQlazy=falseRSCᡠᨵḄᑁVWX-YPZ([ᵨ)lazy=trueRWX]ᑖᑁV-ᐸ`ᑁVa᝱cWdegetfgWXhḄᡠᨵᑁV5ஹhibernateEḄone-to-manyᡈmany-to-oneEᵨḄ9i/,-+,ᙠmanyjk-Ylmᑤ◀6ஹCriteriaḄᵨCriteriac=session.createCriteria(Customer,class);஻stᩩvc.add(Expression,ge("z{|"}h~”))ge:>=gt:>le:<=lt:

53ᑖR“selectcount(*),productnamefromProductgroupbyproductnameorderbyproductname-zW};FឋS᪵¤tḄ,ᙠ*.hbm.xml¥Queryquery=session.getNamedQuery(sql);ὶ©1“fromCustomerascustomerjoinfetchcustomer.buySet-/RCḄªᑮbuySetFឋ¥-¬XḄ7CustomerᨵS-Buyᨵὶ©2“fromCustomerascustomerjoincustomer.buySet”:¬XḄh~-customer;buy71h1¯R“fromCustomerascustomerwhere(selectcount(*)fromcustomer.buySet)>1஻9ஹ®¯ᐵNḄgh1ஹ±⊤-¯²³´᱄²ḄFឋ஺2ஹS⊤-¯²᱄²ᐳᵨS⊤3ஹ±⊤-¯²¾ᵨ᱄²Ḅ+/-¿ᵨÀᐳḄz{ᡈFឋ஺

54ᢇâᑤ◀Queryquery=session.createQuery("update஻ᡈ஻delete");query.executeUpdate();10ஹtomcatå#æ:ᙠèᘤ⚜ᐜCDënEå#,ÂᡝÄcᵨì,ᓄ,_`î#ï஺6.1ஹᙠtomcat-5.O\conf\server.xmlீ/hostு¢☢rᐭ᝞+ᑁèfactoryorg.apache.commons,dbcp.BasicDataSourceFactorydriverClassNamecom.microsoft.jdbc.sqlserver.SQLServerDriverurljdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev;SelectMethod=cursorusernamesapasswordmaxActive20

55maxldle10maxWait-l6.2>Csql-serverᒹÉÊᑮC:\tomcat-5\common\lib6.3ஹjdbcÌÍÎṹContextinitCtx=newInitialContext();ContextenvCtx=(Context)initCtx.lookup(z-java:comp/env-/);ds=(DataSource)envCtx.lookup(-zjdbc/sa-z);Connectionconn=ds.getConnectionO;6.4ஹhibernatedem©Ð?@m©ீsession-factoryname6஻foo஻>trueorg.hibernate,dialect.SQLServerDialect

5612ஹhibernate[æçᓄéᶍᵨᨬì᱐îḄhibernateᑴÓᔠᳮḄðñéᶍòᵨᔠᳮḄsessionÙᳮóᑴôõöᵨPQ÷ømanyᜧᦻîஹᜧᦻvsÓᔠᳮḄᢇᜐᳮýᦪ(batch-size)᝞ᨵfÿ⌱ᵨuuidᡂᘤ᝞ᨵ⌱ᵨversionḄ┝┝!"#$ᡭhibernateḄSQ1./01(hibernate.show_sql=true),;"?@ABCᐸEFGᳮIJᢣLEMNOḄEFPᶍ஺6.iBatisᢝTUᢈWᵨibatisḄGXYZ[!\]^_`ᩩSelectSQL(ᡈcd"#)efgᡠ◤ᦪkᐹmḄ⊤o᪀qrs஺!t$⌕wᡠᨵᱫyᑮ{|}~ᑖḄᦪkᙠᦪkUᵫcd"#EFᦪkᜐᳮᜧឋ⌕w᩽ᕡḼᡃ;""ᓄḄSQL=>(ᡈcd"#)ᑮឋᢣ᪗஺jdbCஹhibernateஹibatisḄOPjdbc:¢£¢£ᑏsqldeleteஹinsertஹupdate⌕¦[§Ḅ¨@©@©g1ªᑮsql$q«¬ªᐭ@©[§஺select:®¯Ḅ°@©resultset,⌕IResultSet$@±@±ஹ@©²³@©²³Ḅg1ᯠµ¶·ᑮ@©[§$q«¬®¯@©[§஺ibatisḄᱯ¹:»¼£ᓄsql⌕¢£ᑏdeleteஹinsertஹupdate:«¬ªᐭ@©[§select:«¬®¯@©[§

57hibernate:ᐰ¼£qᑏsql,¼£¶·deleteஹinsertஹupdate:«¬ªᐭ@©[§select:«¬®¯@©[§ibatisḄ᪶£¤ᦻ~sqlmapclient.xmlYᦪk¾¬¿Àᐵo/rMappingḄ᧜ÃᦻÅhibernate.cfg.xmlsqlmapBuy.xml:ᐹmḄo/rmapping᧜Ã*.hbm.xmlÆᜧ᪗ÇYselectupdatedeleteinsertprocedureibatisḄ᪶:SqlMapClientBuilder:ÈÉÊËᦻÅ®¯@©ÌÍ஺SqlMapClient:ᐹmḄÌÍListlist=queryForListÎ"᪗ÐÑ",object;Objectobj=queryForObjectÎ"᪗ÐÑ:object;deleteΓ᪗ÐÑ”,objectupdateÎ"᪗ÐÑ:objectinsertÎ"᪗ÐÑ",objectÔ#ḄÕᵨY¦ibatisfactoryÖ×ØÙJÔ#ÚÛܦmsḄ3©ᒹ¿ibatisḄÞ©ᒹÖ×ᑮ/WEB-INF/libÜßᦋibatisfactory$ḄabatorConfig.xmlᦻÅ?ᐭibatisfactoryÚÛá±java-jarabator.jarabatorConfig.xmltrue¦sql᪗Çஹselect>update>insert>deleteḄâãᑤ◀spring&ibatis:dataSourcesqlMapClient:SqlMapClientFactoryBeanconfigLocationclasspath:sqlMapClient.xml/WEB-INF/sqlMapClient.xmldataSourcetransactionManager:DataSourceTransactionManagerdataSourcecustomerDaoextendsSqlMapClientDaoSupportsqlMapClientbuyDao

58sqlMapClientFacadebuyDaocustomerDaoabstractProxy:TransactionProxyFactoryBeantransactionManagertransactionAttributesfacadeProxytarget:facade7Structsæ☢èᑴUᢈW1ஹqrstruts᪾Ḅ}ᜧ4IஹMVC2ஹ᪗Ð3ஹ᪥ë᪾í4^î▭ᓄ5ஹtiles3ஹstrutsḄ᪶3*ᨵᙠMVC/ᐸ#Ḅᐵ9:4CActionServletRequestProcessorActionactionMapping(struts-config.xml)actionFormardVActionFormJspMDaoManager(facade)4ஹStrutsḄᜐᳮqḄᐰ89:4url-õActionServlet(process)-õRequestProcessor(process)-ு,ᓄform-õöᐙformN-õ'(᪥ù-õ,ᓄaction-õúᵨexecute

595ஹᙠstrutsE᝞²url³ᑮaction,¦Ḅ᪶£¤ᦻ~/,-ÊËᦻÅ°struts-config.xml6ஹ+,-ᵨMVC,ᐸ⌕µḄ/,-üvýMþᑴC὚ᵨឋ(✂Ḅᕒ(C))7ஹ¶MVCᙠactionEsᨵᨵ·fᔜᨵ,-ᵨAction:1)ḄDispatchAction:2)ᙠ᪷⚓☢ᐭḄ⊤ᓫḄᵨ!"Ḅ⊤ᓫḄ#$ᙠீactionparam="”/>᪗)*+,-.LookupDispatchAction3)ᢥ0ᵨ"1actionḄ!"஺34getMap,6781ᢥ0ᙠ*.properties*Ḅ<#=<ᙠstruts-config.xml>?parameter67ᢥ0Ḅ#$ᢥ0Ḅ@AᘤpropertiesḄ>?C<#>?<#CMap*Ḅ<#CᑮEFGAḄ஺MappingDispatchAction:HIforwordAction:JKLMᑮ!"⚓☢!᡻,OP(???)SᡠᙠḄᒹ:org,apache,struts.actions.ForwardAction8ஹstrutsḄ᪗ᨵ·Yᑡ¸aᐸᵨBean:W▭ᓄLogic:஻[\ᔠḄᑁ_`a////Html:

609ஹ᝞ᙠstrutsE£¤ᦪ2¹ᙠ,-ᦻ~ᵨ,-᪗º᝞>DataSource?Struts-config.xml

61struts-config.xml*¦ᦋactionḄ᪗°validate=trueinput=஻┯²⚓☢஻᝞´validate*ḄActionErrors!µ¶·size>0º»ᑮinput⚓☢஺©publicclassmyFormextendsValidateForm{!¾⌚Àvalidate஺//publicvoidvalidate()//{//))ᙠstruts-config.xmlᦻe*ᐭÁe¦ᦋvalidation,xml*Ḅᑁ_errors.required={0}isrequired.errors.minlength={0}cannotbelessthan{1}characters.minlength6struts-config.xml*¦ᦋactionḄ᪗°validate=trueinput=஻/┯²⚓☢஻

6213ஹ᝞gh¿▭ᓄW▭ᓄ:!ᵨ¦ᦋÈṹE〉ᵨË!"ḄÌÍWÎᙢᓄ:᝞´⌕〉A1WÎ⌕¦ᦋÑÈṹ34?ªᙠstruts-config.xml*ᵨ᝞Ò᪗°67ÓÑᦻe#ÔÕᐸ×Fᦻe#ØᨵÌÍ.WÎீmessage-resourcesparameter=zzstruts.ApplicationResourcesz/>ᙠÓÑᦻe@AḄÛÜstruts*ᐭ〉A!"ÌÍஹWÎḄpropertiesᦻeApplicationResources_zh_CN.properties*WApplicationResources_en_US.propertiesus᝞´!FßÌ⌕Mṹnative2ascii-encodinggb2312ÑApplicationResources_zh_CN.propertiesᙠjsp⚓☢*ᵨAᵨîï->᪥ñ-ுòó->ᵨAᵨô->ᕈ4öA3ஹ᝞Ã3webBEḄBean,ᵨ,-᪗º஺᝞²jsp⚓☢HBeanÄ{ᙠÅÆᜐᳮcheckNumberjsfl.CheckNumbersession

634ஹJsfEÈÉḄ᪗º/,-/main,jspsuccess/result.jsp5ஹjsfEᵨᡝÊ☢Ë~Ìᨵ·ᔜÍ⊤,-UI÷eஹøeùúஹûüஹSMᣚஹñþ6ஹ⊤Ïᜐᳮ`>Ðimportjavax.faces,model.DataModel;importjavax.faces,model.ListDataModel;DataModel:È⊤1⊤ÿᐸᡝᩭ஺ᓄDataModeldm=newListDataModel();#$%list&'ᐭᑮDataModel*.dm.setWrappedData(list)#ᡝ/0123(LogsVO)dm.getRowData()89:ᩩḄ=>?@ᑤᦋᙠDE*FᐭG᝞IJឋDEḄLMNbean,ᐸIḄJឋNDataModeldm:R⊤TᨵḄ1ᦪWVOvo:R⊤$1ᦪW஺2$1vo=(VO)dm.getRowData();Y#{bean.vo.JឋL},᝞]^ᦋ8_`abc^ᦋ஺@F$1this.vo=newV0();Y#{bean.vo.JឋL},fghij&kᡝlᐭ&mnop#&qᑏᐭ7ஹjsfḄ᪗ºᨵÑ᪶tf᪥w

64{ᓄhtml:h⌱:$%string:$%Stringᦪ:ᔠ᪾⌱$1%:ᔠ᪾⌱:%:Iᑡ⊤⌱$%9Spring_ᵨ᪾ᢈ¡1ஹSpringLStrutsḄJK?strusts/fÓ¶MVCiḄwebBḄᜐᳮ஺Spring:m¢GYᵨḄ£¤ioc/diaop,ᐵtḄ¦§§web¨_/j2ee᦮Ḅ$%£¤,ª«᧕ᔠ¦®Ḅᢈ¡strutshibernateibatisejbremotespringJDBCspringMVC2ஹ,-/aop,aopḄᵨ/,-Oop¯ᔣḄ±¤AopoopḄ$%³ᔣḄ£¤N8oop´$µḄ⊡ᐙm¢¸ᐰஹ»¤ஹ¼½¾Ḅ*¿ᜐᳮÂᐵḄÃᜓbeforeஹaroundஹafterexception

653,aopEḄᐵÔÕÖᨵ¨©ᐵN/,-ÅÆᘤRᳮÃᜓ(advice)È᪗8ÊᐵᑗÌ:ᩩÍÎÌ:ÏÐஹJឋ4ஹ×ØÙᐭḄ9iᨵ·fᔜ/,-SetterInterfaceconstructor5ஹspringEḄ᪶ᨵᔜᨵ,-ᵨBeanFactoryÒÓ$%ÔḄÕᓫD¿BeanWrapperm¢×$Ḅget?setÏÐApplicationcontext:m¢᪾ḄÕᒹÙBeanFactoryḄᡠᨵÛÜ6^ApplicationcontextḄᵨbeanFactoryÝ▭ᓄ(getMesage)ßàáᳮ:âÎã2$%ᦻḄᑁ«(getResource)Fᐭweb᪾*(Fᐭ$%servletᡈçèᘤ)»ᜐᳮ7ஹ᝞ghÚ¹Ãᳮéᵨapplicationcontext.getResource("classpath:ᦻL"):ᙠsrc᪷ÈëIᙠìíîIapplicationcontext.getResource("classpath:/chap01/ᦻL”)src᪷ÈëIḄïðñIò஺applicationContext.getResource("file:c:/a.propertiesn)ᙠó×ᦻÈëI஺8ஹ᝞ghᐭweb᪾¾Eᙠweb.xml*Fᐭ᝞I®«ᙠôcweb£¤ᘤõFö/WEB-INF/applicationContext.xml*Ḅᑁ«஺

66contextorg.springframework,web.context.ContextLoaderServletlYø᝞IìùᑮApp1icationContextWebApplicationContextUtils.getWebApplicationContext9ஹ᝞ghÛ~ᜐᳮ»ExtendsApplicationEventçèᘤImplementsApplicationListener»àImplementsApplicationContextAwareᙠapplicationContext.xml*úû»àஹçèᘤᐜùᑮ»àýᵨ»àḄÏÐYþçèᘤ஺10ஹspringḄioc`diÍ⊤,-ÜÝloc:ÿᙠ᪷ᦻ᝱ᡠḄஹ᝞ᙠspringEgh¿▭ᓄᙠapplicationcontext,xmlbeanmessageᙠsrc!"#propertiesᦻ$%&'ᦻḄ⌕ᵨnative2ascii-encodinggb2312*+ᓄᦻ-ᐵᑁ0ᐸ23456message.78—:;஺⚓☢Ḅ?@A@BC᪗3EFG஺HIJ:;KLMN$OḄ:;ḄpropertiesBC஺PapplictionContext.getMessageQ“F3"”Uᦪ""WX”YEZ-ᐵḄBC஺

6712ஹspringḄ£¤Ḅ⌕᪗º/,-ᨵ,-ᵨ13ஹspringHejb20ḄÛÞÃᳮßàḄáâp\]^Spring:pojoEjb:_,ᚮᦻbcdSpring:jdbcjtahibernateEjb:jtaᡂfSpring:gP0ᘤ(tomcatjboss)Ejb:weblogicjbossijḄᕜl^Springmnejbo.14ஹspringḄjdbcHãäḄjdbcᨵ,-JKᐸ᪶ᨵSpringḄjdbc:⁚ḕsṹuvw_(Connection),uvbcஹuvxyஹuvᐵz(con(close()ps.close)JdbcTemplate(dataSource):{ஹᑤஹᦋஹ~TransactionTemplate(transactionManager):bcᜐᳮ15ஹᙠspringEᨵ·fÛÞÃᳮᑖK/,-sṹvᳮḄbcᜐᳮTransactonTemplateḄexecuteḄᑁTransactionCal1backḄdoInTransactionᵨ஺publicvoidmake()

68TransactionTemplatejtm=newTransactionTemplate(this.getTransactionManager());jtm.execute(newmyClassl());)publicclassmyClasslimplementsTransactionCallback(publicObjectdoInTransaction(Transactionstatustrans)(JdbcTemplatejdbc=newJdbcTemplate(dataSource);jdbc.execute(z/insertintocustomer(customerName)values('b')஻);jdbc.execute(zinsertintocustomer(customerName)values('b')஻)Greturnnull;})0ᘤvᳮḄbcᜐᳮ16ஹᙠspringE᝞£ÍṹḄÛÞÃᳮDatasoucetransactionManageruserDao⌕ᐭDatasoucetransactionManagerP᝞!TransactionTemplateJdbcTemplate17ஹᙠspringE᝞£æᘤḄÛÞÃᳮ¨ᐵḄᨵDatasoucetransactionManageruserDao⌕ᐭDatasouceProxysᳮTarget:userDao`sᳮ$(᪗$)transactionAttributes(◤⌕bcᜐᳮ)transactionManager(bcᜐᳮc)

6918>᝞èspringHhibernateOᔠᙠÅêë◤⌕hibernate.cfg.xmlᦻ~/ᔲWXu◤⌕19ஹspring+hibernateḄ£¤ᦻ~EḄ⌕ᨵ᝞£¤ᙠmyeclipseᐜᐭspring᛻ᐭhibernate᛻஺᝞¥spring¦hibernate§ᔠᙠ©ª«u◤⌕hibernate,cfg.xmlᦻ6ᔲ¯°±spring+hibernateḄᦻḄ³⌕ᨵ?᝞¶±dataSourcesessionFactory:hibernate.cfg.xmltransactionManageruserDao(extendsHibernateDaoSupport)sessionFactoryfacadeproxysessionFactorytransactionManagerfacade20ஹspring+hibernateḄÍṹghE¶gh{®¯¶/,¦ᨵ,-ᵨ஺extendsHibernateDaoSupport,ª«⁚ḕsṹ஺21ஹ᝞î⎽ð¤spring+struts?ᙠstruts-config.xmlᐭÁPÂapplicationContext.xmlᙠstruts-config.xmlÄᦋaction-mapping᪗Å,ᐹÇactionÈIÉDelegateActionProxyPDelegateActionProxyᐭspringḄ᛻஺ᙠspringḄapplicationContext.xmlᐭ70org.springframework.web.context.ContextLoaderListenerᡈ■contextorg.springframework.web.context.ContextLoaderServletl;<᝞+ï©app1icationContext,0ApplicationContextac=WebApplicationContextUtiIs.getWebApplicationContext(this.getServletContext);24>JsfspringḄ4jsfMVCḄwebḄᜐᳮstruts஺Spring:AÐÉPᵨḄcioc/diaop,ᐵÑḄuÒÒwebÓOHj2ee᦮ÇḄc,ª«Õ0᧕×ᔠuØḄᢈÚstrutshibernateibatisejbremotespringJDBCspringMVCEjbᢈÚ1ஹweblogicḄü>ýÛÜearஹjar>warÝÞljC:\bea\user_projects\domains\mydomain\applicationsweblogicMNjßPjbuilderàearᡈjarᡈwarâᑮcᘤä஺2ஹᙠejbone-to-many1ஹᙠmanyḄà᜜Fæçèឋᑤ◀2ஹᙠᑤ◀manyḄGë⌕àCollection+ᓄìArrayList,íîᔣðᔊArrayList,ᐜᑤ◀ArrayListG᪷ArrayListᑤ◀îòḄ$+ᓄìmanyḄm_Pm_àmanyᑤ◀

713ஹejbᡠᵨḄᢈÿJndi^javanamingdirectoryinferfaceRmi^remotemethodinvoke4ஹejbó_extendsEJBHomePjndiôÞUhome_createõᵨcöḄejbCreateᙠcö÷øEntityBeanᡈSessionBeanùᔣúᡝöüòm_஺PfindᙠýcöþᑮEntityBeanùᔣúᡝöüòm_஺extendsEJBObjectᙠúᡝöPrmiõᵨmcö஺PremoveõᵨcöḄejbRemoveàEnityBeanᑤ◀implementsSessionBeanᙠcöÿḄᜐᳮ᪶5ஹejbᐵḄᦻejb-jar.xmlejbḄḄ஺weblogic-ejb-jar.xml:ejbḄJNDIweblogic-rdbms-ejb.xml:o-rMappingᦪ⊤ஹejbឋ!"Ḅᐵ$஺ejb2.0Ḅ%&1ஹᵨjbuilder(ᡂ*᛻2ஹ,-ᵨeclipse%&,ᵨ/0ṹ23,ᵨant᡻5xdoclet,xdoclet6/0ṹ23789:ᐵḄ;<ஹ஺/***@stateLess*@remote*/6ஹejbḄᑖSessionBeanstateless:?@ABCᶇ(1..1)statefull:?@ACᶇ(1..n)entityBean:ᢝGᓄcmp:IᑤᦋLᘤbmp:IᑤᦋN8jdbcmessagedriverbean

72OᜐḄPQᜐᳮ7ஹᙢḄ஺EJBHomeRᙠBTḄUVᡈXYAZᵨᓽBTḄjvmEJBObjetEJBLocalHomeRᙠTUVT\jvm]^EJBLocalObject8ஹᜐᳮḄ"_`urlfactorya6jndibᑮhomedᙠeᡝga6homedᙠhgi9sessionBean,eᡝgjkeᡝga6lVZᵨ?@஺9ஹstatefullḄ#$ᕜ&BmᙠsetSessionContextcreateejbcreateno:,-Zᵨremove?@qsessionBeanᑤ◀ஹ,-ZᵨhgḄst?@஺ejbPassivateRunoᑮᢞw^ejbActivateRuᢞwᑮno^ᢞw᝞yz{78ᑤ◀10ஹstatelessḄ#$ᕜ&BmᙠsetSessionContextcreate■ejbcreateremove—ejbremoveno11ஹentityBeanḄ#$ᕜ&BmᙠsetEntityContext

73create■■->ejbcreateᐭ~ᦪejbActivateejbPassivatenoremove—>ejbRemoveᦪḄᦪ12ஹEJB◤ñògh¦ḄóÞòôᡈHomeòôᔩYmᳮᵫ஺lVHomeB◤⌕Ḅ0ṹ\ᵫhᘤi9ḄV5]a6Zᵨhgi9Ḅd஺13ஹEJBḄ÷øùᑴ-StatefulSessionBeand:ᐸCacheᜧ£¤¥ᑁm],-T{mᙠḄBeandḄᦪ§᪷MRUᡈNRU@dᙠnoᢞw®᝱°A±²஺no:uᦻ´ᑮᑁmZᵨejbActivate?@ᢞwuᑁmᑮᦻ´ZᵨejbPassivate?@14ஹEJB/Ó¶ÑᢈüghḄaSessionBeanLEntityBeanḄJKEJBᒹ½SessionBeanஹEntityBeanஹMessageDrivenBean,ÂÃJNDIஹRMI>JTAÇᢈÉ.SessionBeanᙠJ2EE"ᵨV]ÌᵨᩭÎᡂÏhᘤgḄÐÑ஺d᝞ÒÓᦪஹZᵨᐸEJBÔ´.EntityBeanÌᵨᩭ0⊤"ᵨ$Õ]ᵨᑮḄᦪ.!ÃeᡝYSessionBean\Ö×ᢝGឋ!ØÙÚÏᙠhᘤÛ5ḄÜÝÞEntityBean\ᑭᢝGឋ!ØÙ0⊤màᙠᢝGឋmàᘤ]ḄáḄ!Øâãᡈ\ᵫᨵå"ᵨVḄá.SessionBeanæ,-çèᑖStatefulSessionBeanStatelessSessionBean.êÖḄSessionBeanë,-q$ÕÜÝìᙠmethod°]᡻5BTḄ\StatefulSessionBean,-îïðñὅḄ®᝱óôaõᩭöᵨὅ_ᨵ:!"ḄStatefulSessionBeanḄá.StatelessSessionBean÷ᯠù\ÜÝÔ´ú\ᓾBüýîïöᵨὅ®᝱ùn\þöᵨὅðñStatelessSessionBeanḄ{᎛EJBContainerᱯḄ

74StatelessSessionBeanḄᩭ᡻method.ᣚ!ᦪ#ᵨὅᙠ᡻'StatelessSessionBeanḄmethods()*+BeanḄInstanceᙠ᡻.-ᑁ/0☢ᩭ2StatefulSessionBean3StatelessSessionBean45StatefulSessionBean6ὑJ2EEServer58Ḅᑁ/ᯠ:StatefulSessionBeanḄ;<ᓾᙠ>?@Aᢝ#ᵨὅḄC᝱.15ஹEJBḄᑖ/,-ᔜᨵ,-ᱯpsessionBean:EFGH6ᜫStateless:JKStateFull:+ᵨᡝ8MNJKEntityBean:ᢝOḄᦪPQRCmp`SᘤUV஺/YmappingZᦪPḄᢝOᓄᑏsql,Z0]ᙠ^_᠒஺Bmp:UVjdbcZᢝOᓄZaᩖ^_cmessageBean`defgᜐᳮ஺10ஹEJBE⌕Ḅ£¤ᦻ~`ᵨ/,-EJBjk(◤⌕nᦻpqEjb-jar.xml:rstu+vᡭᒹᙠ+HyEJB+z{஺|}~ḄsessionBeanḄ)ᵫSᘤᜐᳮḄ஺ᐸᙠᡠᨵḄᘤ)UᵨḄ஺Weblogic-ejb-jar.xml`r+EJBz{+JNDI,ᙠweblogicᘤWeblogic-rdbms-jar.xml`Zo/rmappingḄ|},~>*.hbm.xml15ஹaᦪ2'òýḄùᑴ/,-SᘤᡈᐵḄᵨᙠᐸRᓄ8t~ᵨᙠ#ᵨ(SᘤtrRḄtᵨt#ᵨ*(~ᵨ#ᵨSᘤ@rtᦈ஺-:dḄᦔ᳛஺16ஹEJB2.0ᨵÑᑁæᑖKᵨᙠ,-ÿᔠEJB2.0EJB1.1ḄsessionBean`)+VentityBean`)ᢝOᓄ£⊤Ḅ)+¥ᨵE¦஺Struts+sessionBean+entityBeanEJB2.0§ᐭḄ©ᙢtu«©ᙢhome

75EJB1.1R¬ᨵtu«home18ஹEJB3JAVABEANḄ¯°±JavaBean)aᵨḄ²p³´+Javavµ@)+Bean஺¶U·¸¹ºJavaBean)»Sᘤᡠ¼½(᝞Tomcat)Ḅᡠ@JavaBeanᐹᨵ᝞ºᱯÁq+ÂÃḄ᪀⌼ᘤZSerializabletuÆᨵÇឋÉᨵgetset0ÊEnterpriseJavaBean)+ᑖÌͲpᐸᱯÁ)Î>(RMI)ᢈÐḄ@»ÑÒ(ÓÔஹÓÕÖF)஺EJBØÙ»ÌkᙠWebspereஹWebLogicSᘤR!tÑÒejb,:)UVSᘤÑÒejb,Sᘤ)ejbÑÒḄ+£ᳮ஺19ஹEJBḄÚ⁐ÜnÝÞÚ⁐²ᡂᑖ°)EJB²pàáὅ(EnterpriseBeanProvider):sunᵨ²ᔠὅ(ApplicationAssembler)ãäḄàáᖪjkὅ(Deployer):EJBᘤdeὅ(EJBServerProvider):sunibmæFEJBSᘤdeὅ(EJBContainerProvider):weblogicjbossçᳮᕒ(SystemAdministrator):AêᕒnÝ)Remote(Local)tuஹHome(LocalHome)tuBeanv20ஹEJBSᘤdeḄE⌕deëᐰçᳮᑖÌÍjtsí}ᕜïçᳮ£ṹñòᢝóឋçᳮ┝Üáçᳮõ஺

7621ஹEJBööEJBRἭùḄMNᨵúû±1.!MNýÜýAPIAPIᢣḄ᝞notify,wait2.awt,3."#$%ᘤ'4.☟᝱+,-.5.0ᵨ1045-.ᦻ7896.;<=ᙢ?.7.AthisDEFGHI8.KLMᵨ஺26ஹEJBḄP=Q᪀S:UVEJBᒹ[\V]ᑖ_RemoteInterface5eḄfṹpackageBeans;importjavax.ejb.EJBObject;importjava.rmi.RemoteException;publicinterfaceAddextendsEJBObject{//somemethoddeclareHomeInterface5eḄfṹpackageBeans;importjava.rmi.RemoteException;importjaax.ejb.CreateException;importjavax.ejb.EJBHome;publicinterfaceAddHomeextendsEJBHome

77//somemethoddeclare)EJByḄfṹpackageBeans;importjava.rmi.RemoteException;importjavax.ejb.SessionBean;importjavx.ejb.SessionContext;publicclassAddBeanImplementsSessionBean(//somemethoddeclare)30ஹ᝞ᙠweblogicsslᡝḄᡈj2ee(᪗)sslḄ|ḕ~0ᵨDemoIdentity,jksGDemoTrust,jksKeyStore"#SSL,◤⌕$%ᘤ0ᵨEnableSSL,ᐸeᙠ◤⌕CA.ᨵGᦪidentityGtrustkeystore,<ḄGᦪ஺SSL¡5¢ᓫᔣ¥¢¦ᔣḄ஺31᝞ᙠweblogic!ḄEJB?0ᵨ§ᳮ©ᑴ«ᙠ¬ḄDeployment®ᡠᨵ°±²ḄE³

78WebServiceᢈµ1ஹ"#$WebService?WebService·¢D¸0¹ᩭᔜ¼½Ḅ¾¿ÀÁḄÂÃÄÅÆÇÂஹᐳÉÊËÌḄUÍ5e஺0ᵨḄᢈµ_HTTPஹXMLஹSOAPÐᓫÑÒÓÔஹWSDLÕ¿_Ö׫ஹÖØÙஹÖ89SOAPÓÔ_SOAPÓÔSimpleObjectAccessProtocal,ÐᓫÑÒÓÔTcp/ipfhttp-ுsoap,soapÇÜxmlᦻ7Ý〈ÂÃ|¿_1.WebService0ᵨ¸XMLᦪßàá⌼ᡂᜧFḄᦪß⌕ᙠåæÝç஺2.WebServiceèêᨵèëìíî"#ÅᐵḄð⁚ᒹ[òஹóØÙôU¿¬᝞CORBA஺2ஹ"#$Web%ᘤ"#J2EEèwebÓÔḄõᵨ.öÓÔë÷¸webøḄùúûL᛻,ᒹ[:ý±ឋ,~ᐰឋ,ᕜᳮᙠtomcatஹweblogicjspஹservletஹstruts3ஹ'ᵨ)*ᘤᨵ,-BEAWebLogicServer,IBMWebSphereApplicationServer,0racle9iApplicationServer,jBoss,Tomcat5ஹ᝞.weblogicᢣ0ᜧ2Ḅᑁ4ᙠ01WeblogicḄ345678ᡠᙠDomian;<=>ᘤ@AḄstartServerNameCDEsetMEM_ARGS=-Xms32m-Xmx200m,OPQ᦮ᨬTᑁVW32M,ᨬᜧ200M6ஹ᝞50ḄweblogicḄ6789:;<9:=>?!9:OPᙠᳮYᑴ[5\ᦋ;<=>ᘤḄ01^_W`aᡈcd^_ef஺ᡈὅ\ᦋ=>Ḅ01ᦻjᡈὅcommenvᦻjkDEsetPR0DUCTI0N_M0DE=trueo

797ஹ᝞p01qr◤tᐭᵨᡝxyzṹ|\ᦋ=>01ᦻjkDEWLS_USER}WLS_PW⚗஺OPᙠboot,propertiesᦻj5DEEzḄᵨᡝx}zṹ.8^ᙠweblogicᳮᑴ[5;f<ᵨ6ᡈὅf,Domainjmsejbᡈᐵk▭Vᙠᦻj5|VᙠDomainḄconfig,xmlᦻj5k=>ᘤḄ᪶ᦻj஺9ஹweblogic5fDomainḄḕ@A᪀|᝞⌕¢f£ᓫḄhelloWorld.jsp¥ᐭp@AkᯠḄᙠ§¨ᘤ©Oᡭᐭhttp://«¬:®¯°//helloword.jspOP±ᑮ³´|µ᝞¶ᐸ5ᵨᑮ´f¸¹ᑏḄjavaBean»᝞p¼|Domain@A=>ᘤ@Aapplications,¢<ᵨ@A¥ᙠ@A¢OP½W<ᵨ¾¿k᝞³Web<ᵨk<ᵨ@A◤⌕ÀÁWeb<ᵨ@A⌕ÂkjspᦻjOPÃ¥ᙠ<ᵨ@A5kJavabean◤⌕¥ᙠ<ᵨ@AḄWEB-INF@AḄclasses@A5kÄ=>ᘤḄḕ<ᵨ¢OPÅᙠ§¨ᘤ©Æ◤tᐭ<ᵨx஺12ஹCORBA|ᵨ⌶|CORBA᪗ÉÊᐳ;ÌÍÂÎᳮ᪀aCommonObjectRequestBrokerArchitectureb,ᵫ;ÌᳮÐÑaObjectManagementGroup,ÒᑏWOMGb᪗Éᓄ஺ḄÐᡂ¯ÕÖ×ØaIDLb,×ØÙÕabinding:ÚWὶÜC}ᐕÞ<ᵨßàáâã½Ḅäå஺ᐸ@ḄWæᵨrçḄßàÄè×ØéᑏᙠrçḄß5kWrçḄã½êë`a஺13^ᙠweblogic5`aìBeanqḄpersistentynon-persistenḄíîpersistentï_ḄMDBOPðìñ⌴ḄO☠ឋk᝞³EJBôᘤõÅ¿⚪÷øS=>ᘤùᯠú¢ìᙠMDBOᵨḄq᎛a〈ᩭk÷non-persistentï_Ḅì¢þÿ஺

8014ஹWEBSERVICE@ABC஺JSWDL<ᒹḄFG஺JAXPஹJAXMḄBC஺SOAPஹUDDI,WSDLBC஺WebServiceWebServiceḄஹᑖḄᙽᓄ᡻ᱯḄ⍳ᐹḄᢈ"#$%WebService&'ᐸ)*+Ḅ,-./஺JAXPaJavaAPIforXMLParsingb01ᙠJava3$ᵨDOM,SAX,XSLTḄ5ᵨḄ67஺"᪵ᙠ9Ḅ:;39<⌕$ᵨ"#5ᵨḄ67>9◤⌕ᦋAᐹḄBCD᎛FG◤⌕HᦋIṹ஺JAXMaJavaAPIforXMLMessagingbKSOAP5LMNOPQRSTUVᑴḄAPIoWSDLXYXMLZᵨ[\]^KX_`"#_`aᒹc☢ᔣᦻ᫏Lhᡈ☢ᔣj:LhḄkh,./஺"YZ✌ᐜa./Skh,no]^ᯠq[ᐸrᑮᐹḄtuSkhZvw0_`஺xᐵḄᐹ_`ᓽᔠᡂKno_`}\~஺SOAPᓽᓫaoOPtuaSimpleObjectAccessProtocolb,ᵨᣚXMLṹLhḄtu஺UDDIḄḄKᵯᖪ᪗UDDIXᝅWebḄஹᑖḄஹKWebServiceMNḄஹLh3ḄBC᪗DFᒹcX$&[MNḄWebServicew$Ḅ&CḄOPtuḄBC᪗஺j2ee;MVCஹModell,Model21ஹj2eeHᵨḄ5I9:JKᔆ9:஺Java3Ḅ23YFactory}ᔆ~Builder}⌼~FactoryMethod}ᔆQR~Prototype}¢£¤~,Singleton}ᓫ¦~Facade}§☢~Adapter}〉©ᘤ~Bridge}᫑᫡~Composite}ᔠᡂ~Decorator}⛲~Flyweight}¯ᐗ~Proxy}Iᳮ~,Command}²³~,Interpreter}´µᘤ~Visitor}OPὅ~Iterator}·I~Mediator}¸¹ὅ~Memento}ᜓ»¼~Observer}½¾ὅ~State}¿᝱~Strategy}Áᶍ~TemplateMethod}ÃQR~ChainOfResponsibleity}ÄÅ~ᔆᔆXYÆÇÈ$ᵨᑮḄ᪷ÊᔆBCḄËÌw᪷ÊMNḄᦪÊÎᡂXË3ÏXÐËḄB¦5Ç"XËᨵXÐÒᐳḄno᱄ËÕÖBC1xḄQR×"#QR┐aGḄᦪÊ,1GḄ./஺✌ᐜ◤⌕0XÐËÙËḄË5jGḄQRBC1Ë3ḄQR஺ᯠq◤⌕0XÐᔆËᔆËÌw᪷ÊᩩÎᡂGḄËB¦஺>%ᑮËḄB¦qÛÜᕒÌw¸ᵨË3ḄQRÞGßὃ⇋ᑮâãäḄåXÐËḄB

81¦஺2ஹMᡠO៉ᡈQRḄj2eeḄSTHᵨ9:UV5I9:ḄW-XSessionFacadePattern$ᵨSessionBeanOPEntityBeanMessageFacadePatternBCøù¸ᵨEJBCommandPattern$ᵨCommandJavaBeansþISessionBean,BCOPDataTransferObjectFactoryDTOFactoryᓄEntityBeanᦪᱯឋGenericAttributeAccessAttibuteAccess"#ᓄEntityBeanᦪᱯឋBusinessInterface%&((ᙢ)"#+Bean,-./0"#1345678ឋejb9᪀Ḅ<=>?@A"BCDEḄឋFஹH᡽JឋஹHKLឋஹMNHOᵨឋQRSᦔ᳛஺⚗XYZᩖ\⚗X]^Y_ᜧᑣYFb.c><=ḄO⌕ឋ஺3ஹBCY☢ᐵ\J2EEḄ@A(1)JNDI:JavaNaming&DirectoryInterface,JAVAopXqr4.t⌕ḄuFv7wXqDE\xᐸzᔜᙢḄ|ᵨ&}ᙠᐸ☢ᶇḄL+ᑖ|ᵨ&}ḄuF.(2)JMSJavaMessageService,JAVAr4.t⌕-.ᔜw|ᵨ&}Ḅ.ᒹ+¡¢.(3)JTAJavaTransactionAPI,JAVA¥4r4.ᔜ¦ᑖ¥4r4.|ᵨ&}§◤©ᵨᐸḄ"#ᓽH.(4)JAF:JavaActionFrameWork,JAVA®ᐰ°±᪾9.7³®ᐰ´ᑴ¶☢Ḅ᪾9.xRSὅᔜ¦¸¹+º-.Ḅwឋ®ᐰ´ᑴ»ᶍ.(5)RMI:RemoteMethodInterface,%&¶Á©ᵨ4ஹFGJ2EEஹJ2SEஹJ2MEḄ஺J2eeÂ3Ã\t⌕ḄapplicationserverḄwebQ|ᵨr4J2se᪗È᱐\ÊᨵapplicationserverJ2meÌÍஹpdaḄÎᐭRS5ஹ<]ᵨᑮ_,-5I9:ᵨᙠ"#`ᔠÐwÑÒÓÔÕ7wᙠᡃ×ḄØ᛻ÚÛÜÝ.ḄÞ⚪\ᯠáÓÔÕâÞ⚪Ḅãä¶ᫀḄ᪶ç஺覶\éHêëᦪìᙢíᵨî³ïᨵḄãä¶ᫀ\ë◤ᙠOZ/0Ḅðñ஺t⌕ᵨᑮÕMVCḄ<=Ñ஺ᵨᩭRSJSP/Servletᡈὅ

82J2EEḄ/ᐵ|ᵨ஺ᓫðᔆÑú஺6ஹJ2EEvûüýJ2EEvSunþÿḄ(multi-diered),ᑖ(distributed),(component-base)Ḅ!"ᵨ$%(enterprieseapplicationmodel).ᙠ)᪵Ḅ+,"ᵨ-./01ᢥ᯿45ᑜᑖ789Ḅ0):;1ᙠ89<=>?0@AᜐC"ḄD(tier)/஺ᡠGDᒹIJᡝ(clietntier),webM,BusinessM,OP-.(EIS)஺7ஹJ2EETᢈVWTXYWT᪾[\J2EE_`T+,᪗b0+,7ᑖ"ᵨḄcdeḄ᪗bXY஺J2EEfT+,᪾[0ᒹIJDBCஹJNDIஹRMIஹJMSஹmBஹJTApᢈV஺ᐸr1ஹstuvḄw᪆ᘤᨵ{:\DOM|ᦻ᫏$%(documentobjectmodel)SAX2ஹDomw᪆ᜐᳮḄT\packagess;importjavax.xml.parsers.DocumentBuilderFactory;importjavax.xml.parsers.DocumentBuilder;importorg.w3c.dom.Document;importorg.w3c.dom.Element;importorg.w3c.dom.Node;importorg.w3c.dom.Attr;importorg.w3c.dom.NodeList;importjavax.xmLtransform.TransformerFactory;importjavax.xml.transform.Transformer;importjavax.xml.transform.dom.DOMSource;importjavax.xml.transform.stream.StreamResult;publicclassXmlParserpublicstaticvoidmain(String[]args)throwsException

83xmlwriter();publicstaticvoidxmlparser()throwsException(DocumentBuilderFactoryxdf=DocumentBuilderFactory.newInstance();DocumentBuilderdb=xdf.newDocumentBuilder();Documentd=db.parse(,'C:\\Al\\customer.xmr,);NodeListnl=d.getElementsByTagName("customer");for(inti=0;i

843ஹSax'᪆ᜐᳮḄ"importorg.xml.sax.helpers.DefaultHandler;importorg.xml.sax.SAXException;importorg.xml.sax.Attributes;importjavax.xml.parsers.SAXParser;importjavax.xml.parsers.SAXParserFactory;publicclassSaxParserextendsDefaultHandler(publicvoidcharacters(char[]ch,intstart,inilength)throwsSAXException(Stringtemp=newString(ch,start,length);System.out.println(temp);)publicvoidendDocument()throwsSAXException(System.out.println("ᙠc•,ᦻ᫏))publicvoidendElement(StringnamespaceURI,StringlocalName,StringqName)throwsSAXException(System.out.println("ᐗ"+qName);)publicvoidstartDocument()throwsSAXException(System.out.printin("cᦻ᫏))publicvoidstartElement(StringnamespaceURI,StringlocalName,StringqName,Attributesatts)throwsSAXException(System.out.println(“cᐗ"+qName);)publicstaticvoidmain(String[]args)throwsException(SAXParserFactoryspf=SAXParserFactory.newInstance();SAXParsersp=spf.newSAXParser();

85sp.parse("C:\\Al\\customer.xml",newSaxParser());4ஹDomSax)*+Ḅ,-.DOM1+,⁚0⌕ᡠᨵ¡ᐰ£¤¥0¦§ὑᑁª01«ᦋ஺SAX5®¯°081±²081ᑏ0´µ¶·஺1.Dom/Ḅ᪶¹ºmᨵ{:\NodeTextNodeElementArrNodeListDocument5ஹ᝞01Dom23ᑏᐭᑮᦻ7TransformerFactoryTransformer»᝞½¾¿ÀÁᜐᳮTransformer(DOMSource(Documentd),ResultStream(OutputStreamo))6ஹᵨjdom'᪆xmlᦻ9᝞0':7ᦻ;⚪ÂᦻTutf-8,xmlᦻᜮf"Tutf-8᝞7ஹXMLᦻ᫏>?ᨵABC*+DEᨵ0F'᪆XMLᦻ᫏ᨵGAHCa:ÄÅÆdtdschema,b:_ÇÈÉ:schema_`TxmlḄ01ËXMLw᪆ᘤw᪆()fTÌDTD?dÍschemaḄ᪷_ÏḄ)0c:ᨵDOM,SAX,STAXpDOM:ᜐᳮᜧ%ᦻÑᐸឋ5½ÓḄÔÕᔍ×஺),⚪TᵫDOMḄ᪛᪀ᡠ⌼ᡂḄ0)Å᪀ᓰᵨḄᑁª§0ßADOMàáᙠw᪆ᦻâtã᦮,ᦻ᫏åᐭᑁª0〉ᔠXMLḄ±>SAX:8éDOM,SAXTêëì%ḄXMLw᪆¾஺í®¯°îXMLᦻ08◤⌕+Dᐰ£å¥᦮,ᦻ஺s⍗ᑮòᦻcᜮ0ᦻ᫏0ᡈὅ᪗õcᜮö᪗õÑ0í÷ød+,ê0ᵨᡝ»ᙠᐸùúê/ᑏᐭᜐᳮûṹᩭᜐᳮXMLᦻ0〉ᔠXMLḄ®¯STAX:StreamingAPIforXML(StAX)

868ஹ᪗JKLMNUML7ḄᔜAP☟᝱ᵨஹஹஹ᪀ஹ᝱,1■,᝱ஹ9ஹBSCSḄὶR஺C/SClient/serverḄᑏ஺ᘤ"#$ᵨ%ឋ'ḄPCஹ()ᡈ+,-.$ᵨᜧ,ᦪ1234᝞OracleஹSybaseஹInformixᡈSQLServer»6ᡝ8◤⌕;<=ᵨḄ6ᡝ8>஺B/SBrower/ServerḄᑏ6ᡝ-?@⌕;InformixᡈSQLServerFᦪ12஺ᙠHIJ᪀KᵨᡝL☢Nᐰ"PWWWCDᘤQRAᑖTUVᙠW8QRXY⌕TUVᙠᘤ8QR஺CDᘤ"PWebServerZᦪ12[ᦪ1\]஺C/S^B/S_`a1.cd᛻fZaC/SAghiᙠ=ᵨḄjk?+mnḄjkd᛻opjqrs"P=tᘤuvwxyᦪ1\ᣚ.B/Shiᙠ{pjq?Ḅf|=tḄjkcd᛻^ᵯ~?jᵨᜓ.ᳮ.ᨵC/SḄ〉mAg@⌕ᨵ34yCDᘤ2.;ᐰ⌕fZC/SAg⊈ᔣḄᵨᡝ;ᐰḄᑴ'.Ag%-Ḅ34$ᵨC/SJ᪀〉."PB/S¡ᑖ¢£.B/Shiᙠ{pjq?;ᐰḄᑴ'¤'☢ᔣf¥Ḅᵨᡝ஺3.¦§᪀fZC/S¦¨©ª«¦ᩗ▲®¯°᪥²34³´µ¶ὃ⇋.B/S;ᐰ¹º»´Ḅ®ªḄὃ⇋hiᙠ◤⌕¨¼ᓄḄ¾Ạq?.C/Sᨵ%Ḅ⌕B/SJ᪀Ḅ¦§᪀ÀḄÁÂÃMSḄ.Net3ᑡḄBizTalk2000Exchange2000Fᐰ☢ÅᢝjkḄ᪀ÇhḄ34.SUNyIBMÈḄJavaBean᪀ᢈÊFËB/S¨ᡂÍ.4.>ªᵨfZC/S¦fÎÏḄ᦮Ñឋὃ⇋᪀Ḅªᵨឋf᝞ᙠB/S⌕ÒAḄ᪀ḄªᵨឋÓ.B/SḄ®ªJ᪀⌕᪀ÔiḄÕ'.'ÖµÓḄªᵨ.ᐭØᩭḄ⚶ÛsᑭᵨÝfÞᙠᜋ?ḄàᜮÛâ5.34ãäfZC/S¦ᵫæ᦮Ñឋ|ç᦮ÑὃèᜐᳮêRḄ»⚪¹34ᓣí.ᓣíî.'sÞABᐰïḄ34B/S᪀ðᡂ,ñ☢᪀B`ḄᣚQR34Ḅòóᓣí.34ãä£├õᑮᨬ+.ᵨᡝÃj?Kø;

876.ᜐᳮ»⚪fZC/S¦ᜐᳮᵨᡝ☢.ùᙠZ_p;ᐰ⌕%◤^34ᐵ.ûüZḄ34B/Shiᙠ{pjᓃ☢ᔣfZḄᵨᡝᑖᦣᙢC/SᑮḄ.ᐵᨬ.7.ᵨᡝC/SḄWindow⊤ᨵ▲"#$ᕒ&'⌕)*+B/Sᙠ-.ᘤᨵ0123456Ḅ⊤7ᵨᡝ89.:;ᜧ=ᑖ?@ABABCDᡂF.8.HI9C/S#$JKᐺMḄNOPᩗḄRS7ᜐᳮ8VឋX"BB/SHI9ᔣZ[ᓄ,B-BB-CB-G^HIஹ9ᔣḄ[ᓄ0`8᧕Nb஺10ஹUmiḄᭆTU⌕ḄWᐹUmidJefghᐹ:RationalRose11ஹUmiḄᭆT7ḄYᜧPBᨬ\Ḅ]Pᔜᨵᱯ.klmnᐵὶ:(l..nn..ln..n)pqrsPtᡂklḄ5uᕜw(CDḄᡠᨵ▤{|}ᵨ)CDdklCDUse-caselᐵᵨᵨᒹ(include)ᵨ᡽(extends):ZᵨZᵨ⁐⁐Ḅᐵᓄᵨ⁐Ḅᐵdᵨ⁐d⁐ᵨdᵨᐗᵨ

88⁐Use-caselḄ5uᕜw◤)᦮ᓫᐗஹPᡂஹஹᵨᡝᦈ¢£$ᐗ¤ᙶ᪗d"§¨ᙶ᪗d£©ᵨªkª«Ḅ¬5uᕜw®69#l¢ᵨᑖ᪆°±᪀³lᵨ:´µt³t³¶©Ḅᐵpqᐵ=·ᵨ:´µ¸¹º³Ḅ»R¶©Ḅᐵ¼£Ḅឋ½Ḅ»⌕¾¿ὅ஺Á"§"§¶©ḄᵨÁ஺Â᝱JÄ"§Â᝱ᙠḄ6ÅḄ[ᓄ஺"§´µ"§13ஹᙠP7᝞0`ªÆÇ

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
最近更新
更多
大家都在看
近期热门
关闭