JAVA面试题大全

JAVA面试题大全

ID:83476806

大小:8.17 MB

页数:115页

时间:2023-07-06

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

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

ᦈḄJAVA☢⚪ᜧᐰẠ1.C++ᡈJavaḄᜐᳮᑴḄᓫᳮᵨ஺JAVA!JAVAḄ#$%ᑣ'(JAVA)*+,-./Ḅ┯1⊤3456஺#$%ᑣᒹ829:;஺59ᑁ@Ḅ#$AB஺C᝞ᦪFG᪗IJ,,L.IndexOutOfBoundsExceplion;MNnullḄOP',L.NullPointerException(.Q59:;+⚔0஺8.@A•CDᨬ#ᵨḄFGH஺9.heapstackᨵ஺᪘>•JKLMᔠ$ᐸPQᑤ◀ᐗUḄVWᙠXYZᡂ஺᪘ᢥ᯿^+ᐜ`Ḅab+,ᜐᳮ஺ᚮ>᪘Ḅ/dᡂᐗU10.᝞f⌕gᵨhᜧ᦮ᦪ(hllongmnp)$Drs•/ᦪtu᪀ᩭwxyJhᜧ5ᦪz{|rsJ}ᩭ~hᜧ᦮ᦪQ})஺publicclassBiglnt()

1int[]ArrOne=newArr0ne[1000];StringintString="M,;publicint[]ArrStringsinlString=s;forinti=0;iᵫᚗÎᦈMᘤᙠÛ¨y/ÑÒÜᨵ1¬ᵨ¦Ñy/ÑÒÝᵨḄ஺>ᙠObject0.¨ÞḄ$ᡠᨵḄ0à<=6஺0⌚âfinalizea{᦮ᳮãäᡈὅ᡻,ᐸåºᳮÙ஺finalizea>ᙠᚗÎᦈMᘤᑤ◀ÑÒÖ×Ñy/ÑÒÝᵨḄ஺13,AnonymousInnerClassæÈᑁç0>ᔲ{extends<=ᐸ0$>ᔲ{implements~interfaceéê?æÈḄᑁç0>ÜᨵÈzḄᑁç0஺;extends<=ᐸ0$ë/ᑁç0{4/éê$ᵫì/ᑁç0~஺14,StaticNestedClassInnerClassḄX$íîïðïñ☢ó⚪ᨵḄõö஺NestedClass÷>C++Ḅí$InnerClass÷>JAVAḄí஺Javaᑁç0C++øᝅ0ᨬᜧḄXÁᙠú>ᔲᨵᢣᔣ᜜çḄ¬ᵨþ஺ᐹhttp://www.frontfree.net/articles/services/view.asp?id=704&page=l☟᝱ᑁInnerClassᕡḼ1staticᑁḄ◤⌕᜜2staticᑁḄ᜜&"&&Ḅ#$஺&&'()*஺&&&+,-.()*஺15,HashMap"HashtableḄ#$.123Map45Ḅ6789:;᧜=ᑮᱯ@ḄAB஺HashMapCᨵᑖᡈὅ᣸I஺JᐕLnull;"MnullA஺HashtableN3HashMap,O&ᐕLnull;"nullA஺JPQHashMap᠒STJ&UVḄ஺16,Collection"CollectionsḄ#$஺Collections&java.utilWḄJᒹYᨵᔜ[ᨵᐵ]ᔠ_`Ḅ☟᝱ab஺Collection&java.utilWḄ45J&ᔜ[]ᔠc᪀Ḅ᱄45஺17,fgh᎛ᵨassert»

2kl&ᒹY+,⊤noḄpqᙠ᡻tupqhᎷ@w⊤noTtrue஺᝞y⊤noz)Tfalse,{g|}~AssertionerroroJᵨ3Ḅassert(a>0);//throwsanAssertionerrorifa<=0klᨵ[oassertExpression1;assertExpression1:Expression2;Expression1w&+,A஺Expression?&AḄ⊤no஺uAᵨ3ᡂMḄString஺klᙠW&ἭᵨḄ஺⌕ᙠhᵨkl◤⌕ᵨsource1.4᪗javac-source1.4Test.java⌕ᙠ(thᵨklᵨ-enableassertionsᡈὅ-ea᪗஺⌕ᙠ(th⌱¡Ἥᵨklᵨ-daᡈὅ-disableassertions᪗஺⌕|}¢ᵨklᵨ-esaᡈὅ-dsa᪗஺£ᙠᒹḄ¤ẠBᵨᡈὅἭᵨkl஺ᙠ⚜z§¨W~ᑮnḄ©'ªB«ªkl஺klᵨ3¬®⌴°±ᨵabḄ²ᦪ஺´klwᵨ3¬®⌴°µᨵabḄ²ᦪST¶&ᔲᵨ8klµᨵab1¸¹º»ᐸ²ᦪ஺´½ᙠµᨵab¢Pᙠ¾µᨵab¢ᑭᵨklÀÁªᩩÃ஺Ä᜜klw©aoᦋÆÇIḄÈ᝱஺18,GC&fgÉTfg⌕ᨵGC?(¤Ạ)஺GC&ᚗÍᦈ]ᘤ஺JavaÇIᕒᵨÑÒᑁÓ¶ᳮSTᚗÍᦈ]ᘤ~ÕÖ×t¶ᳮ஺⌕ØÙᚗÍᦈ]ᵨW☢ḄabÛSystem.gc()Runtime.getRuntime().gc()19,Strings=newString("xyz");8ÜStringObject?&“xyx”&ᢣᔣ“xyx”Ḅßᵨs஺20,Math.round(11.5)àáMâÉMath.round(-11.5)àáMâÉMath.round஺1.5)ãä(long)12,Math.round(-11.5)ãä(long)-11;21,shortsi=l;sl=sl+1;ᨵfg┯Éshortsi=l;sl+=1;ᨵfg┯?shortsi=1;si=si+1;ᨵ┯si&shortçsl+1&intçoèᓄTshortç஺êᦋTsi=(short)(sl+1)oshortsi=1;si+=1§ë஺22,sleep()"wait()ᨵfg#$ÉìíÇḄᨬ᰿sleep஺ab&íÇðñòhóḄab஺ᙠsleephóó◞õöÁíÇ@÷ᓽឮú᡻t஺u&STᙠ{hûᐸJíǧᙠ(tüýCᨵþÿ᡻◀(a)“⏨ᩭ”ḄᐹᨵḄᐜ(b)ᙠḄᐸ஺wait஺"#$%᝞'()*+,(-x./)*wait஺0ᵨ23ᨚ5᡻60(-7ᐭ9:;᝱=ᑮ6ᖔ⏨ᡈ9:%Aᑮ஺23,JavaᨵBᨵgoto?Goto—javaDḄEᶇGHᙠBᨵᙠjavaDIᵨ஺24,ᦪKᨵBᨵlength஺L*MNOStringᨵBᨵlength஺L*MNOᦪKBᨵlength஺L*MNᨵlengthḄPឋ஺Stringᨵᨵlength஺L*MN஺25,OverloadROverrideḄST஺OverloadedḄMN"ᔲVWᦋYZ[\Ḅ]^OMNḄ_ᑏOverridingR_aOverloading"Javab᝱ឋḄc+⊤H஺_ᑏOverriding

3"᱄]fg]hAb᝱ឋḄ)i⊤H_aOverloading")*]Db᝱ឋḄ)i⊤H஺᝞'ᙠg]DjklMNfᐸ᱄]ᨵm+ḄnoRpᦪᡃrs2MN6_ᑏ(Overriding)»g]Ḅ(-IᵨL*MN%t0ᵨg]DḄjk(u᱄]DḄjk᝞+6“vw”x஺᝞'ᙠ)*]Djkxb*+nḄMNrᡈᨵc+Ḅpᦪ*ᦪᡈᨵc+Ḅpᦪ]^ᑣoMNḄ_a(Overloading)஺OverloadedḄMN"VWᦋYZ[\Ḅ]^஺26,SetzḄᐗ|"c}_~ḄᵨMNᩭSᑖ_~fᔲᕖO"ᵨ=="equals஺?rᨵSTOSetzḄᐗ|"c}_~Ḅᵨiterator஺MNᩭSᑖ_~fᔲ஺equals஺"ᑨ*Set"ᔲm9஺64)R==MNjᵨ\"ᔲᢣᔣ+)(-equals஺ᙠ]D6⌚Ḅ"*ᑖḄ(-ḄᑁR]^mḄZ[\஺27,ᡃ)*ᨬᑮḄruntimeexceptionoArithmeticException,ArrayStoreException,BufferOverflowException,BufferUnderflowException,CannotRedoException,CannotUndoException,ClassCastException,CMMException,ConcurrentModificationException,DOMException,EmptyStackException,IllegalArgumentException,IllegalMonitorStateException,IllegalPathStateException,IllegalStateException,ImagingOpException,IndexOutOfBoundsException,MissingResourceException,NegativeArraySizeException,NoSuchElementException,NullPointerException,ProfileDataException,ProviderException,RasterFORMatException,SecurityException,SystemException,UndeclaredThrowableException,UnmodifiableSetException,UnsupportedOperationException28,errorRexceptionᨵSTOerror⊤ឮ~c"cV}¢£¤¥Ḅ¦§¨Ḅ)i©_ª⚪஺¬᝞sᑁ®/஺cV}ᢣ¯°}ᜐᳮL᪵Ḅ¦§஺exception⊤)i´µᡈ¶Hª⚪஺·¸"s⊤᝞'°¹c3.ºḄ¦§஺29,List,Set,Map"ᔲ»¼½Collection¾¿OList,Set"Mapc"30,abstractclassRinterfaceᨵST?ÀÁMNḄᙠc¶HḄ]6ÃÄÅ-](abstractclass),ᵨÆ⌕ÈÉ)*ÊHlËÌÍḄ]Î2]ÀÁMN¢c}ᙠ2]D¶H2]Ḅ¦§஺c}ÈÉabstract]Ḅ¶Ï஺ᯠVWÈÉ)*YÑᐸ]^")*Å-]ÎÒᢣᔣᐹÊg]Ḅ•*¶Ï஺c}ᨵÅ-᪀⌼ÖᦪᡈÅ-☟᝱MN஺Abstract]Ḅg]r᱄]DḄᡠᨵÅ-MNÙÚ¶Hᔲᑣr·"Å-]஺ÛÜhᙠg]D¶H2MN஺Ý⍝ᐸḄᐸ]VWᙠ]D¶HLËMN஺¾¿(interface)"Å-]ḄYÊ஺ᙠ¾¿DᡠᨵMNß"Å-Ḅ஺b»¼ឋVàá¶HL᪵Ḅ¾¿âã஺¾¿DḄᡠᨵMNß"Å-ḄBᨵ*ᨵ°Ê஺¾¿äVWjkstaticfinalᡂᕒYÑ஺¾¿Ḅ¶Hfg]mç◀x2¶H]c}¹¾¿jkD»¼஺]¶Hᱯ龿%jk(ᓽt°Êë)ᡠᨵLi¾¿ḄMN஺ᯠìVWᙠ¶Hx2¾¿Ḅ]Ḅí(-î0ᵨ¾¿ḄMN஺ᵫÆᨵÅ-]ᐕñIᵨ¾¿nòᵨ

4YÑḄ]^஺àḄó᝱ὶõtºᦔ஺ᵨVW÷ᣚᑮ¾¿]^ᡈ¹¾¿]^÷ᣚinstanceofùúVWᵨᩭjl(-Ḅ]"ᔲ¶Hx¾¿஺31,abstractḄmethod"ᔲV+%"static,"ᔲV+%"native,"ᔲV+%"synchronized?ßc}32,¾¿"ᔲV»¼¾¿OÅ-]"ᔲV¶H(implements)¾¿OÅ-]"ᔲV»¼¶Ê](concreteclass)?¾¿VW»¼¾¿஺Å-]VW¶H(implements)¾¿Å-]"ᔲV»¼¶Ê]¢ûÙ"¶Ê]üýᨵÁþḄ᪀⌼Öᦪ஺33,ÿᵨrun()start()?ᵨstart஺ᡠ⊤Ḅᜐᳮᜐ᝱ᕡḼ"#ᵫJVM%&᡻஺&(ᕡḼ)*+ᓽ஺run()#-./0⌨2Ḅ᪗4ᩭ67஺34,᪀⌼ᘤConstructorᔲ=override?᪀⌼ᘤConstructor(>=?@AB(>CᑏOverriding,E#=CFOverloading஺35,ᔲ#?@StringGHStringGfinalGᦑ(#?@஺36,JKᐭMNḄsynchronizedOᐸ"ᔲKᐭBMNḄᐸ"H(>MNḄsynchronizedQ>ᵫRS஺37,try{}VᨵreturnXYZ[\]ᙠtryOḄfinally_VḄcode*(*=᡻_[`᎛=᡻ᙠreturnbOH*᡻ᙠreturnb᡻஺38,c⚪eᵨᨬᨵᦔ᳛Ḅi22j#8klmHᨵCnoḄpᕒᱯstuSvS⚪஺2«339,wMNxyz(x.equals(y)==true),Eᓾᨵ(zḄhashcode,Y|M(MH(MᨵyzḄhashcode஺40,JMN=J}~ᦪ⌴ᑮOBᦋMNḄឋ&ᓄOḄZ[Vᑮx⌴ᵨ⌴Hx⌴஺JavacXQᵫx⌴~ᦪ஺JMN}~ᦪ=⌴ᑮ`~ᦪḄx)MMNḄᵨ஺MNḄᑁ#ᙠ=ᵨḄᦋEMNḄᵨ(*ᦋḄ஺41,swtichᔲ>}ᵨᙠbyte,ᔲ>}ᵨᙠlong,ᔲ>}ᵨᙠString?switch(exprl)exprl᦮ᦪ⊤஺AB⌴switchcaseXYḄ~ᦪintஹshortஹcharᡈὅbyte஺long,string¤(>}ᵨswtich஺42,c⚪:ᑏSingleton2ᩭ஺Singleton¦§⌕}ᵨ©ªᙠJavaᵨp,GClassQᨵ-¬ᙠ஺Singleton¦®¯ᨵ°vv±e²•v±e´µ•G"Ḅ᪀⌼¶ᦪprivateḄ"ᨵ•staticḄprivateḄG·ᙠG¸¹ᓄ`|®ºpublicḄgetlnstance»¼M"Ḅᵨ?½ᵨᐸḄ஺publicclassSingleton{privateSingleton(){}஻ᙠ¿ÀᑁÁ´µ¿À(Â᜻ÄH

5஻ÅprivateQÆᑁÁᵨprivatestaticSingletoninstance=newSingleton();஻VÇÆÈÆ᜜ÁRSÊclassḄ☟᝱#ÌÍRSpublicstaticSingletongetlnstance(){returninstance;))²Îv±epublicclassSingleton{privatestaticSingletoninstance=null;publicstaticsynchronizedSingletongetlnstance(){஻Ï☢ᨵᡠᦋK(ᵨÑÒ¤K.ᡂMNQ²Ò஻ᵨ`.ᡂÇÔÈᦔ᳛Õif(instance==null)instance=newSingletonf);returninstance;})ᐸÖ±e´µ•G"Ḅ᪀⌼¶ᦪprivateḄᡠᨵstaticḄ஺ײv±⌕ØÙÚᐰÜHashtableHashMapHashtable?@¿DictionaryG½HashMapJava1.2KḄMapinterfaceḄÝHashMapᐕßànull}entryḄkeyᡈὅvalue,½Hashtable(ᐕßᨵ)HashMapáHashtableḄcontainsâᣵÈᦋᡂcontainsvaluecontainsKeyoAcontains᧕åæçèé஺ᨬᜧḄ(zHashtableḄSynchronizeḄ½HashMap(ᙠ

6ëRSHashtable`(◤⌕¿À"ḄÝzí½HashMap)/0îÇÆ᜜zí஺HashtableHashMapïᵨḄhash/rehashi¤ᜧᭆ᪵ᡠ#ឋ>(*ᨵÂᜧḄòó஺43.õö÷JVMÙFclassᦻùḄúᳮᑴ?44.üýþÿ•ᐺḄᚗᦈ?45.ᵨjavaᑏ*᪛ᦪᡂ*᪛ᐜ"Ḅ#$ᡭᓺ'ᩭ.46.ᑏ)java*"+*,-.?47./0••C123ᦪ⌕5ᙠjava789:;ᵨ஺48ஹ>•?@ṹᙠBᑴDEᐭ)GᦪHI᣸"IᙠBᑴDE';49ஹᑡ'MᦻOᜳQḄᡠᨵᦻO:50ஹ;ᵨUVWXᑤ◀ᦻOḄ[\;

751ஹ]ᦻO8)^_')H`Ḅ[\;52ஹᑡ'aBᑴb*Ḅ#:53ஹc+*ᨵdae᝱g54ஹ>ᑏh)ijᘤlḄ*"ᙠmᡝlEᐭH`ᯠIᙠBᑴDpqrsᑮEᐭ"END”uvwxᑏ'mᡝlḄ*"y55ஹ\ᵨzpublic,private,protected,{|ᑏ}Ḅ~~᝞Q:\ᵨz7)package7ᐸpackagepublicVVVVprotectedVVVXfriendlyVVXXprivateVXXX

8|ᑏ}ufriendly56ஹArrayListVectorḄ~,HashMapHashlableḄ~ArrayListVector⌕]#☢ᩭ.).ឋ:Vector+*ᐰḄḄArrayList+*"|ᐰḄ|Ḅ.ᦪ:◤⌕},VectoruᩭArrayListᓾᩭḄHashMapHashTable⌕]¡#☢ᩭ஺).ᔊ£¤:Hashtable¥¦▰¨ḄDictionary7ḄHashMapJava1.2©9ḄMap-ªḄ).ឋ:Hashtable+*ᐰḄḄHashMap+*"|ᐰḄ,|Ḅ¡.«¬ᨵHashM®wx¯°«\u)⊤Ḅᩩ³Ḅkeyᡈvalue57ஹcharµ¶8|·¸)8ᦻ¹H?uº»g

9¼0½ᡂu)8ᦻḄ¤ujava8unicode>ṹ)charᓰ16H⁚ᡠÀ•8ᦻÁÂ⚪Ḅ58ஹc+*ᨵÄÅ#ƺ»gᨵÄÅ#ƺ»?c+*ᨵÇÅ#ᑖÉÊThread7Runnable-ªḄ#☢ᨵÇÅᑖsynchronized,waitnotify59ஹᚗᦈËᑴ᝞ÌÍᓄ*"?ÏÐᜧÒ⊡pÔÔ60>floatfloatf=3.4ᔲÖ×g:|Ö×஺ØÙ|Ú×,ÛÜᵨÝᑴ7Þᣚ᝞Qᡠrfloatf=(float)3.461ஹàáJAVA8ḄCollectionFrameWork(ᒹä᝞ÌᑏåæḄᦪç᪀)?CollectionFrameWorkilOTCollection

10Hist!ëLinkedList!ëArrayList|LVectorLStackLSetMappHashtable1-HashMapLWeakHashMapCollectionᨬ¥íḄîᔠ-ª)Collection@⊤)GObject,ᓽCollectionḄᐗò(Elements)

11MapóôkeyõöJvalueḄ᧜ø62ஹJava8ùúᜐᳮËᑴýOËᑴg11ஹJAVA8ḄcÉÊgÏÐᜧÒ⊡pÔÔ63ஹþÿᵨJAVAᨵḄᑖᑣᐰ᪗"#$%ᨵ&'()Ḅ*+஺-.⚪:1.ᙠ2ᐭnᦪ5⌹7ᑖ8;ᯠ;⌱=ᓣᡈὅAB᣸B;ᢥEFGHᙠI⚓☢LMᢥNO᣸BPQR,

12ETresetᫀ(1)publicstaticString[]splitStringByComma(Stringsource))if(source==nullllsource.trim().equals(,H'))returnnull;StringTokenizercommaToker=newStringTokenizer(source,",H);String[Jresult=newString[commaToker.countTokens()J;inti=0;while(commaToker.hasMoreTokens()){result[ij=commaToker.nextToken();i++W

13returnresult;)YZ[ᔊStringᦪ]Integer.parseInt(Strings)^ᡂint`]ᡂintᦪ]Arrays.sort(int[]a),aᦪ]ᓣBABab8c2d2.efgᣚijkᦪ5ḄefgᣚᡂlmnḄop᝞:#¥1011->#ᓟstᐗ᦮2d஺

143ஹ()%᎛Ḅ᡻z{B|⚪}⌱=⚪|~ᡭᓺdNO?:᱄:packagetest;publicclassFatherClasspublicFatherClass()System.out.println(nFatherClassCreate");:

15packagetest;importtest.FatherClass;publicclassChildClassextendsFatherClasspublicChildClass()System.out.println(MChildClassCreate");publicstaticvoidmain(String[]args)FatherClassfc=newFatherClass();

16ChildClasscc=newChildClassQ;2dPQ:C:>javatest.ChildClassFatherClassCreateFatherClassCreateChildClassCreate4ஹᑁḄp?Mṹ᝞:

17packagetest;publicclassOuterClassprivateclassInterClasspublicInterClassQSystem.out.printlnC'InterClassCreate'*);))publicOuterClass()

18InterClassic=newInterClass();System.out.println("OuterClassCreate");)publicstaticvoidmain(String[Jargs)OuterClassoc=newOuterClassQ;))2dPQ:C:>javatest/OuterClass

19InterClassCreateOuterClassCreate⚪:publicclassOuterClass{privatedoubled1=1.0;//insertcodehere)Youneedtoinsertaninnerclassdeclarationatline3.Whichtwoinnerclassdeclarationsarevalid?(Choosetwo.)A.classInnerOne{

20publicstaticdoublemethoda(){returndl;}B.publicclassInnerOne{staticdoublemethoda(){returndl;}C.privateclassInnerOne{doublemethoda(){returndl;}D.staticclassInnerOne{protecteddoublemethoda(){returndl;}

21E.abstractclassInnerOne{publicabstractdoublemethoda();᝞:.☟᝱ᑁᨵ☟᝱ᡂᕒ☟᝱ᑁᑣ+ᨵ☟᝱ᡂᕒ஺ᦑAஹB┯.☟᝱ᑁḄ☟᝱ᡂᕒ|᜜Ḅ☟᝱^|᜜Ḅ☟᝱^;returnd1d┯஺ᦑD┯.☟᝱ᑁḄ☟᝱ᡂᕒ|᜜Ḅ☟᝱^஺ᦑC.ᫀRCஹE

225ஹJavaḄ¡-.-.⚪#ᡈ|ᵨJAVASOCKET-.¢£¤ᘤ¦5§ᑏᐭ©ᙢLM:Server«.B:packagetest;importjava.net.*;importjava.io.*;publicclassServerprivateServerSocketss;privateSocketsocket;privateBufferedReaderin;privatePrintWriterout;

23publicServer()ss=newServerSocket(1OOOO);while(true)socket=ss.accept();StringRemotelP=socket.getInetAddress().getHostAddress();StringRemotePort=":n+socket.getLocalPort();System.out.println(HAclientcomein!IP:n+RemoteIP+RemotePort);

24in=newBufferedReader(newInputStreamReader(socket.getInputStream()));Stringline=in.readLine();System.out.println(uCleintsendis+line);out=newPrintWriter(socket.getOutputStream(),true);out.println(nYourMessageReceived!'*);out.close();in.close();socket.close();

25}catch(lOExceptione)out.println("wrong");publicstaticvoidmain(String[]args)newServer();Client«.B:

26packagetest;importjava.io.*;importjava.net.*;publicclassClientSocketsocket;BufferedReaderin;PrintWriterout;publicClientQ

27trySystem.oul.println(,'TrytoConnectto127.0.0.l:10000n);socket=newSocket(n127.0.0.1",10000);System.out.println("TheServerConnected!");System.out.println("PleaseentersomeCharacter:0);BufferedReaderline=newBufferedReader(newInputStreamReader(System.in));out=newPrintWriter(socket.getOutputStream(),true);out.println(line.readLine());

28in=newBufferedReader(newInputStreamReader(socket.getInputStream()));System.out.println(in.readLine());out.close();in.close();socket.close();}catch(IOExceptione)out.println(uWrong");publicstaticvoidmain(String[]args)

29newClient();6ஹᵨJAVAᑭ᣸BJAVABᑡᓄḄ¯#°?᝞ᙠCOLLECTION᪾¶,±²⌕NO᪵Ḅ:ᵨ·ᐭ¯¸z᣸Bṹ᝞packagetest;importjava.util.*;classInsertSortArrayListal;

30publicInsertSort(intnum,inimod)al=newArrayList(num);Randomrand=newRandom();System.out.println(nTheArrayListSortBefore:'1);for(inti=0;i

31publicvoidSortlt()Integertemplnt;iniMaxSize=l;for(inti=l;i=((Integer)al.get(MaxSize-l)).intValue())al.add(MaxSize,templnt);MaxSize++;

32System.out.println(al.toStringO);}else{for(intj=O;j=tempInt.intValue())al.add(j,templnt);MaxSize++;System.out.println(al.toStringO);

33break;System.out.println(MTheArrayListSortAfter:");for(inti=O;i

34publicstaticvoidmain(String[]args)InsertSortis=newInsertSort(10,100);is.SortIt();JAVABᓄḄ¯java.io.SerializableCollection᪾¶±²⌕Comparable¹Comparator7ஹ-.-ᑏº»5§¼Ḅ½ᦪ2ᐭR5§¼¹5⁚ᦪ2dRᢥ5⁚º»Ḅ5§¼஺⌕¿ÀÁ5ºÃ᝞“ᡃABC”4,ÆǺR“ᡃAB”2ᐭ“ᡃABCÁDEF”6,ÆÇ2dR“ᡃABC”“ᡃABC+ÁḄÔ஺ṹ᝞:packagetest;

35classSplitStringStringSplitStr;intSplitByte;publicSplitString(Stringstr,intbytes)SplitStr=str;SplitByte=bytes;System.out.println(nTheStringis:',,+SplitStr+Hz;SplitBytes=n+SplitByte);

36publicvoidSplitlt()intloopCount;loopCount=(SplitStr.length()%SplitByte==0)?(SpIitStr.lenglh()/SplitByte):(SplitStr.length()/SplitByte+1);System.out.println("WillSplitinton+loopCount);for(inti=1;i<=loopCount;i++)if(i==loopCount){System.out.println(SplitStr.substring((i-l)icSplitByte,SplitStr.length()));}else{

37System.out.println(SplitStr.substring((i-l)*SplitByte,(i:1:SplitByte)));)))publicstaticvoidmain(String[Jargs)SplitStringss=newSplitStringC'testddᦻdsafᵱᜧ3443nl43lÌ0ewldfls=103H,4);ss.SplitIt();

388ஹJAVA&Í.-.஺ᵨJAVAᑏ&Í..B᝞ᑏÍ.Î1,Ï^Ð2d஺ÑÒᜧÓ⊡ÕÖÖ9,STRINGSTRINGBUFFERḄ×Ø஺STRINGḄÙÚ^ḄSTRINGBUFFERḄÙÚ^Ḅ஺᝞Q~Ï5§¼ḄᑁÛÜݸzÞßᱯØᑁÛ⌕áᦋ%ãOäᵨStringBuffer,᝞Qᨬ;◤⌕String,ãOäᵨStringBufferḄtoString()¯Jsp☢1ஹjspᨵçèᑁéÏ?ßᵨᑖØNO?:JSPᐳᨵ9°ë©ᑁé]ì(ASPḄ6°ᑁ]ìíÏÆ):requestᵨᡝ«ðñòðñᒹôᩭGET/POSTðñḄöᦪresponse÷⚓møᵨᡝ«ḄøÆpageContext÷⚓Ḅùឋᙠûüýᳮ

39sessionðñᨵᐵḄapplicationservletᙠ᡻Ḅᑁoutᵨᩭ〈ḄconfigservletḄ᪀pageJSP⚓exception┐┯⚓ᣓᣍḄ"᜜2ஹjspᨵ&'()?)ᵨᑖ,-./01:JSPᐳᨵ45667()jsp:include8ᙠ⚓☢:;<Ḅ=᎛?ᐭ-BCᦻ஺jsp:useBean8FGᡈὅJ"ᓄBCJavaBean஺jsp:setProperty8LMJavaBeanḄOឋ஺

40jsp:getProperty8QCJavaBeanḄOឋ஺jsp:forward8R;ij-klᡠnᦻcḄoᓄ〉ᔠᵨrᒹn(᝱⚓☢tuv4wxᦪ☟᝱INCLUDEᵨincludezṹJh|}klᡠnᦻḄoᓄ〉ᵨrᒹn☟᝱⚓☢<%@includefile="included.htmu%>4ஹ~6Sᑖ,-./?ᨵ./g,?18ᨵ~6ᑖ,]:

41ὅ⚓☢}SᔣincludeᡠᢣḄ⚓☢-⚓Ḅ⚓☢-ᩭḄ⚓☢஺᡻ᩭrᦪᵨ஺tuv4wxᦪ.ὅᐰSᔣU⚓☢}ᩭ஺rgoto஺Servlet☢1BServletḄ_ᕜ?1:servletᨵḄ_Ḅ|ᒹ¡¢£J"ᓄஹ¤¥ᓄஹᜐᳮ;<4¨©ª«஺¬C_ᵫjavax.servlet.Servlet®¯Ḅinit,service£destroy°⊤²஺2ஹServlet᱐´µ¶·¸Ḅ-&~C᱐·¹Ḅ}º?»¼ᜧ¾⊡ÀÁÁ3ஹJAVASERVLETAPIcforward஺eredirect஺ḄgÂlj?1:ὅÃ-ᘤcÄᑴᩗḄSᔣᙠÇᡝÉXYᘤᙢᙬÌc}SᔣḄᙢᙬÍὅᑣ-ᐰḄSXYᘤÏÐᑮSḄᙢᙬtÑUÒ〈;<Ó®஺¬᪵ÕXYᘤḄᙢᙬÌcv4ÖᑮSḄÓ®ᙢᙬ஺ᡠ4ὅסØᦔᙠὅv4ÚÛ◤⌕=Þßàᵨforward஺°tu¬᪵áᨵâr◚äJ▭ḄÓ®஺ᙠᨵ'æç5è᝞◤⌕SᑮBCᐸi©ªᘤÀḄëìᑣíîàᵨsendRedirect஺°஺

424ஹServletḄ7᪀publicclassServIetNameextendsHttpServlet{publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,lOException{)publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,lOException{))JdbcஹJdo☢

431ஹvïðñᑏBóJdbcôOracleḄõötJhᦪWl÷.1:õö᝞5:packagehello.ant;importjava.sql.*;publicclassjdbcStringdbUrl=Mjdbc:oracle:thin:@127.0.0.1:1521:orcln;StringtheUser=uadminn;StringthePw=nmanagern;Connectionc=null;Statementconn;

44ResultSetrs=null;publicjdbc()try{Class.forName("oracle.jdbc.driver.OracleDrivern).newInstance();c=DriverManager.getConnection(dbUrl,theUser,thePw);conn=c.createStatement();}catch(Exceptione){e.printStackTraceQ;

45publicbooleanexecuteUpdate(Stringsql)conn.executeUpdate(sql);returntrue;catch(SQLExceptione)e.printStackTrace();returnfalse;

46publicResultSetexecuteQuery(Stringsql)rs=null;tryrs=conn.executeQuery(sql);catch(SQLExceptione)

47e.printStackTraceQ;returnrs;publicvoidclose()tryconn.close();c.close();

48catch(Exceptione)e.printStackTrace();publicstaticvoidmain(String[]args)ResultSetrs;jdbcconn=newjdbc();rs=conn.executeQuery(nselect*fromtest");try(

49while(rs.next())System.out.println(rs.getString(,'id,'));System.out.println(rs.getString(^^name'^));}catch(Exceptione)e.printStackTrace();

502ஹClass.forNameḄ)ᵨ0]./⌕ᵨ018ᵨø¸ùBC4úûüᢣ|[ýḄ[Ḅþ.3ஹJdo-./?1:JDO-JavaþᢝᓄḄḄjavadataobjectḄᵨᦪḄḄ᪗ᓄAPI஺JDO!"Ḅ#$%&'(ᕒᩭ+#ᦪ,ᐰ.◤⌕1᜜Ḅ3ṹ5᝞JDBCAPIḄ7ᵨ8஺9:;ᳲḄ=>?@ABCDᑮJDOFGᖪIJ7&'(ᕒKῃMᩭNOPQRSTUᙠWXYZJ஺[᜜JDO\ᮣ^$_`aᙠbcᦪdeJf>.JDBCi☢ᔣᐵmᦪ5RDBMSJDOnoᵨᑮbcᦪdeḄ#pqr᝞ᐵmᦪஹᦻuஹXMLavᦪODBMSww7xyᵨ`Dzឋn|஺4ஹᙠORACLEᜧᦪ~Ḅᑖ⚓K஺•ᵨIDᨵeᝅ஺ᑖ⚓<%inti=l;intnumPages=14;

51Stringpages=request.getParameter("page");intcurrentPage=1;currentPage=(pages==null)?(1):{Integer.parselnt(pages)}sql="selectcount(*)fromtables'1;ResultSetrs=DBLink.executeQuery(sql);while(rs.next())i=rs.getlnt(1);intintPageCount=l;intPageCount=(i%numPages==0)?(i/numPages):(i/numPages+l);intnextPage;intupPage;nextPage=currentPage+1;

52if(nextPage>=intPageCount)nextPage=intPageCount;upPage=currentPage-1;if(upPage<=l)upPage=l;rs.close();sql=uselect*fromtables";rs=DBLink.executeQuery(sql);i=0;while((i஻Mᑁ஻M⚓

53n"v|:<%=currentPage%>/<%=intPageCount%xahref=nList.jsp?page=l',>^-^^n>_h⚓<%for(intj=l;j<=intPageCount;j++){if(currentPage!=j){%>">[<%=j%>]<%}else{out.printing);

54%>">⚓">ᨬ⚓Xml☢1ஹxmlᨵ:K᪆ᢈ?¡¢£¤:ᨵDOM,SAX,STAXwDOM:ᜐᳮᜧ¨ᦻuQᐸឋqªḄ«¬ᔍ®஺9¯⚪ᵫDOMḄ᪛³᪀ᡠ⌼ᡂḄ9³᪀ᓰᵨḄᑁ¹ºO»DOM¼½ᙠK᪆ᦻu¾¿À᦮ᦻ᫏Ãᐭᑁ〉ᔠXMLḄÇÈɯSAX:.ÊDOM,SAXËuÌͨḄXMLK᪆Î஺_ÏÐÑXMLᦻu.◤⌕—ÓᐰÔÃÕ᦮ᦻu஺Ö⍗ᑮØᦻu&ᜮᦻ᫏³Úᡈὅ᪗Ý&ᜮÞ᪗ݳÚQ_ßà'ËuᵨᡝoâᙠᐸãäËuᑏᐭᜐᳮ3ṹᩭᜐᳮXMLᦻu〉ᔠXMLḄÏÐɯ

55STAX:StreamingAPIforXML(StAX)2ஹæᙠ⚗èᵨᑮxmlᢈḄ:☢?᝞céÊḄ?:ᵨᑮᦪêëìíîï☢஺ᙠðᦪñᣚóôQõ.qᦪöḄᦪ÷ÃᡂXMLᦻuᯠõXMLᦻuùúᡭᒹýþoâÿ〈ᦈὅᦈXMLᦻᐵᜐᳮ஺ᙠ!"#ᑭᵨXML&'()*ḄḄᔜ-!".ᦪ012ᙠXMLᦻ஺3ஹᵨjdom᪆xmlᦻ#᝞67ᦻ8⚪?᝞6᪆?;:=᝞>?ṹ,ᵨBṹ)CD'7packagetest;importjava.io.*;publicclassDOMTestprivateStringinFile="c:\people.xml”;privateStringoutFile="c:\peop1e.xml”;

56publicstaticvoidmain(Stringargs[])newDOMTest();)publicDOMTest()tryjavax.xml.parsers.DocumentBuilderbuilder=javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder();org.w3c.dom.Documentdoc=builder.newDocument();

57org.w3c.dom.Elementroot=doc.createElement("ὁH");org.w3c.dom.Elementwang=doc.crealeEIement(“L”);org.w3c.dom.Elementliu=doc.createElement("ᦻN);wang.appendChild(doc.createTextNode("ᡃPLὁH”));root.appendChild(wang);doc.appendChild(root);javax.xml.transform.Transformertransformer=javax.xml.transform.TransformerFactory.newInstance().newTransformer();transformer.setOutputProperty(javax.xml.transform.OutputKeys.ENCODING,"gb2312”);transformer.setOutputProperty(javax.xml.transform.OutputKeys.INDENT,^yes11);

58transformer.transform(newjavax.xml.transform.dom.DOMSource(doc),newjavax.xml.transform.stream.StreamResult(outFile));catch(Exceptione)System.out.println(e.getMessage());

594ஹBQᵨJAVA᪆XMLḄ)C.;:ᵨSAX)C᪆XML,XMLᦻ᝞>:LTVv/name>(collegeுX▾6258113vnotesᵱ,1955[\,]^95[_ᐭaᓭᜧX/notesde_fSAXHandler.java

60importjava.io.*;importjava.util.Hashtable;importorg.xml.sax.*;publicclassSAXHandlerextendsHandlerBaseprivateHashtabletable=newHashtable();privateStringcurrentElement=null;privateStringcurrentValue=null;publicvoidsetTable(Hashtabletable)this.table=table;

61publicHashtablegetTable()returntable;publicvoidstartElement(Stringtag,AttributeListattrs)throwsSAXExceptioncurrentElement=tag;publicvoidcharacters(char[]ch,intstart,intlength)

62throwsSAXExceptioncurrentValue=newString(ch,start,length);)publicvoidendElement(Stringname)throwsSAXExceptionif(currentElement.equals(name))table.put(currentElement,currentValue);JSPᑁhijkṹ,SaxXml.jsp:

63ᒈ᪆XMLᦻpeople.xml<%@pageerrorPage="ErrPage.jsp"contentType="text/html;charset=GB2312n%><%@pageimport="java.io.*"%><%@pageimport=',java.utiLHashtablen%><%@pageimport=norg.w3c.dom.*n%><%@pageimport=Morg.xml.sax.*M%>

64<%@pageimport=njavax.xml.parsers.SAXParserFactoryn%><%@pageimport=Hjavax.xml.parsers.SAXParser"%><%@pageimport=HSAXHandler"%><%Filefile=newFile(,'c:\people.xmr,);FileReaderreader=newFileReader(file);Parserparser;SAXParserFactoryspf=SAXParserFactory.newInstance();SAXParsersp=spf.newSAXParser();SAXHandlerhandler=newSAXHandler();sp.parse(newInputSource(reader),handler);

65HashtablehashTable=handler.getTable();out.println(HᦟH⊤");out.println("vTR>op"+'"+(String)hashTable.get(newString(Hname"))+"H);out.println("vTD>X▾"+H"+(String)hashTable.get(newString(',college"))+,,H);out.println("vTRxTD>ᵯr"+,,n+(String)hashTable.get(newStringC^elephone"))+nn);out.println("vTR>vTD>ᜓt"+"M+(String)hashTable.get(newString("notes"))+n");out.println(uH);

66%>EJB)☢1ஹEJB2.0ᨵyzᑁh?ᑖ|ᵨᙠ}~ᔠEJB2.0EJB1.1Ḅ|?;ᑁhᒹBeanὅᵨQ!ὅEJBhᘤEJB!"ᐹEJBὅᳮᕒ஺☢EJBhᘤPEJBᡠ'Ḅ᪶஺EJBhᘤᳮḼEJBḄ¡¢£¤¥¦§¦ᦪ¨©Ḅª««¬⌕Ḅ᪶®஺JSP,Servlet,EJB,JNDI,JDBC,JMS..…2ஹEJBJAVABEANḄ|;:JavaBeanP&¯ᵨḄ°±JavaBean²³ᨵ´µḄᳮ¶·¸¹6º»Javaf0&'Pº»Bean஺¼½¾¿À>ᵫÂJavaBeanPÃhᘤᡠ¡¢Ä᝞TomcatḄᡠ'JavaBeanᐹᨵº»Å.Ḅ᪀⌼ᘤÈ᜜½¾JavaBean⌕ÊËSerializableÌᵨÂÊËBeanḄᢝÎឋ஺JavaBeanÊ▭·ÑÂÒCOMÓÔḄÕᙢQᑁCOM°×PØÃÙQÚ8Ḅ஺EnterpriseJavaBeanÑÂDCOM,ᓽᑖÜC°஺×PÝÂJavaḄÞQ)ß_ᵨÄRMDᢈáḄᡠ'EJB&'ÃÞQÚ8ÄÙQஹÙâãäå஺¼EJBæçÃÜèᙠé᝞Webspere^WebLogic᪵ḄhᘤEJBëᡝíØîÚ8ïðḄEJB°ñP½òᐸhᘤÚ8஺EJBhᘤPEJB°Ḅ?ᳮEJB°ᵫhᘤᡠ¡¢ᳮ஺ëᡝ½òhᘤᩭÚ8ïðḄEJB°஺3ஹEJBḄÝÕõ᪀

67;:º»EJBᒹö»÷ᑖ:RemoteInterfaceÌḄ?ṹpackageBeans;importjavax.ejb.EJBObject;importjava.rmi.RemoteException;publicinterfaceAddextendsEJBObject//somemethoddeclareHomeInterfaceÌḄ?ṹpackageBeans;

68importjava.rmi.RemoteException;importjaax.ejb.CreateException;importjavax.ejb.EJBHome;publicinterfaceAddHomeextendsEJBHome//somemethoddeclareEJBfḄ?ṹpackageBeans;importjava.rmi.RemoteException;importjavax.ejb.SessionBean;

69importjavx.ejb.SessionContext;publicclassAddBeanImplementsSessionBean//somemethoddeclare)J2EE,MVC)☢1ஹMVCḄᔜ»÷ᑖ0ᨵøzᢈáᩭÊË?᝞6ÊË?;:MVCPModel-View-ControllerḄùᑏ஺"Model"?⊤ḄPᵨḄûüýĽòJavaBean,EJB°ÊËå"View"PᵨḄ⊤j☢ÄᵫJSP⚓☢ÿ"Controller"ᵨḄᜐᳮᑴServlet,ᵨᜐᳮᑖᡂ"#Ḅ$%&'஺)$%*+,-./0ᵨ஺2ஹᵨ23ᘤ5WEBSERVERḄ678

70:;ᜧ=⊡?@@3ஹJ2EEAB8C:Je22SunEFGḄHI(multi-diered),ᑖJK(distributed),LM$%(component-base)ḄNOPᵨ(enterprieseapplicationmodel).ᙠ᪵Ḅ•ᵨTUV*ᢥ᯿YZᑜᑖ\"#Ḅ$%)$%]*ᙠ"#^_?`aᜐMbḄIc(tier)V஺ᡠeIcᒹghᡝI(clietntier)$%,webI$%,BusinessI$%,NOklTU(EIS)I஺4ஹWEBSERVICEmnop஺JSWDLqrᒹḄst஺JAXPஹJAXMḄop஺SOAP,UDDI,WSDLop஺CuWebServicevwxyWSDLSOAPᓽ{ᓫ}~(SimpleObjectAccessProtocol),ᵨM.ᣚXMLṹklḄP஺UDDIḄḄ\ᵯᖪ3᪗UDDI-ᝅLMWebḄஹᑖJKḄஹ\WebServiceḄஹklVḄ&'᪗#ᒹ$NOZḄWebService+7ḄNOZr'ḄḄ&'᪗஺5ஹBS5CSḄὶT567஺:;ᜧ=⊡ᓃ@@

716ஹSTRUTSḄᵨ᝞STRUTS¤᪀CuStruts¦ᵨJavaServlet/JavaServerPagesᢈ¨qrWebᵨ©Ḅqª«ṹḄframework»¦ᵨStrutsZqrGLMMVCModel-View-ControllerKḄᵨ᪀¤஺Strutsᨵ᝞Ḅ®⌕YZu.ᒹcontrollerservlet,ZᵨᡝḄ±²r〈ᑮbḄAction}~஺—.JSPᵫtag¶`aᙠcontrollerservletVᐵὶ¸ᢝº»qrᕒ½./K⊤ᓫᵨ஺¿.ÀTᑡ&ᵨ}~uXMLᜐᳮஹJavareflectionAPIsÂᜐᳮJavaBeanseឋஹÄ▭ᓄḄÇl஺KÈ☢1ஹqrVÊᵨᑮÀË)K?ᵨᙠABÍᔠ?CuÏKÊvwÀᙠᡃÑḄÒ᛻V"ÔG'Ḅ⚪ᯠ×vwÀØ⚪ḄoÙÈᫀḄ᪶஺ÈKÜ*+ÝᦪcᙢᵨË)àᨵḄoÙÈᫀÝ◤ᙠ0âb#Ḅãä஺®⌕ᵨᑮÀMVCḄK஺ᵨᩭqrJSP/ServletᡈὅJ2EEḄbᐵᵨ஺{ᓫãᔆKé஺2ஹUMLÈ☢Cu᪗xyUML஺ᵨêë☟᝱ëᒹgîëஹ}~ëᒹë-\ë,./ëï©ë,

72ᔠäë&'ë,JavaScriptÈ☢1ஹ᝞ð᪥òᦪó?varre=/Ad{l,8}$Ld{l,2}$/;varstr=document.forml.all(i).value;varr=str.match(re);if(r==null)sign=-4;break;

73else{document.form1,all(i).value=parseFloat(str);}CORBAÈ☢1ஹCORBAAB?ᵨ⌶AB8CuCORBA᪗Eᐳ}~±²öᳮ÷᪀(CommonObjectRequestBrokerArchitecture),ᵫ}~øᳮ$ù(ObjectManagementGroup,úᑏ\OMG)᪗ᓄ஺Ḅ$ᡂüýþÿ(IDL),(binding:ὶ)ᐕᵨḄ஺ᐸḄᵨḄᑏᙠḄ#$%&Ḅ'()*LINUX+☢1ஹLINUX./0GDI1Ḅ23஺

745LINUX67Ḅ89:;᪶=>?@#Ḅ"BCB"/DE0BF/6GCBF᪶=>?@#0H/IḄJᳮᙠ᪶᜜MᦪO$67஺GDI1PQᜓST1O஺JAVAU☢V⚪JAVA+☢1☢ᔣCYḄᱯ[ᨵ]^+☢2String9ᨬ:`Ḅᦪa1Eᔩ?3intIntegerᨵdefg4StringStringBufferḄfg5%&hijkBBlijᨵminij⊤p%&q$rst7Ḅuvjw᝱0%&hij⊤pyz{Ḅ|j$rs⍗ᑮḄij09j%&┯஺javaᘤ⌕+trs*Ḅu%&hij09⌕tᣓḄ%&hij஺

756tB^jᵨḄ10ᒹ,ST0ᔜ5F7tArrayList,Vector,LinkedListḄឋsᱯឋAn-ayListVector9ᵨᦪ+ᦪa0ᦪᐗ¢ᦪᜧ;6▭Ḅᦪa¥¦§¨©ᐭᐗ¢0«¬ᐕSᢥ¯°±ᐗ¢09©ᐭᐗ¢⌕²³ᦪᐗ¢´µ¶ᑁ0ᡠ¥°±ᦪa¹H©ᐭᦪa᠒0Vectorᵫ;ᵨ¼synchronized+½/¾ᐰÀ0|jឋsÁÂArrayListÃ0HLinkedListᵨÄᔣÅ⊤670ᢥ¯°±ᦪa◤⌕#&ÇᔣᡈÉᔣÊᔊ09©ᐭᦪahÌ◤⌕ÍÎ`⚗ḄÇÉ⚗ᓽr0ᡠ¥©ᐭÑÒ¹஺84F/0ᐸ$ÓF/ÔÕCj§¨1,Ö᜜ÓF/CjÔÕ×ØI஺ᑏt஺¥.ᵨᑁÙ167/0Cj§×Ḅh᎛Ûᨵὃ⇋Þß⚪஺publicclassThreadTestl{privateintj;publicstaticvoidmain(Stringargs[]){ThreadTest1tt=newThreadTestl();Incinc=tt.newInc();

76Decdec=tt.newDec();for(inti=0;i<2;i++){Threadt=newThread(inc);t.start();t=newThread(dec);t.start();privatesynchronizedvoidinc(){j++;System.out.println(Thread.cun-entThread().getName()+,,-inc:u+j);

77privatesynchronizedvoiddec(){System.out.println(Thread.currentThread().getName()4-u-dec:n+j);classIncimplementsRunnable{publicvoidrun(){for(inti=0;i<100;i++){inc();)

78classDecimplementsRunnable)publicvoidrun(){for(inti=0;i<100;i++){dec();)9.JSPḄᑁàCY³+஺

79requestrequest⊤pHttpServletRequestCY஺«ᒹá¼ᨵᐵãäᘤḄåæ0çèé¼êFᵨ;ëcookie,header,sessionᦪaḄᨵᵨḄ+஺responseresponse⊤pHttpServletResponseCY0èé¼ìFᵨ;à〈îãäᘤḄïḄ+(᝞cookies,ᜮåæ¶)outoutCY9javax.jsp.JspWriterḄBF6ó0èé¼êF+ôsᵨ;ᔣãäᘤî〈õtö÷஺pageContextpageContext⊤p——Fjavax.servlet.jsp.PageContextCY஺«9ᵨ;+¦ëᔜúḄûüýஹservletþᐵḄCYḄAPI,çᒹÿᵨḄservletᐵḄ஺sessionsession⊤Ḅjavax.servlel.hllp.HttpSession஺SessionᵨᡝḄ᝱applicationapplicaton⊤•javax.servle.ServletContext஺ᨵ!"#ᨵᐵservlet$%&servlet'᛻Ḅconfigconfig⊤javax.servlet.ServletConhg஺)ᵨ!*servlet+,Ḅ-.ᓄ0ᦪ஺pagepage⊤2)⚓☢56Ḅservlet+,10.ᵨsocket7ᑏ9:ᡝ;&<=ᘤ;Ḅ7?⌕:ᡝA〈ᦪCDEFGHḄᦪC஺0IJKLsocket7,M஺11N9ServletḄ6OᕜQ,SN9Servlet&CGIḄTU஺ServletV<=ᘤ+,ᓄD?WᘤXYᐸinit?ᑮ\]XYᐸservice?service^_`⍧XY0bḄdoXXX(doGet,doPost)d?e<=ᘤfgh+,├jḄ]᎛lᵨᐸdestroy஺

80mCgiḄTUᙠ!servletᜐ!<=ᘤpKL?qrstKuXYᐸservice?+,<=!s?Svᐸ+,wxy├j?zCGI{|56}ḄpK,<=~ᡂD├j?ᡠᦔ᳛!servlet஺12.EJB!ᢈ+Ḅ?SN9SessionBean&EntityBeanḄTU?StatefulBean&StatelessBeanḄTU஺13.EJBᒹ(SessionBean.EntityBean)N9Ḅ6OᕜQ?᝞ᳮ=Ḅ14.N9ᦪCḄᑴ¡?15H¢&£¢ᨵ&£H?ᙠ¡¤¥¦ᑖU¨ᵨ©,Nª.16bᵨ<=ᘤᨵ¬?17ᡠ®⍝Ḅ°ᔠ²|ᨵ³⌕?

8118´:¶_K·A,ᦪC¸¹º»B,ᵨᡝ¹º»C,¼ṹ»D,ᦪC¾⊤»T,ᵨJDBC¿À9⊤TḄᡠᨵᦪC.19.N9ᙠJSP⚓☢Á¡ᑖ⚓Ḅ?⚓☢◤⌕Ħ0ᦪ:ÅYᦪÆ᪷CsqlÈÉÊᑮÅYᦪ{⚓GYᦪÆËgÌeÍ⚓ᦪÆ0ᦪ⚓☢᪷CeÍ⚓ᦪ&{⚓YᦪÎÏ9eÍ⚓ÐYYᦪ?gÑÒÓ°ᑮÔY?ÒÓ°*9{⚓GYᦪḄYᓽ஺

82ᦪC¾☢:ÖrK&×ᦪḄTUÖrKᵨᡝgØḄÙᑡsqlÈÉḄ°ᔠ?Ûᱯg⊤ᡈᐸqḄÞ=?ᵨᡝlᵨÖrK?z×ᦪßᦪC¾àgØḄ?qᦈ0ᦪSâFãä²åḄÌSvxÛᱯgᵨᡝ⊤஺=¡=»æçᓫᐗ᡻YḄÙᑡë?æçᓫᐗìíᨵîïឋ?º»ACIDñòMឋஹôឋஹ◞öឋ&ᢝøឋùïឋ?úᨵ᪵üᡂ»=ÆòMឋ=ìíòMᓫᐗý!ᐸᦪCþᦋ⌕ᐰ᡻⌕ᐰ᡻஺,ឋᙠᡂᡠᨵḄᦪᢝ•᝱஺ᙠᐵᦪ!"ᡠᨵ#ᑣ%ᵨ'Ḅ(ᦋ*ᢝᡠᨵᦪḄ᦮ឋ஺,-ᡠᨵḄᑁ/ᦪ,᪀1᝞B᪛45ᡈ7ᔣ9⊤;<=>Ḅ஺

83◞AឋᵫCDᡠEḄ(ᦋFGHᐸJCDᡠEḄ(ᦋ◞A஺KLᦪᦪᡠᜐḄ᝱⌕

84"©☢«⚪1ஹ☢ᔣj®Ḅ¯°±²ᱯ´2ஹµ¶]`µ¶]ᑏḄᭆ¹3ஹº»ᑁ/¼ஹ½®¼Ḅᱯឋ4ஹᦻ¿ᑏḄ±²¼**5ஹYᓄḄÁÂ⚗*Ä᝞HÅrYᓄ6ஹÆÇḄ±²ᭆ¹ஹÆÇḄ±²᝱*Ä᝱OTḄᐵe7ஹÆÇḄhÈஹ᝞HÅrÆÇḄhÈ8ஹÉᵨḄᦪ,᪀Äᑁ/Årgᳮ஺9ஹSocketËTCPஹUDPÄJavaÅrµÌ;

85**10ஹJavaḄÍᡲÏᑴᚗÒÓᦈÏᑴ11ஹJDBCÕᵨᦪ!Ḅ±²ÈÖ**12ஹ×᪆XMLᦻḄɵÌ13ஹJavaÙ±²ᩗ▲ḄÜ14ஹJavaḄÝ▭ᓄßஹJSPIஹàá⌕[âq7°◚äj®*ÄåæḄ**2ஹforwardredirectḄ3ஹJSPḄᵨᢣè¯ஹservlet1ஹéêëìÕᵨdoGet()doPostO?2ஹservletḄinit()µ¶service஺µ¶Ḅ

863ஹservletḄíᕜï4ஹ᝞HrÅservletḄᓫÆÇñÌ5ஹservletḄòó6ஹÙSôõöᢈøÙஹEJB**1ஹEJBùᘤúûḄüý⌕úûþÿᕜᳮஹṹஹᢝឋᳮஹᐰஹᳮஹ┝ᳮ஺2ஹEJBḄ⁐EJB⁐⌕ᒹ"Bean#ὅ&ᵨ()ὅ*+ὅ,-ᳮᕒEJB/ᘤ12ὅEJBᘤ12ὅ3Remote(Local)45ஹHome(LocalHome)456Bean72ஹEJBḄ897:

87;<(Session)Bean=>(Entity)Bean?@ABḄ(MessageDriven)Bean;BeanDᑖFBeanᳮḄᢝឋJBMP/ᘤᳮḄᢝឋJCMPL93ஹbean=MḄNᕜOStatelessSessionBeanஹEntityBeanஹMessageDrivenBeanPQRᙠTUVᳮ6WOEntityBeanStatefullSessionBeanRᙠCacheᳮ6XYᒹZ[\=M6]^_`ᦻஹ[\EJBObjectcreateஹbcdeᵨஹremovefg6ORᙠTUVᳮḄBean,ᙠcreatehi=MjkᑁRm◀6W3oᵨTUVepqᑴjstᵨ=M6WORᙠCacheᳮḄBeanᑣXfvwxvwqᑴyᢝBeanḄH᝱▲ᑴᑁR{=Mᦪ}஺4ஹvwqᑴ~StatefullSessionBeanFMᐸCacheᜧᑁR{D~RᙠḄBean=MḄᦪ}6᪷MRUᡈNRUd6=MᙠvwxvwH᝱h6vwqᑴ3ᡝeᵨEJB=Mbcd6᝞&EJBObjectᨵ&ḄBean=MᑣkᐸxvwBeanR{JXfᑡᓄqᑴR=M¡Jvw¢=M஺H᝱£¤;eᵨ&ḄejbActiveejbPassivatecd஺5ஹremote45home45⌕¥ᵨremote45¦bcd6ᵨOEJBᡝeᵨbcd

88home453EJB§ᔆᵨO[\◀©ªEJB=M6ஹeᵨEJBḄ8«¬®Pஹ]^JNDI§ᔆ~¯JNDIᙢᙬ,-²ឋ³ஹ©ªHome45ஹkHome45eᵨCreatecd[\Remote45´ஹXfRemote45eᵨᐸbcdµஹᦪ¶1ஹRfgḄ·ᑏ2ஹ«¬ḄSQL¹º»ஹweblogic1ஹ᝞¼½weblogicᢣᜧḄᑁR¿ᙠÀBWeblogicḄÁ¬{JÂOᡠᙠDomian&ᘤÄÅ`ḄstartServerName,ÆÇ

89setMEM_ARGS=-Xms32m-Xmx200m,D~e᦮ᨬᑁRF32M,ᨬᜧ200M2ஹ᝞¼]ḄweblogicḄÊÀBËÌJ#ËÌÍÎÏËÌ?D~ᙠᳮÑᑴÒ{Óᦋ&ᘤḄÀBËÌF#ᡈÎËÌhP஺ᡈὅÓᦋḄÀBᦻÕᡈὅcommenvᦻÕ6ÆÇsetPRODUCTION_MODE=trueo3ஹ᝞¼ÀBj◤×ᐭᵨᡝÙÍÚṹ?ÓᦋÀBᦻÕ6ÆÇWLSJJSERWLS_PW⚗஺ÜD~ᙠboot.propertiesᦻÕ{ÆÇÇÚfḄᵨᡝÙÚṹ.4ஹᙠweblogicᳮᑴÒ{•&ᵨßJᡈὅà3■•âã,Domainåjms¯ejbᡈæ4Vçᐵé@åê^i6=▭yRᙠìíᦻÕ{¿yRᙠ¢DomainḄconfig.xmlᦻÕ{6î3ᘤḄ᪶ðê^ᦻÕ஺5ஹààweblogic{PDomainḄñḕÄÅó᪀¿õ᝞⌕öP÷ᓫḄhelloWorld.jspùᐭ¼ÄÅ`,ᯠḄᙠûüᘤ_ýDᡭᐭhttp://q://helloword.jspᑮ᝞ᐸᵨᑮᑏḄjavaBean᝞Domain,!"ᘤ'applications,$%ᵨ&ᙠ()$*+%ᵨ,-.᝞/Web%ᵨ.%ᵨ◤⌕23Web%ᵨ⌕4.jspᦻ678&ᙠ%ᵨ.Javabean◤⌕&ᙠ%ᵨḄWEB-INFḄclasses.9:!"ᘤḄ;ḕ%ᵨ$=>ᙠ?@ᘤAB◤Cᐭ%ᵨE஺

906ஹ᝞IᙠweblogicJKLMḄEJB?NᵨOᳮQᑴS.ᙠTḄDeploymentIᡠᨵJLMḄEJB7ஹ᝞ᙠweblogicWsslX:YZᡝḄ\]X:ᡈ__j2ee`᪗bcWsslḄX:;ḕdeNᵨDemoldentity.jksfDemoTrust.jksKeyStore=>SSL,◤⌕X:!"ᘤNᵨEnableSSL,X:ᐸ.ᙠghij)◤⌕kCAlmnᨵopfᦪr]s.tuidentityftrustkeystore,evlwḄopfᦪr]s஺X:(SSLx8/ᓫᔣ{/|ᔣḄ஺8ஹᙠweblogicLMejb◤}~ᑮX:ᦻ6ḄEJB}~ḄX:ᦻ6.}~ᑮḄX:ᦻ6ᒹejb-jar.xml,weblogic-ejb-jar.xmlCMP=Bean——{◤⌕weblogic-cmp-rdbms-jar.xml9ஹEJB◤78=>TḄ"8ᡈHome8ᔩ.ᳮᵫ.8fHome8◤⌕78=>.Ḅ=>ṹ/ᵫ!"ᘤgḄ.%=>*+%8Ḅ=Nᵨ஺10ஹ__ᙠweblogicLBean¡ḄpersistentYnon-persistenḄ¢£persistent¤jḄMDB¥]¦⌴Ḅ*ឋ.ª/᝞EJB«ᘤ¬>-⚪®,JMS!"ᘤ¯ᯠ$ᙠ(MDBᵨḄ¡᎛L〈³ᩭ,®non-persistent¤jḄ$µ¶஺

9111ஹ__·ᡠ¸៉ᡈº_³Ḅj2eeḄ»¼½ᵨij?~9¿ijḄÀSessionFacadePatternÁNᵨSessionBean,-EntityBeanMessageFacadePatternÁ=>ÂÃÄᵨEJBCommandPatternÁNᵨCommandJavaBeansmSessionBean,=>ÅÆÇ,-DataTransferObjectFactoryÁȳDTOFactoryᓄEntityBeanᦪÊËÌᱯឋGenericAttributeAccessÁȳAttibuteAccess8ᓄEntityBeanᦪÊËÌᱯឋBusinessInterfaceÁȳ`Îᙢc8fBean=>Ð8Ñ"ÓÔÕឋEJBÖ᪀Ḅ9¿ØÙ$78ÚÛÜÝḄឋÞஹ᡽àឋஹáâឋஹã6äᵨឋ~Lᦔ᳛஺⚗èéᩖ.⚗ëìèíᜧᑣèÞ>ðØ9¿Ḅä⌕ឋ2004-12-2617:16:18bibiyeñÇÁOᳮᕒᦻóÁ1355ôᑖÁ13155ö÷Á2004-12-1ø2ù

921ஹJSPú᝱INCLUDEY☟᝱INCLUDEḄý£þÁú᝱INCLUDEᵨjsp:includeú*=>ᡠᦻḄᓄ〉ᔠᵨᒹ᝱⚓☢ᦪ☟᝱INCLUDEᵨinclude!ṹ#$%&ᡠᦻḄᓄ〉ᵨᒹ☟᝱⚓☢<%@includefile=nincluded.htm"%>2ஹ()*+,-ᑖ/01?ᨵ014/567ᨵ()ᑖ/879ὅ⚓☢&+ᔣincludeᡠᢣḄ⚓☢=>?@⚓ḄABC⚓☢DEᩭḄ⚓☢஺᡻IJKDLᩭMNOᦪPᵨ஺ᦪ.KὅJᐰ+ᔣS⚓☢&TLᩭ஺MNgotoUV஺3ஹJAVASERVLETAPIforward஺Xredirect஺Ḅ4/56:9ὅZ[ᘤ]ᑴᩗḄ+ᔣᙠaᡝcdeᘤᙢᙬh&>?i+ᔣKḄᙢᙬjKὅᑣJᐰḄ*+deᘤlmᑮ*+ḄᙢᙬoSp〈rstu஺v᪵xdeᘤḄᙢᙬhyᑮ*+KḄtuᙢᙬ஺ᡠ9ὅz{|ᦔᙠ9ὅ~◤⌕ᵨforward஺,v᪵ᨵ◚#▭Ḅtu஺ᙠᨵ᝞◤⌕*+ᑮᐸᘤᓃḄᑣᵨsendRedirect஺,஺4ஹᵨJAVA᪆XMLḄ,-.6:ᵨSAX,-᪆XML,XMLᦻ᝞7vname>¡¢£¤¥▾6258113vnotes>ᵱ,1955¨©,«¬95¨Pᐭ®ᓭᜧ¥±LP²SAXHandler.javaimportjava.io.*;importjava.util.Hashtable;importorg.xml.sax.*;publicclassSAXHandlerextendsHandlerBaseprivateHashtabletable=newHashtable();privateStringcurrentElement=null;privateStringcurrentValue=null;

93publicvoidsetTable(Hashtabletable)(this.table=table;)publicHashtablegetTable(){returntable;}publicvoidstartElement(Stringtag,AttributeListattrs)throwsSAXException(currentElement=tag;)publicvoidcharacters(char[]ch,intstart,intlength)throwsSAXException(currentValue=newString(ch,start,length);)publicvoidendElement(Stringname)throwsSAXException(if(currentElement.equals(name))table.put(currentElement,currentValue);))JSPᑁ[>?ṹ,SaxXml.jsp:ᒈ᪆XMLᦻpeople.xml<%@pageerrorPage="ErrPage.jsp"contentType=Mtext/html;charset=GB2312"%><%@pageimport=njava.io.*n%><%@pageimport="java.utiLHashtable"%><%@pageimport=norg.w3c.dom.*M%><%@pageimport=,,org.xml.sax.*"%><%@pageimport="javax.xml.parsers.SAXParserFactory"%><%@pageimport=Hjavax.xml.parsers.SAXParser"%><%@pageimport="SAXHandler"%><%Filefile=newFile(,'c:\\people.xmr,);FileReaderreader=newFileReader(file);Parserparser;SAXParserFactoryspf=SAXParserFactory.newInstance();

94SAXParsersp=spf.newSAXParser();SAXHandlerhandler=newSAXHandler();sp.parse(newInputSource(reader),handler);HashtablehashTable=handler.getTable();out.println("ᦟ¶£¤⊤");out.println("vTR>vTD>¸¹"+""+(String)hashTable.get(newStringC'name"))+,',');out.println(NTR>¥▾"+"U+(String)hashTable.get(newString(,,college**))+nn);out.prinlln("vTR>ᵯ»v/TD>"+"n+(String)hashTable.get(newString(ntelephone"))+"")jout.println(”vTR>vTD>ᜓ½v/TD>"+"n+(String)hashTable.get(newStringC'nctes'1))+H");out.println("n);%>Others:1.ᡭᓺiᡠᨵ@ÁÂḄᦻÃᦻᜳFilemyFileName=newFile(”ÅᦻᜳÆ“);if(myFileName.isDirectoryO){StringdirContents[]=myFileName.list();for(inti=0;i

95u);2.[ᘤ7ᐙNËḄÌ⁐WEB[ᘤ7ÎᜐᐸḄÐᵨÑÒ(JSP,SERVLET)ÔÕÖ᛻JSP,SERVLETØuz[ᘤḄÖ᛻uÙÚÛ&ᐵ½ᐸÝÞß⚪஺C⌕ᨵWEBᘤᩭ#$஺á᝞7TOMCAT.WEBLOGIC,WEBSPHEREâ஺@[ᘤÔÕḄuÙãä⍳æJ2EEçḄWEB APPLICATION᪗ê஺ᡃìí⍳æî᪗êḄWEBᘤïðñJ2EEḄWEB[ᘤ஺EJB[ᘤ7Enterprise java bean[ᘤ஺zᐹᨵI'⚞õᱯ⁐஺÷ÔÕÎøIᙠᐸḄÒEJBᔜ)úᳮüý஺=⌕~J2EEçḄEJBþᐭ@[ᘤÿᘤᦔ᳛Ḅᳮ஺ᡂḄᩭḄ!஺"᝞$%!ஹ'!ᳮ஺

96WEBᘤ)EJBᘤᙠ+ᳮ,ᜧ./0Ḅ123Ḅ4,◞6Ḅ᜜89᛻஺WEBᘤ23Ḅ,;<=HTTPḄ>?ᡭA⍝஺CEJBᘤD,஺E,23Ḅ;ᦪGHஹᐸE!ᡭA⍝஺JKLM,NO᜜8ḄAPQRCSTUᵨWXḄYZ஺"᝞SERVLETDᵨᐵ\HTTPḄ]⁚1_`ᵨ9᛻absession,request,responseஹEJBDᵨᐵ\ᦪGHcdeஹᔜg'!hᑴ1_ᵫᘤᩭkᡂ஺Javalmn⚪p┶-ᩭsSuntuvwx1ஹn:᝞z{|Java2QDK1.2Ḅ9᛻ab?~Java21◤⌕{|PATH)JAVA_HOME9᛻ab.OJDK1.1D0Ḅ,:{|JAVA_HOME9᛻ab,JVMsHᵨᡝḄ.Java29᛻abḄ{|᝞"ᡠSolarissetenvJAVA_HOMEJava2ḄsetenvPATH$JAVA_HOME/bin:${PATH}WindowssetJAVA_HOME=Java2ḄsetPATH=$JAVA_HOMEbin;%PATH%2ஹnJavapᡂᐹᢝJava2?~¡ḄJavapᡂ9᛻1᝞InpriseḄJBuilder,SymantecḄVisualCafe,SybaseḄPowerJ,MᢝJava2.3ஹn᝞¢ᙠNetscapeᡈIE¤¥ᘤt¦Javaapplet§¨©┯«1᝞z¬┯«¯°~javaappletᙠ¤¥ᘤt¦§,±ᵨḄ,¤¥ᘤ²³Ḅ´ḕJVM.CD0¤¥ᘤ¶JDKḄᢝWe·D¸/0.¹º1ᙠNetscapeᡈIE¤¥ᘤt¦Javaapplet¨©┯«,»¼±ᵨJDK½¾ḄᐹappletviewerᡈSun¿ÀḄHotjava¤¥ᘤᩭÁÂÃapplet,¬┯«ḄÄÅ,O¤¥ᘤ/ᐵ.᝞¢appletᙠappletviewerᡈHotjavat¦ÆᑗÈl1ᑣ┯«ḄÄÅ,ᵫ=¤¥ᘤDkᐰËJDKC`ÌḄ.º§,ÍÎwÏ,±ᵨHotjava¤¥ᘤᡈὅSun¿ÀḄJavaPlugin.᝞¢appletᙠHotjava¤¥ᘤᡈappletviewert¦ᓽÅ┯«1ᑣU᪷G┯«½ÓÔappletWX.4ஹnᵨJDBCᔣᦪGHtÖᐭᦪGᡈRᦪGHt½ØᦪG§1Ùzᨵ§tᦻÜÝÞÙßṹ°~áân⚪ḄQlᔜâJDBCdriverḄQᨵᐵ.ᜧ3ᦪJDBCdriverãᵨ²ᙢåṹæçᩭèétᦻÜÝ,"᝞tᦻÜÝ"0x4175"êᡂ”0x41")"0x75"èé.¹ºᡃL◤⌕¶JDBCdriverìíḄÜÝ⌕îJDBCdriverḄÜÝêᣚ.

97ᵨJDBCdriverᔣᦪGHtÖᐭᦪG§1◤⌕ᐜUnicodeêᡂnativecode;JDBCdriverRᦪGHtÔñᦪG§1ᑣ◤⌕nativecodeêᣚᡂUnicode.☢áógêᣚḄQStringnative2Unicode(Strings){if(s==nullIIs.length()==0){returnnull;)byte[]buffer=newbyte[s.length()];for(inti=0;is.length();i++){if(s.charAt(i)>=0x100){c=s.charAt(i);byte[]buf=(MH+c).getBytes();buffer[j++]=(char)buf[0];buffer[j++]=(char)buf[l];)else{buffer[j+4-l=s.charAt(i);))returnnewString(buffer,0,j);)◀±ᵨóâwÏõ᜜1ᨵJDBCdriver᝞¢¶jdbcdriverManager{|©È¬ḄÜÝpöឋ12âwÏD◤⌕©.

985ஹnᵨServletᩭᜐᳮhltp>?ÄÅìíḄHTML⚓☢§1᝞z±HTML⚓☢tḄtᦻÜÝúûÈlÞ°~javax.servlet.http.HttpResponseᵨ=ÄÅìí⚓☢.HttpResponseüḄwÏgetOutputStream()ServletOutputStreamḄQ"1á᪵ᵨᡝᑭᵨServletOutputStream.writewÏᔣ騡tᑏᐭ⚓☢Ḅᑁ.ServletOutputStreamᵨḄḕḄṹ᝞⌕⚓☢Ḅᦻ!ᨬ#!ᙢᢣ&ᡠᵨḄṹ.(◤⌕᪀⌼,-OutpulStreamWriier,./᝞01publicvoiddoGet(HttpServietRequestreq,HttpServletResponseres)throwsServletException,lOExceptionres.setContentType("text/html");ServletOutputStreamout=res.getOutputStream();OutputStreamWriterow=newOutputStreamWriter(out,"GB2312n);ow.write("456");ow.flush();ow.closeQ;691᝞:;

997ஹ91bcdᙠWindowsefgᵨNaming.lookupᩭijk/RMIlmWno᠒BC1qᘤḄst;

1009ஹ91Swing³AJListḄᑡ⊤ᦪ·\ᦋ[᝞:(¸JListᦋK!BC1JList³Aᨵ,-ᓫºḄ!»ListModelᩭ⊤!JListḄ!ᦪ·.JList¼½=¾JListᦪ·ᐗÀḄÁᦪ·ᐗÀḄᦪLH=V᝱ᙢᦋK.JListᙠḄᦪ·»ListModelÃÄᦪ·ḄᦋK.,-ListModelḄvᙠÅÆᦪ·{|ᦋKW(¸ÇAḄÈÉὅ.ᵨ᪀⌼ËᦪJList(Object[])¼½,-JListḄ.WÌÍOYV¼½,-DefaultListModelḄ.ᩭÎÏJListḄ!ᦪ·H=NᵨDefaultListModel&ÐḄѨGᩭV᝱ᙢ\ᦋJListḄᦪ·᝞removeElementAt(index),addElement(Object)Ò.DefaultListModelᙠ\ᦋᦪ·ḄÓW,O(¸JListᐵÕᦪ·ḄᦋK.10ஹ91ᙠJavaapplet᝞:,-»lÖ᪾BC1ᙠJavaØplet»lÖ᪾ḄᐵÙÚᙠ¼½,-lÖ᪾ḄW᎛⌕bylÖ᪾ᢣ&•-vḄ᱄Þß.bAppletPanel}Ḅà}uH=áblÖ᪾Ḅ᱄Þßᡠ=✌ᐜ⌕iâappletᡠᙠḄÞßáb»lÖ᪾Ḅ᱄Þß.᪵.±ṹ᝞01Dialogd=newDialog(getParentWindow(comp),title);//compbappletgḄãä,-³ApublicvoidgetParentWindow(ComponentcompOnApplet,Stringtitle){Containerc=compOnApplet.getParent();while(c!=null){if(cinstanceofFrame)return(Frame)c;c=c.getParent();

101returnnull;å1191ᙠJavaapplet᝞:!æ᜜,-HTML⚓☢BC1(çjava.applet.Applet.getAppletContext஺GH=iâéyappletêᐵḄAppletContext,AppletContext.showDocumentURLGÚH=appletᡠᙠḄëìᘤ!æ᜜••-s⚓.12ஹ91ᵨJDKḄíaapplet,HᔲᙠNetscapeᡈIEïðBC1ᵨJDKḄíaapplet,uH=ᙠNetscapeᡈIEïðH=ᙠHotjavaëìᘤïð.uÓḄëìᘤñò[uÓḄíaappletqᑴ᝞Netscapeñò[zigbertôᐹCapabilityAPI,IEᑣ◤⌕ᵨCABᦻA.÷øNetscapeôᐹù|Ḅíaapplet,úᵨIEù|Ḅíaapplet,ûuH=ᙠᐸḄëìᘤïð.᝞⌕JDKù|ḄíaappletᙠNetscapeᡈIEïðýþGᙠNetscapeᡈIEÿJavaPlugin,ᑣᵨJDKḄappletᙠᘤ.13ஹ:ᵨJNIᢈJavaᵨᵨC!"#᝞%&'Cᵨ(᜜ḄC*+,᝞-./0JavaᵨḄCC11◤⌕ᵨ(᜜!/CC2,45ᙠ67C1Ḅ8᎛:ὶ<C2,=>᝞?Solaris@AB,6ᑏᵨCḄJavaᦻE!F67.javacjavaᦻEGHCᜮᦻEjavah-jnijavaᦻEJKLMN.java6ᑏ0JavaᵨḄCCl.c,O0C1ᵨḄC2.c,F67.cc-G-lincludePQC2.c-olibC2.socc-G-lincludePQ-1C2C1.c-olibCl.so

102STU᛻WXsetenvLD_LIBRARY_PATHlibCl.so,libC2.soᡠᙠPQ:${LD.LIBRARY_PATH}javaᵨ14ஹ,ᙠJavaZ[!᝞%ᑡ]PC^ᦻE_`Ḅᡠᨵbcᘤ*+,ᙠJava2᱐eJava.ioᒹḄFileghijklmlistRoots஺.op.15ஹ,qr5Runtime.exec(“ls")sᨵt%u]*+,ᵨRuntime.execlmvGH•/eᙢḄy,F{|•/Process}gḄ~!'~ᵨᑴyᡈyḄᐵ.ᵫᵨRuntime.execlmᡠḄ}ysᨵḄᡈᑴA!'}yḄ᪗10(᝞stdin,stdou,stderr)Process.getOutputStream(),Process.getInputStream(),Process.getErrorStream஺lmᔣḄ᱄yk.ᵨᡝ◤⌕ᵨstreamᩭᔣ}yuᐭᦪ¢ᡈ£}yḄu].ᡠ¤¥᡻Runtime.exec(Ts")Ḅ~᝞?,tryprocess=Runtime.getRuntime().exec(command);InputStreamReaderir=newInputStreamReader(process.getInputStream());LineNumberReaderinput=newLineNumberReader(ir);Stringline;while((line=input.readLine())!=null)System.out.println(line);

103catch(java.io.IOExceptione){System.err.println("lOException”+e.getMessage());)16>,᝞%GHapplet,&appletp§¨eᙢ©ª*+,ᙠjdkl.l!&ᵨjavakey«¬ᩭGH®!¯®!°±²ḄjarᦻE!³´©ᧇ¶·ὃ:http://java.sun.com/security/usingJavakey.html¹java2º^ᑴ»k¼½ᜧḄᦋy,ᐕÁᵨᡝÂᮣÄᙢSTÅᐰᩗ▲Java2ÉÊkË/Ìᐹ:keytool,policytool²jarsignerᩭapplet.~᝞,Joe6ᑏk./applet:SignedApplet.java,45GH./ÎᓫḄappletḄ᝞?,஻GHÑ®!Ñ®Òqjoe,Ó¬qsignl2,ÔÕᙠÑ®joestorekeytool-genkey-aliasjoe-keypasssign12-keystorejoestore஻vSignedApplet.classOᐵᦻEᡭᒹᡂjarᦻEjarcvfSignedAppletDemo.jar஻ᑭᵨkeytoolHᡂḄḄ°±GHapplet(jarᦻE)jarsigner-keystorejoestore-signedjarjoe.jarSignedAppletDemo.jarjoe஻v°±keystoreu]ᑮᦻEkeytool-export-keystorejoestore-aliasjoe-filejoe.cer¹ºappletḄ<ÛlSusan,◤⌕᝞?=>ᩭÅᐰᙢ᡻Joe6ᑏḄÜplet:஻ÝljJoeḄ°±FvÞßᐭᑮÑ®susanstorekeytool-import-aliasjoe-filejoe.cer-keystoresusanstore

104஻policytoolGHàáSusan⌕âḄpolicyᦻEpolicytool஻ᵨappletviewerÞ!ᡈᙠᘤÅjavapluginᩭÞ.ᐵappletᙠJavaPluginḄã䶷ὃ?å⚓,http://java.sun.com/security/signExample12/ç:èḄ~}qÎᓫéê!&ᵨkkeytoolGHḄ°±.ᐸ!ᵨᡝì&ᵨkeytool-certreqᔣᖪஹìCAîᵭ¶ᵯ}°±.17ஹ,ñObjectOutputStreamᔣ./ᦻEòóôjlõᑏᐭobject,qr5ᵨObjectlnputStreamßobject8öGHStreamCorruptedException?+,&ᵨ÷ḕḄserializetionḄ8!./ObjectOutputStreamḄ᪀⌼²./ObjectlnputStreamḄ᪀⌼ûü..º.ObjectOutputStreamḄ᪀⌼ýᦪöᔣu]þᑏᐭ./᪗ÿᜮObjectlnputStream✌ᐜᐭ᪗ᜮ.ᔣ•ᦻᑏᐭobject,ᦻᒹ!᪗ᜮ.ᡠᵨObjectlnputStreamᩭdeserializeObjectOutputStream,%&StreamCorruptedException.•'()*+,᪀⌼•ObjectOutputStreamḄ01,2⌚4writeStreamHeader஺*.6⌚47ḄwriteStreamHeader()*8ᑨ:+ᔲ<✌ᔣᦻᑏᐭobject=?ᑣ@ᵨsuper.writeStreamHeader();Aᔲᓽᑏᐭobject,ᑣ8@ᵨObjectOutputStream.reset஺*.18ஹEFGHḄIᑡᓄ(serialization)1+☢ᔣMḄ8᝞OGHᑏᐭᑮQRSTᦻUVFWXYᨵ[\Ḅ*,GHᑏᐭᑮQRSTᦻ.]+,^ᵨByteArray_ᐭ/_aMb<cᩭᔣQRSTᦻᑏᐭᡈeQRSTᦻaf⁚2h,ᑭᵨf⁚MᩭjkGH_ᐭ/_aMᵨlᑏGH.◤⌕opḄ+ᙠf⁚M⌕ᒹ!rs᦮ḄGHᔲᑣᑏGHu&┯w.xinJava.io.ByteArrayOutputStreamyzᵨl{TObjectOutputStreamḄf⁚Me,|}Ubyte

105ᦪ2,ᑏᐭᑮQRSTᦻ.ᡃ,eQRSTᦻaf⁚ᦪᑭᵨ,᪀⌼ByteArraylnputStream,᪀⌼aObjectlnputStream,TGH.19>EFRMI8ᵨ,,frmiregistry,+eIUVF,.java.rmiᒹ1java.rmi.regislry.LocateRegistry,ᵨl{Tfᡈjkf.@ᵨLocateRegistry.createRegistry(intport)*,ᙠrᱯyjkfeᵨᡝ◤rmiregistry.jht^F,LocateRegistry.getRegistry(Stringhostjntport)*,ᵨl{Tf.20ஹEF^ᵨ1PrinJobᡭᓺb,8᝞OᡭᓺR¡ᡭᓺ¢ឋUVF^ᵨ᝞¤*,{|PrintJobḄ¥xᵨl¦ᑴᡭᓺbFToolkit.getPrintJob(Framef,Stringjobtitle,Propertiesprop)¨©Glᡭᓺ¢ឋḄ,ª«GpropḄ¢ឋᩭ¥¬ᡭᓺ¢ឋᒹFawt.print.destination:,+“printer"ᡈ“file”awt.print.printer:ᡭᓺRawt.print.fileName:ᡭᓺᦻawt.print.numCopies:ᡭᓺ¯ᦪawt.print.options:ᡭᓺ°±Ḅᡭᓺ⌱⚗awt.print.orientation:ᡭᓺᔣ,,+“portrait"ᡈ"landscape”awt.print.paperSize:´µᜧ·yJ+"letter","legal","executive"ᡈ”a4”21ஹEFᙠJDK1.1Thread1¸suspend஺¹resume஺*,]+ᙠJDK1.2º»«8^ᵨ¼

106©*ᩭ½¾UVFThread.suspend¿À᧕l%&Â┝.᝞ÄrW᪗ÅGrᐵÇÈÉÊË┝b,ᯠ7Å6suspend,¨©◀ÎÅ6resume,ᔲᑣᐸÅÐ*ÑEÈÉÊË.᝞ÄÒ᜜rÅ@ᵨresume,^ÅÔÕᙠXÖ◤⌕ÑErÈÉÊË,ᑣ%&Â┝.ᙠJava2×ØMḄ+¸ÅḄÙ᝱ÛÜ2^W᪗ÅÝÞÙ᝱ÛÜßÙ᝱<àᢞÙ᝱,^ᵨwait஺*^ᜐl¡ãÙ᝱.rä◤⌕ÅÔÕᐸÅ@ᵨnotify஺*ᩭªå.22ஹEF^ᵨJDBCæ8᝞O¦ᑴçÄèResultSetḄᢣ┐^ëìí¤îïîᑮçÄèḄðr¹ᨬ7rUVFᙠJDKI.1,ResultSet1ò¸next஺*óᢝᦪõᢣ┐Ḅ¤î.]ᙠJava2,ResultSet1ö᝞¤*óᢝᦪõᢣ┐Ḅî,ᒹFResultSet.first஺:ᦪõᢣ┐îᑮçÄèḄðrResultSet.lastOFᦪõᢣ┐îᑮçÄèḄᨬ7rResultSet.previousOFᦪõᢣ┐íîríḄ*¸ᙠJDBC2.0ḄøᡠᨵóᢝJDBC2.0ḄJDBCúIÐ,óᢝíû*.WXIntersolv¹OpenLink¡JDBCúIᔆᖪᙳᨵ%ÿᢝJDBC2.0.23ஹWebServerᢝServlet?᝞IISᢝServlet?ᢝServletḄᘤ⌕ᨵSunḄJavaWebServer.LotusDominoGoWebServer.BEAweblogicTengahServer,Jigsaw,NetForge,AcmeServerMotBaysJetty.᜜,"#$%&ᔆᖪ)*+,Servletengine,-ᐸ/Webserver(᝞NetscapeWebServer,IIS)2345Servlet,᝞LiveSoftwareḄJrun(http://www.livesoftware.com/products(jrun/).24ஹ:᝞ᙠJava8ᵨ:;<=>?ᑮ<=ᦻB:C

107JavaAdvancedImagingAPIᒹEᙠJavaMediaAPI:FᐕHᙠJava8ᵨ:᡻5JᩖḄLឋ2Ḅ<=ᜐᳮ.JAIAPIPQ,>?<=Ḅ2R.JAIAPIᢝ-S.<=ᦻBTU:BMP,JEPGPNGPNM,TIFF.V☢XY,;<=>?ᑮBMPᦻBḄ•[\ṹOutputStreamos=newFileOutputStream(fileToWriteTo);BMPEncodeParamparam=newBMPEncodeParam();ImageEncoderenc=ImageCodec.createImageEncoder("BMP",os,param);enc.encode(img);os.close();ᨵᐵ>?<=ᦻBḄ_`ᢣᓭcdὃ-Vf⚓http://java.sun.com/products/java-media/jai/forDevelopers/jai-guide/25ஹ:᝞ᵨJavahiᔣklmᑏᦪpCfont>SunḄJavaCommunicationAPI2.0qᵨrmᑏkl/ᢝRS232klIEEE1284slPQ,"tuvwᐵḄk/slyz{ᑴ.postedon2006-07-1810:32}~▅m(1626)(2)_ᦈᡠᑖFeedBack:#re:ᦈḄJAVA☢⚪ᜧᐰ2006-07-1810:331}http://community.csdn.net/Expert/topic/4295/4295702.xml?temp=.5789759ᜧ#⚪)H-☢ᨵ1.☢ᔣḄᱯᨵ#&☢C¡¢ឋ£᝱ឋ¥¦ឋ

1082.JSPḄ§ᵨᑁ©ªᒹ«#C3.Integer¬᪵¦ᣚᡂint±C4஺cᙠweblogicV᝞³᦮Ḅµ¶:ᦻ⚪C1)ᙠJSPᦻBᜮ¸ᐭ<%@pagecontentType="text/html;charset=GBKH%>ᢣº»JSP¼ᵨḄ½¾¿஺2)ᙠWeblogic.xmlᦻBḄ:¸ᐭencodingGBKᢣºJSPᦻB:¼ᵨḄ½¾¿ᙠJSPᦻB:Ḅ<%@pagecontentType=utext/html;charset=GBKn%>Â⌚Ļũ3)ᙠWeblogic.xmlᦻBḄvjsp-descriptor>:¸ᐭcompilerSupportsEncodingtrue᝞ÆÇTRUE,ᢣºᙠ_ÈJSPᦻBɼᵨᙠJSPᦻB:ºÊḄ<%@pagecontentType=ntext/html;charset=GBKH%>ᡈ:ºÊḄencodingdᦪ:ºÊḄ½¾¿Ì5_ṹÍ᝞ÆÇFALSE,ᑣ¼ᵨJVM:ÏÐᢣºḄ½¾¿Ì5_ṹ஺5.ѽ[ᨵ10ᩩÓJÔÕcÖ8⊤:ḄÔÕØÙYᩭC⊤Ûappeal_base_info½[appeal_type(number)SELECT*formappeal_base_infowhereappeal_typein(selectappeal_typefromappeal_base_infogroupbyappeal_typehavingcount(appeal_type)=10)6.•Ü⊤•ÜÝ⊤,c;ÞÜ⊤ḄᡠᨵÔÕØÙYᩭC⊤appeal_base_infoß:base_id(number)⊤appeal_person_infoß:person_id(number)᜛Sßbase_id(number)select*fromappeal_base_info,appeal_person_infowhereappeal_base_info.base_id=appeal_person_info.base_id

1097.Þáint±Ḅ᦮ᦪâãä$3&åæÌ5çᣚC᝞a=10b=5èᣚa=5b=10&é"ஹa=a+b;b=a-b;a=a-b;&éêஹa=a+b«16;//bëᑮ,aḄL16ìb=(a&0XFFFF0000)»16஻Öaëᑮ,aḄL16ìa=a&OxOOOOffff;&é%ஹaA=b;bA=a;aA=b;8.᣸┯⚪1.publicBaseVOgetAll(Stringid)ᵫrowsSQLException{PreparedStatementps=null;BaseVbvo=null;ResultSetrs=null;Listlist=null;Stringsql="select*frombase_infowhereid="+id1';ps=dbConnection.prepareStatement(sql);try(rs=ps.executeQuery();if(rs.next()){vo=fillVO(rs);))catch(SQLExceptione){throwe;)finally{closeDBObject(ps,rs);returnvo;))2.publicbooleancompare(Stringstr,Listlist){

110list=newArrayList();intlen=list.size();booleanb=false;fbr(inti=0;iendtrueyyyy-mm-ddhh:ssᨵnullḄᩩᵨjavascript.10.ᙠ⚓☢ᨵ•᪾,◤⌕"Ḽᦪ%&Ḅ'ᓄ)*᝱'ᓄ,-./ᡠ1⍝Ḅ3,45ᐹ789.aஹ;✌⚓@᪵B,⚓☢•᪾CDEᙠ,FGᑵI᪾CḄJᑖ,᝞csdnᑵIḄ;LMᵨᡝO᝱P஺bஹR␺.netḄ3T,U⚓☢O᝱VWṹḄ3EYᙠformZ,[ᦪ%&\]'ᓄG,^=ᵨᡝMᔲ`ᡂ⊤ᓫWd⚓☢efghijk,lM^hiᜐᳮ,Lᨵ⌕'ᓄḄ᪾ḄO᝱h\]'ᓄ,ᐸpḄqUrWṹq,4sEtᨵḄO᝱஺Wᑏvwxyz{Ḅ|ᦪ,}ᐭvwz{z⁚ᦪ,}ᢥz⁚xyḄz{,lM⌕sz^ixw,᝞“ᡃABC”,4,x“ᡃAB”,}ᐭ“ᡃABCDEF”,6,x“ᡃABC”,)^M“ᡃABC+Ḅv”publicclassCutString{publicstaticvoidmain(Stringargs[J){

111Stringstr="ᡃJAVA:)”for(inti=O;iv=str.length();i++){஻ᡭᓺSystem.out.println(cutString(str,i))))publicstaticStringcutString(Strings,intlen){byte[]sb=s.getBytes();booleanb=true;for(inti=0;i127)n-)returnstr.substring(O,n);vz{,᝞abcdd,ᡠᨵḄzᔠ(᝞abacadddd.......)!publicclassGenCombination(charnumfl;publicGenCombination(inti,char[]ia){num=newchar[i];for(intj=O;j

112publicintgetCombination(intn,intm){if(n=SecondParam");return0;)System.out.println("get"+m+ucharfrom"+n+"char:u);intnumOfResult=0;charresult[][]=newcharf100][];inta;a=newint[m+l];intij;for(i=l;i<=m;i++)a[i]=i;for(;;)(result[numOfResult]=newchar[m];inth=0;for(i=li<=m;i++){result[numOfResult][h]=num[a[i]-l];h++;)for(intp=0;p=l;j-)if(a[j]

113,,+numOfResult4-nresult!

114

115");

116returnnumOfResult;)publicstaticvoidmain(Stringargs[])(Strings="abcddn;charca[]=s.toCharArray();GenCombinationgc=newGenCombination(s.length(),ca);for(inti=l;i<=s.length();i++)gc.getCombination(s.length(),i);1HashMapHashTableᨵ¡¢2ᦪ%&Zᨵ4ᦪ%ID(pri)(Auto)namepass1aaa1112bbb2223ccc333ᵨvᩩSQL£¤UᨵḄ¥ᩩ¦§¨ᑴv,ªᑮ4ḄᦔID(pri)(Auto)namepass1aaa1112bbb2223ccc3334aaa1115bbb2226ccc333¬ᵨvᩩsqlᑤ◀¯¨¦§°w⌕hotman_x°wsqlAᩭ²³,ᕣᕣ3ᙠµ¶ᘤ¸,¹vwjsp⚓☢Zºᑮ»᜜vwjsp⚓☢Zᨵ½¾3T?4ᦪ%&Z⊤À᪀᝞,ID(Pri)intnoint

117namevarcharbirthDayDateᵨjavaᑏvw|ᦪ,ᡠᨵ{ᔠᩩno=inta&name=str$birthdavy=dateḄÀÂᔠ5jspServletḄ¡¢ὶÄ6ÅÆvwᩗ▲ÉᳮÊË,ᑖa&bÌaḄvÍᵨᡝLryaḄtable,aZḄÉᳮᕒ4ÏaḄtableÐÑCRUDÒ᪵,bḄvÍᵨᡝLrybḄtable,bZḄÉᳮᕒ4ÏbḄtableÐÑCRUDÓÔÉᳮᕒ4Ïa&bḄlableÐÑCRUDᑏÕᑖÖṹ¨×ØÙ=#re:ᦈÛḄJAVA☢Ü⚪ᜧᐰ2006-07-3113:391àáâãäåhttp://www.blogjava.net/axyh/archive/2006/07/31/60946.html1.WhydoyoupreferJava?Answer:writeonce,runanywhere.2.Namesomeoftheclasseswhichprovidethefunctionalityofcollation?Answer:collator,rulebasedcollator,collationkey,collationelementiterator.3.Awtstandsfor?andwhatisit?Answer:AWTstandsforAbstractwindowtoolkit.Itisaisapackagethatprovidesanintegratedsetofclassestomanageuserinterfacecomponents.4.whyajavaprogramcannotdirectlycommunicatewithanODBCdriver?Answer:SinceODBCAPIiswritteninClanguageandmakesuseofpointerswhichJavacannotsupport.5.Areservletsplatformindependent?IfsoWhy?Alsowhatisthemostcommonapplicationofservlets?AnsweæYes,BecausetheyarewritteninJava.ThemostcommonapplicationofservletistoaccessdatabaseanddynamicallyconstructHTTPresponse6.WhatisaServlet?Answer:ServletsaremodulesofJavacodethatruninaserverapplication(hencethename"Servlets",similarto"Applets"ontheclientside)toanswerclientrequests.7.WhatadvantagesdoesCMOShaveoverTTL(transitortransitorlogic)?(ALCATEL)Answer:lowpowerdissipationpullsuptoraileasytointerface8.HowisJavaunlikeC++?(AskedbySun)SomelanguagefeaturesofC++havebeenremoved.StringmanipulationsinJavadonotallowforbufferoverflowsandothertypicalattacks.OS-specificcallsarenotadvised,butyoucanstillcallnativemethods.EverythingisaclassinJava.EverythingiscompiledtoJavabytecode,not

118executable(althoughthatispossiblewithcompilertools).9.WhatisHTML(HypertextMarkupLanguage)?HTML(HyperTextMarkupLanguage)isthesetof"markup"symbolsortagsinsertedinafileintendedfordisplayonaWorldWideWebbrowser.ThemarkuptellstheWebbrowserhowtodisplayaWebpage'swordsandimagesfortheuser.lO.Defineclass.Answer:Aclassdescribesasetofproperties(primitivesandobjects)andbehaviors(methods).1l.InJava,whatisthedifferencebetweenanInterfaceandanAbstractclass?A:AnAbstractclassdeclareshaveatleastoneinstancemethodthatisdeclaredabstractwhichwillbeimplementedbythesubclasses.Anabstractclasscanhaveinstancemethodsthatimplementadefaultbehavior.AnInterfacecanonlydeclareconstantsandinstancemethods,butcannotimplementdefaultbehavior.12.CanyouhavevirtualfunctionsinJava?YesorNo.Ifyes,thenwhatarevirtualfunctions?A:Yes,Javaclassfunctionsarevirtualbydefault.Virtualfunctionsarefunctionsofsubclassesthatcanbeinvokedfromareferencetotheirsuperclass.Inotherwords,thefunctionsoftheactualobjectarecalledwhenafunctionisinvokedonthereferencetothatobject.13.WriteafunctiontoreversealinkedlistpinC++?A:Link*reverse_list(Link*p)(if(p==NULL)returnNULL;Link*h=p;p=p->next;h->next=NULL;while(p!=null)(Link*t=p->next;p->next=h;h=p;p=t;)returnh;)14.1nC++,whatistheusefulnessofVirtualdestructors?A:Virtualdestructorsareneccessarytoreclaimmemorythatwereallocatedforobjectsintheclasshierarchy.Ifapointertoabaseclassobjectisdeleted,thenthecompilerguaranteesthevarioussubclassdestructorsarecalledinreverseorderoftheobjectconstructionchain.15.Whataremutexandsemaphore?Whatisthedifferencebetweenthem?A:Amutexisasynchronizationobjectthatallowsonlyoneprocessorthreadtoaccessacriticalcodeblock.Asemaphoreontheotherhandallowsoneormoreprocessesorthreadstoaccessacritialcodeblock.Asemaphoreisamultiplemutex.

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

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

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