java常见面试题集--面试题全面综合(一)

414950859

贡献于2011-11-08

字数:52859 关键词: 面试题目 试题 Apache C# C/C++

w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! ԰ᶤϾ㉏ⱘᅲ՟᭄᥂ᯊ᠔ᣛᅮⱘ㔎ⳕؐDŽᇍ䈵ᓩ⫼ᅲ՟ব䞣ⱘ㔎ⳕؐЎ nullˈ㗠ॳྟ㉏ൟᅲ՟ব䞣ⱘ㔎 ᔧᓩ⫼㉏ൟ੠ॳྟ㉏ൟ⫼ˈټ੠⫼⊩ˈᅗӀࣙᣀ˖໻ᇣ੠䗳ᑺ䯂乬ˈ䖭⾡㉏ൟҹા⾡㉏ൟⱘ᭄᥂㒧ᵘᄬ ᓩ⫼㉏ൟ੠ॳྟ㉏ൟⱘ㸠ЎᅠܼϡৠˈᑊϨᅗӀ݋᳝ϡৠⱘ䇁НDŽᓩ⫼㉏ൟ੠ॳྟ㉏ൟ݋᳝ϡৠⱘ⡍ᕕ doubleDouble floatFloat longLong intInteger shortShort byteByte charCharacter booleanBoolean ॳྟ㉏ൟᇕ㺙㉏ java Ў int ᦤկⱘᇕ㺙㉏DŽJava Ў↣Ͼॳྟ㉏ൟᦤկњᇕ㺙㉏DŽ Java ᦤկϸ⾡ϡৠⱘ㉏ൟ˖ᓩ⫼㉏ൟ੠ॳྟ㉏ൟ˄៪ݙ㕂㉏ൟ˅DŽInt ᰃ java ⱘॳྟ᭄᥂㉏ൟˈInteger ᰃ 3ǃint ੠ Integer ᳝ҔМऎ߿ ៥Ӏᑨ䆹⫼ StringBuffer ㉏ java.lang.String ㉏ᰃ final ㉏ൟⱘˈ಴ℸϡৃҹ㒻ᡓ䖭Ͼ㉏ǃϡ㛑ׂᬍ䖭Ͼ㉏DŽЎњᦤ催ᬜ⥛㡖ⳕぎ䯈ˈ ෎ᴀ᭄᥂㉏ൟࣙᣀ byteǃintǃcharǃlongǃfloatǃdoubleǃboolean ੠ shortDŽ 2ǃString ᰃ᳔෎ᴀⱘ᭄᥂㉏ൟ৫? њᑨ⫼⿟ᑣߑ᭄ৠৡ䯂乬DŽއ㿔݋᳝♉⌏ǃᢑ䈵ǃ㸠Ў݅ѿǃҷⷕ݅ѿⱘӬ࢓ˈᕜདⱘ㾷 䆌ϡৠ㉏ⱘᇍ䈵ᇍৠϔ⍜ᙃ԰ߎડᑨDŽ໮ᗕᗻࣙᣀখ᭄࣪໮ᗕᗻ੠ࣙ৿໮ᗕᗻDŽ໮ᗕᗻ䇁ܕ໮ᗕᗻᰃᣛ 4. ໮ᗕᗻ˖ े⦄ᅲϪ⬠ৃҹ㹿ᦣ㒬៤ϔ㋏߫ᅠܼ㞾⊏ǃᇕ㺙ⱘᇍ䈵ˈ䖭ѯᇍ䈵䗮䖛ϔϾফֱᡸⱘ᥹ষ䆓䯂݊Ҫᇍ䈵DŽ ᇕ㺙ᰃᡞ䖛⿟੠᭄᥂ࣙೈ䍋ᴹˈᇍ᭄᥂ⱘ䆓䯂া㛑䗮䖛ᏆᅮНⱘ⬠䴶DŽ䴶৥ᇍ䈵䅵ㅫྟѢ䖭Ͼ෎ᴀὖᗉˈ 3.ᇕ㺙˖ ᑊϨ㉏ৃҹׂᬍ៪๲ࡴᮄⱘᮍ⊩ՓП᳈䗖ড়⡍⅞ⱘ䳔㽕DŽ ⌒⫳㉏˄ᄤ㉏˅ˈ㗠ॳྟ㉏⿄Ўᮄ㉏ⱘ෎㉏˄⠊㉏˅DŽ⌒⫳㉏ৃҹҢᅗⱘ෎㉏䙷䞠㒻ᡓᮍ⊩੠ᅲ՟ব䞣ˈ ϔϾᮄ㉏ৃҹҢ⦄᳝ⱘ㉏Ё⌒⫳ˈ䖭Ͼ䖛⿟⿄Ў㉏㒻ᡓDŽᮄ㉏㒻ᡓњॳྟ㉏ⱘ⡍ᗻˈ ᮄ㉏⿄Ўॳྟ㉏ⱘ 䆌੠哧ࢅ㉏ⱘ䞡⫼ˈᅗᦤկњϔ⾡ᯢ⹂㸼䗄݅ᗻⱘᮍ⊩DŽᇍ䈵ⱘܕ㒻ᡓᰃϔ⾡㘨㒧㉏ⱘሖ⃵῵ൟˈᑊϨ 2.㒻ᡓ˖ ᢑ䈵ˈѠᰃ᭄᥂ᢑ䈵DŽ ᑊϡᠧㅫњ㾷ܼ䚼䯂乬ˈ㗠াᰃ䗝ᢽ݊Ёⱘϔ䚼ߚˈ᱖ᯊϡ⫼䚼ߚ㒚㡖DŽᢑ䈵ࣙᣀϸϾᮍ䴶ˈϔᰃ䖛⿟ ߚഄ⊼ᛣϢᔧࠡⳂ᳝ᷛ݇ⱘᮍ䴶DŽᢑ䈵ܙᢑ䈵ህᰃᗑ⬹ϔϾЏ乬ЁϢᔧࠡⳂᷛ᮴݇ⱘ䙷ѯᮍ䴶ˈҹ֓᳈ 1.ᢑ䈵˖ 1ǃ䴶৥ᇍ䈵ⱘ⡍ᕕ᳝ાѯᮍ䴶 w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! Server 䕗໮ⱘݙᄬˈ✊㗠 Stateful Session Bean ⱘӬ࢓ै೼ѢҪৃҹ㓈ᣕՓ⫼㗙ⱘ⢊ᗕDŽ ᮍ䴶ᴹⳟˈ Stateful Session BeanϢ Stateless Session Bean↨䕗ˈ Stateful Session BeanӮ⍜㗫 J2EE ⫼㗙೼ᠻ㸠ᶤϾ Stateless Session Beanⱘ methods ᯊˈӮᰃৠϔϾ Bean ⱘ Instance ೼ᠻ㸠DŽҢݙᄬ Container ᑊϡӮᡒᇏ⡍ᅮⱘ Stateless Session Beanⱘᅲԧᴹᠻ㸠䖭Ͼ methodDŽᤶ㿔Пˈᕜৃ㛑᭄ϾՓ 䘏䕥㒘ӊˈԚᰃҪैϡ䋳䋷䆄ᔩՓ⫼㗙⢊ᗕˈгህᰃ䇈ᔧՓ⫼㗙੐ি Stateless Session Bean ⱘᯊ׭ˈEJB 䗮ᐌᴹ䇈ˈϔϾՓ⫼㗙Ӯ᳝ϔϾⳌᇍᑨⱘ Stateful Session Bean ⱘᅲԧDŽStateless Session Bean 㱑✊гᰃ 䛑ৃҹᇚ㋏㒳䘏䕥ᬒ೼ methodПЁᠻ㸠ˈϡৠⱘᰃ Stateful Session Bean ৃҹ䆄ᔩ੐ি㗙ⱘ⢊ᗕˈ಴ℸ Session Bean 䖬ৃҹݡ㒚ߚЎ Stateful Session BeanϢ Stateless Session Beanˈ䖭ϸ⾡ⱘ Session Bean ᰃϔϾ⬅⦄᳝ӕϮᑨ⫼⿟ᑣᅲ⦄ⱘᅲԧDŽ ఼Ёⱘᅲԧⱘᇍ䈵㾚೒ˈ៪ټ೼ᣕЙᗻᄬټᇍѢᅶ᠋ᴎˈEntityBean ᰃϔ⾡ᣕЙᗻᇍ䈵ˈᅗҷ㸼ϔϾᄬ ᇍѢᅶ᠋ᴎˈSessionBean ᰃϔ⾡䴲ᣕЙᗻᇍ䈵ˈᅗᅲ⦄ᶤѯ೼᳡ࡵ఼Ϟ䖤㸠ⱘϮࡵ䘏䕥DŽ 㒘ӊDŽEntityBean 㹿⫼ᴹҷ㸼ᑨ⫼㋏㒳Ё⫼ࠄⱘ᭄᥂DŽ SessionBean ೼ J2EE ᑨ⫼⿟ᑣЁ㹿⫼ᴹᅠ៤ϔѯ᳡ࡵ఼ッⱘϮࡵ᪡԰ˈ՟བ䆓䯂᭄᥂ᑧǃ䇗⫼݊Ҫ EJB EJBࣙᣀ Session BeanǃEntity BeanǃMessage Driven Beanˈ෎Ѣ JNDIǃRMIǃJAT ㄝᡔᴃᅲ⦄DŽ ⱘऎ߿DŽ 8ǃEJB ᰃ෎Ѣાѯᡔᴃᅲ⦄ⱘ˛ᑊ䇈ߎ SessionBean ੠ EntityBean ⱘऎ߿ˈStatefulBean ੠ StatelessBean ࠡৢ乍ेৃˈ᠔ҹᦦܹ䗳ᑺ䕗ᖿDŽ ᣝᑣো㋶ᓩ᭄᥂䳔㽕䖯㸠ࠡ৥៪ৢ৥䘡ग़ˈԚᰃᦦ᭄ܹ᥂ᯊা䳔㽕䆄ᔩᴀ乍ⱘˈټՓ⫼ঠ৥䫒㸼ᅲ⦄ᄬ ᭄ܹ᥂᜶ˈVector ⬅ѢՓ⫼њ synchronized ᮍ⊩˄㒓⿟ᅝܼ˅ˈ䗮ᐌᗻ㛑Ϟ䕗 ArrayList Ꮒˈ㗠 LinkedList ㋴⿏ࡼㄝݙᄬ᪡԰ˈ᠔ҹ㋶ᓩ᭄᥂ᖿ㗠ᦦܗ㋴㽕⍝ঞ᭄㒘ܗ㋴ˈԚᰃᦦܹܗ䆌Ⳉ᥹ᣝᑣো㋶ᓩܕᅗӀ䛑 ㋴ˈܗⱘ᭄᥂ҹ֓๲ࡴ੠ᦦܹټ㋴᭄໻Ѣᅲ䰙ᄬܗ᭄᥂ˈℸ᭄㒘ټArrayList ੠ Vector 䛑ᰃՓ⫼᭄㒘ᮍᓣᄬ ᗻ㛑੠⡍ᗻټ7ǃ䇈ߎ ArrayList,Vector, LinkedList ⱘᄬ ᬜ⥛ϞԢѢ servletDŽ Ѣ໮Ͼ䇋∖ˈᑊϨ݊ᅲ՟ϔ㠀ϡӮ䫔↕ˈ㗠 CGI ᇍ↣Ͼ䇋∖䛑ѻ⫳ᮄⱘ䖯⿟ˈ᳡ࡵᅠ៤ৢህ䫔↕ˈ᠔ҹ Ϣ cgi ⱘऎ߿೼Ѣ servlet ໘Ѣ᳡ࡵ఼䖯⿟Ёˈᅗ䗮䖛໮㒓⿟ᮍᓣ䖤㸠݊ service ᮍ⊩ˈϔϾᅲ՟ৃҹ᳡ࡵ ⊩DŽ ᅮᇚᅲ՟䫔↕ⱘᯊ׭䇗⫼݊ destroy ᮍއ䖤㸠Ϣ䇋∖ᇍᑨⱘ doXXX ᮍ⊩˄doGetˈdoPost˅ㄝˈᔧ᳡ࡵ఼ Servlet 㹿᳡ࡵ఼ᅲ՟࣪ৢˈᆍ఼䖤㸠݊ init ᮍ⊩ˈ䇋∖ࠄ䖒ᯊ䖤㸠݊ service ᮍ⊩ˈservice ᮍ⊩㞾ࡼ⌒䘷 6ǃ䇈ߎ Servlet ⱘ⫳ੑ਼ᳳˈᑊ䇈ߎ Servlet ੠ CGI ⱘऎ߿DŽ ໄᯢᡯߎ᳾㹿ᤩ㦋ⱘ䖤㸠ᯊᓖᐌDŽ ᰃϔ⾡ᐌ㾕䖤㸠䫭䇃DŽjava 㓪䆥఼㽕∖ᮍ⊩ᖙ乏ໄᯢᡯߎৃ㛑থ⫳ⱘ䴲䖤㸠ᯊᓖᐌˈԚᰃᑊϡ㽕∖ᖙ乏 ᓖᐌ㸼⼎⿟ᑣ䖤㸠䖛⿟Ёৃ㛑ߎ⦄ⱘ䴲ℷᐌ⢊ᗕˈ䖤㸠ᯊᓖᐌ㸼⼎㰮ᢳᴎⱘ䗮ᐌ᪡԰Ёৃ㛑䘛ࠄⱘᓖᐌˈ 5ǃ䖤㸠ᯊᓖᐌϢϔ㠀ᓖᐌ᳝ԩᓖৠ˛ ᭄᥂DŽ 䘧ᄫヺ᭄᥂㽕ᬍবⱘᯊ׭ԴህৃҹՓ⫼ StringBufferDŽ݌ൟഄˈԴৃҹՓ⫼ StringBuffers ᴹࡼᗕᵘ䗴ᄫヺ ᥂DŽ䖭Ͼ String ㉏ᦤկњ᭄ؐϡৃᬍবⱘᄫヺІDŽ㗠䖭Ͼ StringBuffer ㉏ᦤկⱘᄫヺІ䖯㸠ׂᬍDŽᔧԴⶹ ᄬ੠᪡԰ᄫヺІˈेࣙ৿໮Ͼᄫヺⱘᄫヺ᭄ټJAVA ᑇৄᦤկњϸϾ㉏˖String ੠ StringBufferˈᅗӀৃҹ 4ǃString ੠ StringBuffer ⱘऎ߿ ⳕؐϢᅗӀⱘ㉏ൟ᳝݇DŽ w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! ϟⱘϔ⾡Ϲ䞡䯂乬DŽ↨བ䇈ݙᄬ⑶ߎDŽϡৃ㛑ᣛᳯ⿟ᑣ㛑໘⧚މerror 㸼⼎ᘶ໡ϡᰃϡৃ㛑Ԛᕜೄ䲒ⱘᚙ 15ǃerror ੠ exception ᳝ҔМऎ߿? ؐⱘ㉏ൟDŽ ৠⱘখ᭄Ͼ᭄៪᳝ϡৠⱘখ᭄㉏ൟˈ߭⿄Ўᮍ⊩ⱘ䞡䕑(Overloading)DŽOverloaded ⱘᮍ⊩ᰃৃҹᬍব䖨ಲ ᅮНˈᇍᅗ㗠㿔ˈ⠊㉏ЁⱘᅮНབৠ㹿“ሣ㬑“њDŽབᵰ೼ϔϾ㉏ЁᅮНњ໮Ͼৠৡⱘᮍ⊩ˈᅗӀ៪᳝ϡ ᳝Ⳍৠⱘৡ⿄੠খ᭄ˈ៥Ӏ䇈䆹ᮍ⊩㹿䞡ݭ (Overriding)DŽᄤ㉏ⱘᇍ䈵Փ⫼䖭Ͼᮍ⊩ᯊˈᇚ䇗⫼ᄤ㉏Ёⱘ ໮ᗕᗻⱘϔ⾡㸼⦄ˈ䞡䕑 Overloading ᰃϔϾ㉏Ё໮ᗕᗻⱘϔ⾡㸼⦄DŽབᵰ೼ᄤ㉏ЁᅮНᶤᮍ⊩Ϣ݊⠊㉏ ᮍ⊩ⱘ䞡ݭ Overriding ੠䞡䕑 Overloading ᰃ Java ໮ᗕᗻⱘϡৠ㸼⦄DŽ䞡ݭ Overriding ᰃ⠊㉏Ϣᄤ㉏П䯈 14ǃOverload ੠ Override ⱘऎ߿DŽOverloaded ⱘᮍ⊩ᰃ৺ৃҹᬍব䖨ಲؐⱘ㉏ൟ? ᗕDŽ ໛㦋ᕫᇍ䈵䫕䖯ܹ䖤㸠⢊ޚ∴া᳝䩜ᇍℸᇍ䈵থߎ notify ᮍ⊩˄៪ notifyAll˅ৢᴀ㒓⿟ᠡ䖯ܹᇍ䈵䫕ᅮ wait ᰃ Object ㉏ⱘᮍ⊩ˈᇍℸᇍ䈵䇗⫼ wait ᮍ⊩ᇐ㟈ᴀ㒓⿟ᬒᓗᇍ䈵䫕ˈ䖯ܹㄝᕙℸᇍ䈵ⱘㄝᕙ䫕ᅮ∴ˈ ⢊ᗕձ✊ֱᣕˈࠄᯊৢӮ㞾ࡼᘶ໡DŽ䇗⫼ sleep ϡӮ䞞ᬒᇍ䈵䫕DŽ ᠻ㸠ᣛᅮᯊ䯈ˈ㒭ᠻ㸠ᴎӮ㒭݊Ҫ㒓⿟ˈԚᰃⲥ᥻ذ sleepᰃ㒓⿟㉏˄Thread˅ⱘᮍ⊩ˈᇐ㟈ℸ㒓⿟᱖ 13ǃsleep() ੠ wait() ᳝ҔМऎ߿? ᦤկൗഒᬊ䲚ᯊⱘ݊Ҫ䌘⑤ಲᬊˈ՟བ݇䯁᭛ӊㄝDŽ finalize ᰃ Object ㉏ⱘϔϾᮍ⊩ˈ೼ൗഒᬊ䲚఼ᠻ㸠ⱘᯊ׭Ӯ䇗⫼㹿ಲᬊᇍ䈵ⱘℸᮍ⊩ˈৃҹ㽚Ⲫℸᮍ⊩ finally ᰃᓖᐌ໘⧚䇁হ㒧ᵘⱘϔ䚼ߚˈ㸼⼎ᘏᰃᠻ㸠DŽ final ⫼Ѣໄᯢሲᗻˈᮍ⊩੠㉏ˈߚ߿㸼⼎ሲᗻϡৃবˈᮍ⊩ϡৃ㽚Ⲫˈ㉏ϡৃ㒻ᡓDŽ 12ǃfinal, finally, finalize ⱘऎ߿DŽ Hashtable ੠ HashMap 䞛⫼ⱘ hash/rehash ㅫ⊩䛑໻ὖϔḋˈ᠔ҹᗻ㛑ϡӮ᳝ᕜ໻ⱘᏂᓖDŽ ϡ䳔㽕㞾ᏅЎᅗⱘᮍ⊩ᅲ⦄ৠℹˈ㗠 HashMap ህᖙ乏ЎПᦤկ໪ৠℹDŽ ᳔໻ⱘϡৠᰃˈHashtable ⱘᮍ⊩ᰃ Synchronize ⱘˈ㗠 HashMap ϡᰃˈ೼໮Ͼ㒓⿟䆓䯂 Hashtable ᯊˈ Hashtable 㒻ᡓ㞾 Dictionary ㉏ˈ㗠 HashMap ᰃ Java1.2 ᓩ䖯ⱘ Map interface ⱘϔϾᅲ⦄DŽ 䅽Ҏᓩ䍋䇃㾷DŽ HashMap ᡞ Hashtable ⱘ contains ᮍ⊩এᥝњˈᬍ៤ containsvalue ੠ containsKeyDŽ಴Ў contains ᮍ⊩ᆍᯧ 䆌DŽܕ䆌ᇚ null ԰ЎϔϾ entry ⱘ key ៪㗙 valueˈ㗠 Hashtable ϡܕ HashMap 䆌ぎ˄null˅䬂ؐ˄key˅,⬅Ѣ䴲㒓⿟ᅝܼˈᬜ⥛Ϟৃ㛑催Ѣ HashtableDŽܕ HashMap HashMapᰃ Hashtable ⱘ䕏䞣㑻ᅲ⦄˄䴲㒓⿟ᅝܼⱘᅲ⦄˅ˈҪӀ䛑ᅠ៤њ Map ᥹ষˈЏ㽕ऎ߿೼Ѣ 11ǃHashMap ੠ Hashtable ⱘऎ߿DŽ &ᰃԡ䖤ㅫヺˈ㸼⼎ᣝԡϢ䖤ㅫˈ&&ᰃ䘏䕥䖤ㅫヺˈ㸼⼎䘏䕥Ϣ˄and˅DŽ 10ǃ&੠&&ⱘऎ߿DŽ ܼ࣪ㄝ᪡԰DŽ Collections ᰃ䩜ᇍ䲚ড়㉏ⱘϔϾᐂࡽ㉏ˈҪᦤկϔ㋏߫䴭ᗕᮍ⊩ᅲ⦄ᇍ৘⾡䲚ড়ⱘ᧰㋶ǃᥦᑣǃ㒓⿟ᅝ Collection ᰃ䲚ড়㉏ⱘϞ㑻᥹ষˈ㒻ᡓϢҪⱘ᥹ষЏ㽕᳝ Set ੠ List. 9ǃCollection ੠ Collectionsⱘऎ߿DŽ w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! 21ǃStatic Nested Class ੠ Inner ClassⱘϡৠDŽ ᅶ᠋䗮䖛ᆍ఼ᴹ䆓䯂ⳳℷⱘ EJB 㒘ӊDŽ 䯂ⳳℷⱘ EJB 㒘ӊˈ㗠ᰃ䗮䖛݊ᆍ఼䆓䯂DŽEJB ᆍ఼ᰃ EJB 㒘ӊⱘҷ⧚ˈEJB 㒘ӊ⬅ᆍ఼᠔߯ᓎ੠ㅵ⧚DŽ 䖯⿟ǃ䎼䅵ㅫᴎ˅DŽԚ EJB ᖙ乏㹿Ꮧ㕆೼䇌བ WebspereǃWebLogic 䖭ḋⱘᆍ఼ЁˈEJB ᅶ᠋ҢϡⳈ᥹䆓 Ѣ DCOMˈेߚᏗᓣ㒘ӊDŽᅗᰃ෎Ѣ Java ⱘ䖰⿟ᮍ⊩䇗⫼˄RMI˅ᡔᴃⱘˈ᠔ҹ EJB ৃҹ㹿䖰⿟䆓䯂˄䎼 ⳌᔧѢᖂ䕃 COM ῵ൟЁⱘᴀഄ䖯⿟ݙ COM 㒘ӊˈᅗᰃϡ㛑㹿䎼䖯⿟䆓䯂ⱘDŽEnterprise Java Bean Ⳍᔧ ⱘᵘ䗴఼ˈ঺໪ˈ䗮ᐌ Java Bean䖬㽕ᅲ⦄ Serializable ᥹ষ⫼Ѣᅲ⦄ Bean ⱘᣕЙᗻDŽJava Beanᅲ䰙Ϟ ϟˈ⬅Ѣ Java Bean ᰃ㹿ᆍ఼᠔߯ᓎ˄བ Tomcat˅ⱘˈ᠔ҹ Java Bean ᑨ݋᳝ϔϾ᮴খމBeanDŽԚ䗮ᐌᚙ Java Bean ᰃৃ໡⫼ⱘ㒘ӊˈᇍ Java Bean ᑊ≵᳝ϹḐⱘ㾘㣗ˈ⧚䆎Ϟ䆆ˈӏԩϔϾ Java ㉏䛑ৃҹᰃϔϾ 20ǃEJB Ϣ JAVA BE AN ⱘऎ߿˛ ߮ᠡ䇋∖ⱘ᠔᳝খ᭄䞡ᮄ䇋∖ˈ᠔ҹ session,request খ᭄䛑ৃҹ㦋পDŽ redirectህᰃ᳡ࡵッḍ᥂䘏䕥,থ䗕ϔϾ⢊ᗕⷕ,ਞ䆝⌣㾜఼䞡ᮄএ䇋∖䙷Ͼഄഔˈϔ㠀ᴹ䇈⌣㾜఼Ӯ⫼ ॳᴹⱘഄഔDŽ ᴹⱘˈ᠔ҹᅗⱘഄഔᷣЁ䖬ᰃܓᡞ䖭ѯݙᆍݡথ㒭⌣㾜఼ˈ⌣㾜఼ḍᴀϡⶹ䘧᳡ࡵ఼থ䗕ⱘݙᆍᰃҢા forward ᰃ᳡ࡵ఼䇋∖䌘⑤ˈ᳡ࡵ఼Ⳉ᥹䆓䯂Ⳃᷛഄഔⱘ URLˈᡞ䙷Ͼ URL ⱘડᑨݙᆍ䇏প䖛ᴹˈ✊ৢ 19ǃforward ੠ redirect ⱘऎ߿ ㋴ܗේᰃᷜⱘϔϾ㒘៤ ߎⱘᮍᓣ䖯㸠໘⧚DŽܜ㋴ⱘ᪡԰ᑨ೼ৠϔ↉ᅠ៤DŽᷜᣝ✻ৢ䖯ܗᷜᰃϔ⾡㒓ᔶ䲚ড়ˈ݊⏏ࡴ੠ߴ䰸 18ǃheap ੠ stack ᳝ҔМऎ߿DŽ ᅮᶤᇍ䈵ⱘ㉏ᰃ৺ᅲ⦄њ᥹ষDŽއൟ៪Ң᥹ষ㉏ൟ䕀ᤶˈinstanceof 䖤ㅫヺৃҹ⫼ᴹ 䆌Փ⫼᥹ষৡ԰Ўᓩ⫼ব䞣ⱘ㉏ൟDŽ䗮ᐌⱘࡼᗕ㘨㓪ᇚ⫳ᬜDŽᓩ⫼ৃҹ䕀ᤶࠄ᥹ষ㉏ܕѢ᳝ᢑ䈵㉏ˈᅗ ᑣԧ㒭ќ˅᠔᳝䖭⾡᥹ষⱘᮍ⊩DŽ✊ৢˈᅗৃҹ೼ᅲ⦄њ䆹᥹ষⱘ㉏ⱘӏԩᇍ䈵Ϟ䇗⫼᥹ষⱘᮍ⊩DŽ⬅ ⱘᅲ⦄Ϣᄤ㉏ⳌԐˈ䰸њ䆹ᅲ⦄㉏ϡ㛑Ң᥹ষᅮНЁ㒻ᡓ㸠ЎDŽᔧ㉏ᅲ⦄⡍⅞᥹ষᯊˈᅗᅮН˄ेᇚ⿟ 㦋ᕫDŽ᥹ষЁⱘ᠔᳝ᮍ⊩䛑ᰃᢑ䈵ⱘˈ≵᳝ϔϾ᳝⿟ᑣԧDŽ᥹ষাৃҹᅮН static final៤ਬব䞣DŽ᥹ষ ᥹ষ˄interface˅ᰃᢑ䈵㉏ⱘবԧDŽ೼᥹ষЁˈ᠔᳝ᮍ⊩䛑ᰃᢑ䈵ⱘDŽ໮㒻ᡓᗻৃ䗮䖛ᅲ⦄䖭ḋⱘ᥹ষ㗠 ೼ᄤ㉏Ёᅲ⦄䆹ᮍ⊩DŽⶹ䘧݊㸠Ўⱘ݊ᅗ㉏ৃҹ೼㉏Ёᅲ⦄䖭ѯᮍ⊩DŽ ᮍ⊩DŽAbstract ㉏ⱘᄤ㉏ЎᅗӀ⠊㉏Ёⱘ᠔᳝ᢑ䈵ᮍ⊩ᦤկᅲ⦄ˈ৺߭ᅗӀгᰃᢑ䈵㉏ЎDŽপ㗠ҷПˈ ᓎϔϾব䞣ˈ݊㉏ൟᰃϔϾᢑ䈵㉏ˈᑊ䅽ᅗᣛ৥݋ԧᄤ㉏ⱘϔϾᅲ՟DŽϡ㛑᳝ᢑ䈵ᵘ䗴ߑ᭄៪ᢑ䈵䴭ᗕ DŽϡ㛑߯ᓎ abstract ㉏ⱘᅲ՟DŽ✊㗠ৃҹ߯މⱘ㉏ˈᑊЎ䆹㉏ໄᯢᮍ⊩ˈԚϡ㛑೼䆹㉏Ёᅲ⦄䆹㉏ⱘᚙ ᢑ䈵㉏˄abstract class˅ˈᅗ⫼Ѣ㽕߯ᓎϔϾԧ⦄ᶤѯ෎ᴀ㸠Ўخໄᯢᮍ⊩ⱘᄬ೼㗠ϡএᅲ⦄ᅗⱘ㉏㹿ি 17ǃabstract class ੠ interface ᳝ҔМऎ߿? ϟ䞛⫼ᓖℹ䗨ᕘᕔᕔ᳈᳝ᬜ⥛DŽމህᑨ䆹Փ⫼ᓖℹ㓪⿟ˈ೼ᕜ໮ᚙ ᔧᑨ⫼⿟ᑣ೼ᇍ䈵Ϟ䇗⫼њϔϾ䳔㽕㢅䌍ᕜ䭓ᯊ䯈ᴹᠻ㸠ⱘᮍ⊩ˈᑊϨϡᏠᳯ䅽⿟ᑣㄝᕙᮍ⊩ⱘ䖨ಲᯊˈ 㹿঺ϔϾ㒓⿟ݭ䖛њˈ䙷М䖭ѯ᭄᥂ህᰃ݅ѿ᭄᥂ˈᖙ乏䖯㸠ৠℹᄬপDŽ བᵰ᭄᥂ᇚ೼㒓⿟䯈݅ѿDŽ՟བℷ೼ݭⱘ᭄᥂ҹৢৃ㛑㹿঺ϔϾ㒓⿟䇏ࠄˈ៪㗙ℷ೼䇏ⱘ᭄᥂ৃ㛑Ꮖ㒣 ϟߚ߿Փ⫼ҪӀ˛В՟䇈ᯢDŽމ16ǃৠℹ੠ᓖℹ᳝ԩᓖৠˈ೼ҔМᚙ DŽމ exception 㸼⼎ϔ⾡䆒䅵៪ᅲ⦄䯂乬DŽгህᰃ䇈ˈᅗ㸼⼎བᵰ⿟ᑣ䖤㸠ℷᐌˈҢϡӮথ⫳ⱘᚙ DŽމ䖭ḋⱘᚙ w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! Thread t=new Thread(inc); for(int i=0;i<2;i++){ Dec dec=tt.new Dec(); Inc inc=tt.new Inc(); ThreadTest1 tt=new ThreadTest1(); public static void main(String args[]){ private int j; public class ThreadTest1{ ⱘᯊ׭≵᳝㗗㰥乎ᑣ䯂乬DŽޣҹϟ⿟ᑣՓ⫼ݙ䚼㉏ᅲ⦄㒓⿟ˈᇍ j ๲ ᇥ 1DŽݭߎ⿟ᑣDŽޣ28ǃ䆒䅵 4 Ͼ㒓⿟ˈ݊ЁϸϾ㒓⿟↣⃵ᇍ j ๲ࡴ 1ˈ঺໪ϸϾ㒓⿟ᇍ j ↣⃵ ϸϾ 27ǃString s = new String(“xyz“);߯ᓎњ޴Ͼ String Object? round ᮍ⊩䖨ಲϢখ᳔᭄᥹䖥ⱘ䭓ᭈ᭄ˈখ᭄ࡴ 1/2 ৢ∖݊ floor. Math.round(•11.5)==•11 Math.round(11.5)==12 26ǃMath.round(11.5)ㄝᮐ໮ᇥ? Math.round(•11.5)ㄝᮐ໮ᇥ? short s1 = 1; s1 += 1;˄ৃҹℷ⹂㓪䆥˅ short s1 = 1; s1 = s1 + 1; ˄s1+1 䖤ㅫ㒧ᵰᰃ int ൟˈ䳔㽕ᔎࠊ䕀ᤶ㉏ൟ˅ 25ǃshort s1 = 1; s1 = s1 + 1;᳝ҔМ䫭? short s1 = 1; s1 += 1;᳝ҔМ䫭? ⫼ඳҢ㗠䖒ࠄ㞾ࡼಲᬊݙᄬⱘⳂⱘˈJava 䇁㿔≵᳝ᦤկ䞞ᬒᏆߚ䜡ݙᄬⱘᰒ⼎᪡԰ᮍ⊩DŽ 䇃ⱘݙᄬಲᬊӮᇐ㟈⿟ᑣ៪㋏㒳ⱘϡ〇ᅮ⫮㟇ዽ⑗ˈJava ᦤկⱘ GC ࡳ㛑ৃҹ㞾ࡼⲥ⌟ᇍ䈵ᰃ৺䍙䖛԰ GC ᰃൗഒᬊ䲚ⱘᛣᗱ˄Gabage Collection˅,ݙᄬ໘⧚ᰃ㓪⿟Ҏਬᆍᯧߎ⦄䯂乬ⱘഄᮍˈᖬ䆄៪㗙䫭 24ǃGC ᰃҔМ? ЎҔМ㽕᳝ GC? Ўњᦤ催ᗻ㛑ˈ೼䕃ӊথᏗৢˈassertion Ẕᶹ䗮ᐌᰃ݇䯁ⱘDŽ ߎDŽϔ㠀ᴹ䇈ˈassertion ⫼Ѣֱ䆕⿟ᑣ᳔෎ᴀǃ݇䬂ⱘℷ⹂ᗻDŽassertion Ẕᶹ䗮ᐌ೼ᓔথ੠⌟䆩ᯊᓔਃDŽ boolean 㸼䖒ᓣⱘؐЎ true˗བᵰ䆹ؐЎ falseˈ䇈ᯢ⿟ᑣᏆ㒣໘Ѣϡℷ⹂ⱘ⢊ᗕϟˈ㋏㒳ᇚ㒭ߎ䄺ਞ៪䗔 assertion ህᰃ೼⿟ᑣЁⱘϔᴵ䇁হˈᅗᇍϔϾ boolean 㸼䖒ᓣ䖯㸠ẔᶹˈϔϾℷ⹂⿟ᑣᖙ乏ֱ䆕䖭Ͼ assertion(ᮁ㿔)೼䕃ӊᓔথЁᰃϔ⾡ᐌ⫼ⱘ䇗䆩ᮍᓣˈᕜ໮ᓔথ䇁㿔Ё䛑ᬃᣕ䖭⾡ᴎࠊDŽ೼ᅲ⦄Ёˈ 23ǃҔМᯊ׭⫼ assertDŽ 䴭ᗕ INCLUDE ⫼ include Ӿⷕᅲ⦄,ᅮϡӮẔᶹ᠔৿᭛ӊⱘব࣪ˈ䗖⫼Ѣࣙ৿䴭ᗕ义䴶 ৃҹᏺখ᭄DŽ ࡼᗕ INCLUDE ⫼ jsp:include ࡼ԰ᅲ⦄ ᅗᘏᰃӮẔᶹ᠔৿᭛ӊЁⱘব࣪ˈ䗖ড়⫼Ѣࣙ৿ࡼᗕ义䴶ˈᑊϨ 22ǃJSP Ёࡼᗕ INCLUDE Ϣ䴭ᗕ INCLUDE ⱘऎ߿˛ ⱘݙ䚼㉏䳔㽕೼໪䚼㉏ᅲ՟࣪ৢᠡ㛑ᅲ՟࣪DŽ Static Nested Classᰃ㹿ໄᯢЎ䴭ᗕ˄static˅ⱘݙ䚼㉏ˈᅗৃҹϡձ䌪Ѣ໪䚼㉏ᅲ՟㹿ᅲ՟࣪DŽ㗠䗮ᐌ w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! ℶϔϾ㒓⿟DŽذ䇗ᑺᑊᠻ㸠DŽ䖭ᑊϡᛣੇⴔ㒓⿟ህӮゟे䖤㸠DŽrun()ᮍ⊩ৃҹѻ⫳ᖙ乏䗔ߎⱘᷛᖫᴹ ਃࡼϔϾ㒓⿟ᰃ䇗⫼ start()ᮍ⊩ˈՓ㒓⿟᠔ҷ㸼ⱘ㰮ᢳ໘⧚ᴎ໘Ѣৃ䖤㸠⢊ᗕˈ䖭ᛣੇⴔᅗৃҹ⬅ JVM 30ǃਃࡼϔϾ㒓⿟ᰃ⫼ run()䖬ᰃ start()? java Ёⱘֱ⬭ᄫˈ⦄೼≵᳝೼ java ЁՓ⫼DŽ 29ǃJava ᳝≵᳝ goto? } } } } dec(); for(int i=0;i<100;i++){ public void run(){ class Dec implements Runnable{ } } } inc(); for(int i=0;i<100;i++){ public void run(){ class Inc implements Runnable{ } System.out.println(Thread.currentThread().getName()+“•dec:“+j); j••; private synchronized void dec(){ } System.out.println(Thread.currentThread().getName()+“•inc:“+j); j++; private synchronized void inc(){ } } t.start(); t=new Thread(dec); t.start(); w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! 䛑ϡ㛑 37ǃabstract ⱘ method ᰃ৺ৃৠᯊᰃ static,ᰃ৺ৃৠᯊᰃ nativeˈᰃ৺ৃৠᯊᰃ synchronized? ᥹㸼䆄Ўぎ䯆ˈ݊Ҫ䇗⫼ህৃҹՓ⫼䖭Ͼ䖲᥹DŽ ᅮDŽᔧՓ⫼ⱘ∴䖲᥹䇗⫼ᅠ៤ৢˈ∴偅ࡼ⿟ᑣᇚℸ䖲އᓎϔᅮ᭄䞣ⱘ䖲᥹ˈᮄᓎ䖲᥹ⱘ᭄䞣᳝䜡㕂খ᭄ ᯊˈ∴偅ࡼ⿟ᑣӮ䖨ಲϔϾ᳾Փ⫼ⱘ∴䖲᥹ᑊᇚ݊㸼䆄ЎᖭDŽབᵰᔧࠡ≵᳝ぎ䯆䖲᥹ˈ∴偅ࡼ⿟ᑣህᮄ J2EE ᳡ࡵ఼ਃࡼᯊӮᓎゟϔᅮ᭄䞣ⱘ∴䖲᥹ˈᑊϔⳈ㓈ᣕϡᇥѢℸ᭄Ⳃⱘ∴䖲᥹DŽᅶ᠋ッ⿟ᑣ䳔㽕䖲᥹ 36ǃ䇈ߎ᭄᥂䖲᥹∴ⱘᎹ԰ᴎࠊᰃҔМ? ListˈSet ᰃˈMap ϡᰃ 35ǃList, Set, Map ᰃ৺㒻ᡓ㞾 Collection ᥹ষ? ᳝ᯢ⹂ⱘᵘ䗴ߑ᭄DŽ ᥹ষৃҹ㒻ᡓ᥹ষDŽᢑ䈵㉏ৃҹᅲ⦄(implements)᥹ষˈᢑ䈵㉏ᰃ৺ৃ㒻ᡓᅲԧ㉏ˈԚࠡᦤᰃᅲԧ㉏ᖙ乏 class)? 34ǃ᥹ষᰃ৺ৃ㒻ᡓ᥹ষ? ᢑ䈵㉏ᰃ৺ৃᅲ⦄(implements)᥹ষ? ᢑ䈵㉏ᰃ৺ৃ㒻ᡓᅲԧ㉏(concrete UnmodifiableSetException, UnsupportedOperationException RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, NoSuchElementException, NullPointerException, ProfileDataException,ProviderException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, 33ǃ㒭៥ϔϾԴ᳔ᐌ㾕ࠄⱘ runtime exceptionDŽ BEA WebLogic ServerˈIBM WebSphere Application ServerˈOracle9i Application ServerˈjBossˈTomcat 32ǃᑨ⫼᳡ࡵ఼᳝䙷ѯ˛ Transaction Service˄JTS˅ǃ Java Transaction API˄JTA˅ˈᓔথ㒘˄X/Open˅ⱘ XA ᥹ষDŽ EJB 䗮䖛ҹϟᡔᴃㅵ⧚ᅲࡵ˖ᇍ䈵ㅵ⧚㒘㒛˄OMG˅ⱘᇍ䈵ᅲࡵ᳡ࡵ˄OTS˅ˈ Sun Microsystems ⱘ ᄬ⌏ⱘDŽEntity Beans ⫳ੑ਼ᳳ㛑໳㹿ᆍ఼៪㗙 Beans㞾Ꮕㅵ⧚DŽ beans ህϔⳈᄬ⌏DŽ㗠ϡᰃᣝ✻ᑨ⫼⿟ᑣ៪㗙᳡ࡵ䖯⿟ᴹ䇈ⱘDŽेՓ EJB ᆍ఼ዽ⑗њˈEntity beansгᰃ EntityBean˖Entity Beans 㛑ᄬ⌏Ⳍᇍ䕗䭓ⱘᯊ䯈ˈᑊϨ⢊ᗕᰃᣕ㓁ⱘDŽা㽕᭄᥂ᑧЁⱘ᭄᥂ᄬ೼ˈEntity ᠋ᴎⳌ݇㘨ⱘ Bean ᅲ՟DŽ ᅲ՟ˈᑊ݇㘨ࠄᅶ᠋ᴎϞˈҹৢℸᅶ᠋ᴎ䇗⫼ Stateful Session Bean ⱘᮍ⊩ᯊᆍ఼Ӯᡞ䇗⫼ߚ⌒ࠄϢℸᅶ ᅶ᠋ᴎDŽᔧᅶ᠋ᴎ㄀ϔ⃵䇗⫼ϔϾ Stateful Session Bean ᯊˈᆍ఼ᖙ乏ゟे೼᳡ࡵ఼Ё߯ᓎϔϾᮄⱘ Bean ᅲ՟ᯊˈEJB ᆍ఼ϡϔᅮ㽕߯ᓎϔϾᮄⱘ Bean ⱘᅲ՟կᅶ᠋ᴎ䇗⫼ˈ㗠ᰃ䱣֓ᡒϔϾ⦄᳝ⱘᅲ՟ᦤկ㒭 ᅮⱘˈᔧᅶ᠋ᴎথߎ䇋∖㽕ᓎゟϔϾ Bean ⱘއSessionBean˖Stateless Session Bean ⱘ⫳ੑ਼ᳳᰃ⬅ᆍ఼ 31ǃEJB ࣙᣀ˄SessionBean,EntityBean˅䇈ߎҪӀⱘ⫳ੑ਼ᳳˈঞབԩㅵ⧚џࡵⱘ˛ w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! //೼㞾Ꮕݙ䚼ᅮН㞾ᏅϔϾᅲ՟ˈᰃϡᰃᕜ༛ᗾ˛ private Singleton(){} Public class Singleton { ࣪ᯊᅲ՟䆱ˈ䗮䖛ϔϾ public ⱘ getInstance ᮍ⊩㦋পᇍᅗⱘᓩ⫼,㒻㗠䇗⫼݊Ёⱘᮍ⊩DŽ ㄀ϔ⾡ᔶᓣ: ᅮНϔϾ㉏ˈᅗⱘᵘ䗴ߑ᭄Ў private ⱘˈᅗ᳝ϔϾ static ⱘ private ⱘ䆹㉏ব䞣ˈ೼㉏߱ྟ ϔ㠀 Singleton ῵ᓣ䗮ᐌ᳝޴⾡⾡ᔶᓣ: Singleton ῵ᓣЏ㽕԰⫼ᰃֱ䆕೼ Java ᑨ⫼⿟ᑣЁˈϔϾ㉏ Class া᳝ϔϾᅲ՟ᄬ೼DŽ 48ǃ㓪⿟乬: ݭϔϾ Singleton ߎᴹDŽ ϡ㛑ˈϔϾᇍ䈵ⱘϔϾ synchronized ᮍ⊩া㛑⬅ϔϾ㒓⿟䆓䯂DŽ 47ǃᔧϔϾ㒓⿟䖯ܹϔϾᇍ䈵ⱘϔϾ synchronized ᮍ⊩ৢˈ݊ᅗ㒓⿟ᰃ৺ৃ䖯ܹℸᇍ䈵ⱘ݊ᅗᮍ⊩? ህᰃᇍ䆹ᇍ䈵ⱘᓩ⫼DŽᇍ䈵ⱘݙᆍৃҹ೼㹿䇗⫼ⱘᮍ⊩ЁᬍবˈԚᇍ䈵ⱘᓩ⫼ᰃ∌䖰ϡӮᬍবⱘDŽ ᰃؐӴ䗦DŽJava 㓪⿟䇁㿔া᳝ؐӴ䗦খ᭄DŽᔧϔϾᇍ䈵ᅲ՟԰ЎϔϾখ᭄㹿Ӵ䗦ࠄᮍ⊩Ёᯊˈখ᭄ⱘؐ 䙷М䖭䞠ࠄᑩᰃؐӴ䗦䖬ᰃᓩ⫼Ӵ䗦? 46ǃᔧϔϾᇍ䈵㹿ᔧ԰খ᭄Ӵ䗦ࠄϔϾᮍ⊩ৢˈℸᮍ⊩ৃᬍব䖭Ͼᇍ䈵ⱘሲᗻˈᑊৃ䖨ಲব࣪ৢⱘ㒧ᵰˈ ϡᇍˈ᳝Ⳍৠⱘ hash codeDŽ 45ǃϸϾᇍ䈵ؐⳌৠ(x.equals(y) == true)ˈԚैৃ᳝ϡৠⱘ hash codeˈ䖭হ䆱ᇍϡᇍ? 2 << 3 44ǃ㓪⿟乬: ⫼᳔᳝ᬜ⥛ⱘᮍ⊩ㅫߎ 2 Ьҹ 8 ㄝᮐ޴? Ӯᠻ㸠ˈ೼ return ࠡᠻ㸠DŽ ᠻ㸠ˈ೼ return ࠡ䖬ᰃৢ? 43ǃtry {}䞠᳝ϔϾ return 䇁হˈ䙷М㋻䎳೼䖭Ͼ tryৢⱘ finally {}䞠ⱘ code ӮϡӮ㹿ᠻ㸠ˈҔМᯊ׭㹿 char ៪㗙 byteDŽLong,string 䛑ϡ㛑԰⫼Ѣ swtichDŽ Switch˄expr1˅Ёˈexpr1 ᰃϔϾᭈ᭄㸼䖒ᓣDŽ಴ℸӴ䗦㒭 switch ੠ case 䇁হⱘখ᭄ᑨ䆹ᰃ intǃ shortǃ 42ǃswtich ᰃ৺㛑԰⫼೼ byte Ϟˈᰃ৺㛑԰⫼೼ long Ϟˈᰃ৺㛑԰⫼೼ String Ϟ? String ㉏ᰃ final ㉏ᬙϡৃҹ㒻ᡓDŽ 41ǃᰃ৺ৃҹ㒻ᡓ String ㉏? ᵘ䗴఼ Constructor ϡ㛑㹿㒻ᡓˈ಴ℸϡ㛑䞡ݭ OverridingˈԚৃҹ㹿䞡䕑 OverloadingDŽ 40ǃᵘ䗴఼ Constructor ᰃ৺ৃ㹿 override? ᆍ੠㉏ൟⳌ䜡ⱘ䆱ˈ䖨ಲⳳؐDŽ ᅮᓩ⫼ؐᰃ৺ᣛ৥ৠϔᇍ䈵 equals()೼㉏Ё㹿㽚ⲪˈЎⱘᰃᔧϸϾߚ⾏ⱘᇍ䈵ⱘݙއ⫣ Equals()੠==ᮍ ㋴ᰃϡ㛑䞡໡ⱘˈ䙷М⫼ iterator()ᮍ⊩ᴹऎߚ䞡໡Ϣ৺DŽEquals()ᰃ߸䇏ϸϾ Set ᰃ৺ⳌㄝDŽܗSet 䞠ⱘ ߿? ㋴ᰃϡ㛑䞡໡ⱘˈ䙷М⫼ҔМᮍ⊩ᴹऎߚ䞡໡Ϣ৺ਸ਼? ᰃ⫼==䖬ᰃ equals()? ᅗӀ᳝ԩऎܗ39ǃSet 䞠ⱘ ᭄㒘≵᳝ length()䖭Ͼᮍ⊩ˈ᳝ length ⱘሲᗻDŽString ᳝᳝ length()䖭Ͼᮍ⊩DŽ 38ǃ᭄㒘᳝≵᳝ length()䖭Ͼᮍ⊩? String ᳝≵᳝ length()䖭Ͼᮍ⊩˛ w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! ݡ᳝“԰⫼ඳ“ⱘὖᗉˈা᳝ᇍ䈵ⱘᓩ⫼ᠡ᳝“԰⫼ඳ“DŽൗഒಲᬊৃҹ᳝ᬜⱘ䰆ℶݙᄬ⊘䴆ˈ᳝ᬜⱘՓ⫼ ᅗՓᕫ Java ⿟ᑣਬ೼㓪ݭ⿟ᑣⱘᯊ׭ϡݡ䳔㽕㗗㰥ݙᄬㅵ⧚DŽ⬅Ѣ᳝ϾൗഒಲᬊᴎࠊˈJava Ёⱘᇍ䈵ϡ Java 䇁㿔ЁϔϾᰒ㨫ⱘ⡍⚍ህᰃᓩܹњൗഒಲᬊᴎࠊˈՓ c++⿟ᑣਬ᳔༈⮐ⱘݙᄬㅵ⧚ⱘ䯂乬䖢ߗ㗠㾷ˈ 51ǃൗഒಲᬊⱘӬ⚍੠ॳ⧚DŽᑊ㗗㰥 2 ⾡ಲᬊᴎࠊDŽ ᠔᳝ⱘᓖᐌ䛑ᰃ java.lang.Thowable ⱘᄤ㉏DŽ ⿟ᑣਬᠽሩ䖭⾡䇁НẔᶹˈ⿟ᑣਬৃҹ߯ᓎ㞾Ꮕⱘᓖᐌˈᑊ㞾⬅䗝ᢽ೼ԩᯊ⫼ throw ݇䬂ᄫᓩথᓖᐌDŽ 䆌ܕ ህᰃ JAVAމIndexOutOfBoundsException;䆓䯂 null ⱘᇍ䈵ᯊӮᓩথ NullPointerExceptionDŽ঺ϔ⾡ᚙ DŽϔ⾡ᰃ JAVA ㉏ᑧݙ㕂ⱘ䇁НẔᶹDŽ՟བ᭄㒘ϟᷛ䍞⬠,Ӯᓩথމ߭ࣙᣀ 2 ⾡ᚙ ᔧ JAVA ⿟ᑣ䖱ডњ JAVA ⱘ䇁Н㾘߭ᯊˈJAVA 㰮ᢳᴎህӮᇚথ⫳ⱘ䫭䇃㸼⼎ЎϔϾᓖᐌDŽ䖱ড䇁Н㾘 50ǃJava Ёⱘᓖᐌ໘⧚ᴎࠊⱘㅔऩॳ⧚੠ᑨ⫼DŽ ϟᰃ public.ϔϾ㉏ৃҹᅲ⦄໮Ͼ᥹ষDŽމᰃ public static,᠔᳝ᮍ⊩咬䅸ᚙ Ͼ㉏ᅲ⦄њ᥹ষҹৢˈ䆹㉏㽕ᅲ⦄᥹ষ䞠䴶᠔᳝ⱘᮍ⊩੠ሲᗻˈᑊϨ᥹ষ䞠䴶ⱘሲᗻ೼咬䅸⢊ᗕϟ䴶䛑 ऩ㒻ᡓᴎࠊህϡ㛑⒵䎇㽕∖DŽϢ㒻ᡓⳌ↨ˈ᥹ষ᳝᳈催ⱘ♉⌏ᗻˈ಴Ў᥹ষЁ≵᳝ӏԩᅲ⦄ҷⷕDŽᔧϔ ⬅Ѣ Java ϡᬃᣕ໮㒻ᡓˈ㗠᳝ৃ㛑ᶤϾ㉏៪ᇍ䈵㽕Փ⫼ߚ߿೼޴Ͼ㉏៪ᇍ䈵䞠䴶ⱘᮍ⊩៪ሲᗻˈ⦄᳝ⱘ 49ǃJava ⱘ᥹ষ੠ C++ⱘ㰮㉏ⱘⳌৠ੠ϡৠ໘DŽ ϔ㠀䅸Ў㄀ϔ⾡ᔶᓣ㽕᳈ࡴᅝܼѯ ᅮНϔϾ㉏ˈᅗⱘᵘ䗴ߑ᭄Ў private ⱘˈ᠔᳝ᮍ⊩Ў static ⱘDŽ ݊Ҫᔶᓣ: } return instance; } instance˙new Singleton(); If (instance==null) //Փ⫼ᯊ⫳៤ᅲ՟ˈᦤ催њᬜ⥛ʽ //䖭Ͼᮍ⊩↨Ϟ䴶᳝᠔ᬍ䖯ˈϡ⫼↣⃵䛑䖯㸠⫳៤ᇍ䈵ˈাᰃ㄀ϔ⃵ public static synchronized Singleton getInstance() { private static Singleton instance = null; public class Singleton { ㄀Ѡ⾡ᔶᓣ: } } return instance; public static Singleton getInstance() { //䖭䞠ᦤկњϔϾկ໪䚼䆓䯂ᴀ class ⱘ䴭ᗕᮍ⊩ˈৃҹⳈ᥹䆓䯂 private static Singleton instance = new Singleton(); ᛣ䖭ᰃ private াկݙ䚼䇗⫼⊼// w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! config㸼⼎ϔϾ javax.servlet.ServletConfig ᇍ䈵DŽ䆹ᇍ䈵⫼Ѣᄬপ servlet ᅲ՟ⱘ߱ྟ࣪খ᭄DŽ ֵᙃ applicaton 㸼⼎ϔϾ javax.servle.ServletContext ᇍ䈵DŽ䖭᳝ࡽѢᶹᡒ᳝݇ servlet ᓩ᪢੠ servlet ⦃๗ⱘ Session㸼⼎ϔϾ䇋∖ⱘ javax.servlet.http.HttpSession ᇍ䈵DŽSession ৃҹᄬ䌂⫼᠋ⱘ⢊ᗕֵᙃ servlet Ⳍ݇ⱘᇍ䈵ⱘ APIˈᑊϨࣙ㺙њ䗮⫼ⱘ servlet Ⳍ݇ࡳ㛑ⱘᮍ⊩DŽ pageContext 㸼⼎ϔϾ javax.servlet.jsp.PageContext ᇍ䈵DŽᅗᰃ⫼Ѣᮍ֓ᄬপ৘⾡㣗ೈⱘৡᄫぎ䯈ǃ outᇍ䈵ᰃ javax.jsp.JspWriter ⱘϔϾᅲ՟ˈᑊᦤկњ޴Ͼᮍ⊩ՓԴ㛑⫼Ѣ৥⌣㾜఼ಲ䗕䕧ߎ㒧ᵰDŽ ༈ֵᙃㄝ˅ Response㸼⼎ HttpServletResponse ᇍ䈵ˈᑊᦤկњ޴Ͼ⫼Ѣ䆒㕂䗕ಲ ⌣㾜఼ⱘડᑨⱘᮍ⊩˄བ cookies, header, ੠ session ᭄᥂ⱘ᳝⫼ⱘᮍ⊩DŽ Request 㸼⼎ HttpServletRequest ᇍ䈵DŽᅗࣙ৿њ᳝݇⌣㾜఼䇋∖ⱘֵᙃˈᑊϨᦤկњ޴Ͼ⫼Ѣ㦋প cookie, 57ǃJSP ⱘݙ㕂ᇍ䈵ঞᮍ⊩DŽ ৠℹⱘᅲ⦄ᮍ䴶᳝ϸ⾡ˈߚ߿ᰃ synchronized,wait Ϣ notify ໮㒓⿟᳝ϸ⾡ᅲ⦄ᮍ⊩ˈߚ߿ᰃ㒻ᡓ Thread ㉏Ϣᅲ⦄ Runnable ᥹ষ 56ǃ໮㒓⿟᳝޴⾡ᅲ⦄ᮍ⊩,䛑ᰃҔМ?ৠℹ᳝޴⾡ᅲ⦄ᮍ⊩,䛑ᰃҔМ? 乬ⱘ 㛑໳ᅮН៤ЎϔϾЁ᭛ⱘˈ಴Ў java Ёҹ unicode 㓪ⷕˈϔϾ char ऴ 16 Ͼᄫ㡖ˈ᠔ҹᬒϔϾЁ᭛ᰃ≵䯂 55ǃchar ൟব䞣Ё㛑ϡ㛑ᄬ䌂ϔϾЁ᭛∝ᄫ?ЎҔМ? 㒘ӊDŽᅗ䋳䋷೼䖤㸠ᯊᶹᡒ੠㺙ܹ㉏᭛ӊⱘ㉏DŽ JVM Ё㉏ⱘ㺙䕑ᰃ⬅ ClassLoader ੠ᅗⱘᄤ㉏ᴹᅲ⦄ⱘ,Java ClassLoader ᰃϔϾ䞡㽕ⱘ Java 䖤㸠ᯊ㋏㒳 54ǃᦣ䗄ϔϟ JVM ࡴ䕑 class ᭛ӊⱘॳ⧚ᴎࠊ? ᯴ᇘࠄϔϾؐDŽ ㋴ᇍ˄⿄԰“䬂“੠“ؐ“˅ˈ݊Ё↣Ͼ䬂ܗټᮍ⊩DŽ Map 䲚ড়㉏⫼Ѣᄬټ㋴ᄬܗMap ᦤկњϔϾ᳈䗮⫼ⱘ ㋴ⱘᚙᔶDŽܗ㋴߫㸼DŽ List 䗖⫼Ѣᣝ᭄ؐ㋶ᓩ䆓䯂ܗ੠᪡԰ӏԩ㉏ൟᇍ䈵ⱘټ↨䕗䗖ড়ᵘᓎǃᄬ ᳔ᐌ⫼ⱘ䲚ড়㉏ᰃ List ੠ MapDŽ List ⱘ݋ԧᅲ⦄ࣙᣀ ArrayList ੠ VectorˈᅗӀᰃৃব໻ᇣⱘ߫㸼ˈ 53ǃԴ᠔ⶹ䘧ⱘ䲚ড়㉏䛑᳝ાѯ˛Џ㽕ᮍ⊩˛ Allnotity():૸䝦᠔᳝໘ܹㄝᕙ⢊ᗕⱘ㒓⿟ˈ⊼ᛣᑊϡᰃ㒭᠔᳝૸䝦㒓⿟ϔϾᇍ䈵ⱘ䫕ˈ㗠ᰃ䅽ᅗӀゲѝDŽ 㑻DŽܜᗕⱘ㒓⿟ˈ㗠ᰃ⬅ JVM ⹂ᅮ૸䝦ાϾ㒓⿟ˈ㗠ϨϡᰃᣝӬ Notify():૸䝦ϔϾ໘Ѣㄝᕙ⢊ᗕⱘ㒓⿟ˈ⊼ᛣⱘᰃ೼䇗⫼ℸᮍ⊩ⱘᯊ׭ˈᑊϡ㛑⹂ߛⱘ૸䝦ᶤϔϾㄝᕙ⢊ ᓖᐌDŽ Sleep():ՓϔϾℷ೼䖤㸠ⱘ㒓⿟໘Ѣⴵ⳴⢊ᗕˈᰃϔϾ䴭ᗕᮍ⊩ˈ䇗⫼ℸᮍ⊩㽕ᤩᤝ InterruptedException Wait():ՓϔϾ㒓⿟໘Ѣㄝᕙ⢊ᗕˈᑊϨ䞞ᬒ᠔ᣕ᳝ⱘᇍ䈵ⱘ lockDŽ 52ǃ䇋䇈ߎԴ᠔ⶹ䘧ⱘ㒓⿟ৠℹⱘᮍ⊩DŽ ៪᠔᳝ᇍ䈵䖯㸠ൗഒಲᬊDŽಲᬊᴎࠊ᳝ߚҷ໡ࠊൗഒಲᬊ੠ᷛ䆄ൗഒಲᬊˈ๲䞣ൗഒಲᬊDŽ Ꮖ㒣⅏ѵⱘ៪㗙䭓ᯊ䯈≵᳝Փ⫼ⱘᇍ䈵䖯㸠⏙Ἦ੠ಲᬊˈ⿟ᑣਬϡ㛑ᅲᯊⱘ䇗⫼ൗഒಲᬊ఼ᇍᶤϾᇍ䈵 ϟᇍݙᄬේЁމҹՓ⫼ⱘݙᄬDŽൗഒಲᬊ఼䗮ᐌᰃ԰ЎϔϾऩ⣀ⱘԢ㑻߿ⱘ㒓⿟䖤㸠ˈϡৃ乘ⶹⱘᚙৃ Page㸼⼎Ң䆹义䴶ѻ⫳ⱘϔϾ servlet ᅲ՟ 58ǃ㒓⿟ⱘ෎ᴀὖᗉǃ㒓⿟ⱘ෎ᴀ⢊ᗕҹঞ⢊ᗕП䯈ⱘ݇㋏ 㒓⿟ᣛ೼⿟ᑣᠻ㸠䖛⿟Ёˈ㛑໳ᠻ㸠⿟ᑣҷⷕⱘϔϾᠻ㸠ऩԡˈ↣Ͼ⿟ᑣ㟇ᇥ䛑᳝ϔϾ㒓⿟ˈгህᰃ⿟ ᑣᴀ䑿DŽ Java Ёⱘ㒓⿟᳝ಯ⾡⢊ᗕߚ߿ᰃ˖䖤㸠ǃህ㒾ǃᣖ䍋ǃ㒧ᴳDŽ 59ǃJSP ⱘᐌ⫼ᣛҸ isErrorPage(ᰃ৺㛑Փ⫼ Exception ᇍ䈵)ˈisELIgnored(ᰃ৺ᗑ⬹㸼䖒ᓣ) 60ǃҔМᚙމϟ䇗⫼ doGet()੠ doPost()˛ Jsp 义䴶Ёⱘ form ᷛㅒ䞠ⱘ method ሲᗻЎ get ᯊ䇗⫼ doGet()ˈЎ post ᯊ䇗⫼ doPost()DŽ 61ǃservlet ⱘ⫳ੑ਼ᳳ web ᆍ఼ࡴ䕑 servletˈ⫳ੑ਼ᳳᓔྟDŽ䗮䖛䇗⫼ servlet ⱘ init()ᮍ⊩䖯㸠 servlet ⱘ߱ྟ࣪DŽ䗮䖛䇗⫼ service() ᮍ⊩ᅲ⦄ˈḍ᥂䇋∖ⱘϡৠ䇗⫼ϡৠⱘ do***()ᮍ⊩DŽ㒧ᴳ᳡ࡵˈweb ᆍ఼䇗⫼ servlet ⱘ destroy()ᮍ⊩DŽ 62ǃབԩ⦄ᅲ servlet ⱘऩ㒓⿟῵ᓣ 63ǃ义䴶䯈ᇍ䈵Ӵ䗦ⱘᮍ⊩ requestˈsessionˈapplicationˈcookie ㄝ 64ǃJSP ੠ Servlet ᳝ાѯⳌৠ⚍੠ϡৠ⚍ˈҪӀП䯈ⱘ㘨㋏ᰃҔМ˛ JSPᰃ Servlet ᡔᴃⱘᠽሩˈᴀ䋼ϞᰃServlet ⱘㅔᯧᮍᓣˈ᳈ᔎ䇗ᑨ⫼ⱘ໪㸼㸼䖒DŽJSP㓪䆥ৢᰃ“㉏servlet“DŽ Servlet ੠ JSP ᳔Џ㽕ⱘϡৠ⚍೼ѢˈServlet ⱘᑨ⫼䘏䕥ᰃ೼ Java ᭛ӊЁˈᑊϨᅠܼҢ㸼⼎ሖЁⱘ HTML 䞠ߚ⾏ᓔᴹDŽ㗠 JSP ⱘᚙމᰃ Java ੠ HTML ৃҹ㒘ড়៤ϔϾᠽሩৡЎ.jsp ⱘ᭛ӊDŽJSP ջ䞡Ѣ㾚೒ˈServlet Џ㽕⫼Ѣ᥻ࠊ䘏䕥DŽ 65ǃಯ⾡Ӯ䆱䎳䏾ᡔᴃ Ӯ䆱԰⫼ඳ ServletsJSP 义䴶ᦣ䗄 page ৺ᰃҷ㸼ϢϔϾ义䴶Ⳍ݇ⱘᇍ䈵੠ሲᗻDŽϔϾ义䴶⬅ϔϾ㓪䆥དⱘ Java servlet㉏˄ৃҹᏺ᳝ӏԩ ⱘ include ᣛҸˈԚᰃ≵᳝ include ࡼ԰˅㸼⼎DŽ䖭᮶ࣙᣀ servlet জࣙᣀ㹿㓪䆥៤ servlet ⱘ JSP 义 䴶 request ᰃᰃҷ㸼Ϣ Web ᅶ᠋ᴎথߎⱘϔϾ䇋∖Ⳍ݇ⱘᇍ䈵੠ሲᗻDŽϔϾ䇋∖ৃ㛑䎼䍞໮Ͼ义䴶ˈ⍝ঞ ໮Ͼ Web 㒘ӊ˄⬅Ѣ forward ᣛҸ੠ include ࡼ԰ⱘ݇㋏˅ session ᰃᰃҷ㸼Ϣ⫼ѢᶤϾ Web ᅶ᠋ᴎⱘϔϾ⫼᠋ԧ偠Ⳍ݇ⱘᇍ䈵੠ሲᗻDŽϔϾ Web Ӯ䆱ৃҹг㒣 ᐌӮ䎼䍞໮Ͼᅶ᠋ᴎ䇋∖ application ᰃᰃҷ㸼ϢᭈϾ Web ᑨ⫼⿟ᑣⳌ݇ⱘᇍ䈵੠ሲᗻDŽ䖭ᅲ䋼Ϟᰃ䎼䍞ᭈϾ Web ᑨ⫼⿟ᑣˈࣙ ᣀ໮Ͼ义䴶ǃ䇋∖੠Ӯ䆱ⱘϔϾܼሔ԰⫼ඳ Click to buy NOW! PDF•XC H ANGE w w w . d o c u • t r a c k.com w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! try { String tempStr = ““; Public String translate (String str) { ⷕⱘᄫヺІ˛ 68ǃ៥Ӏ೼ web ᑨ⫼ᓔথ䖛⿟Ё㒣ᐌ䘛ࠄ䕧ߎᶤ⾡㓪ⷕⱘᄫヺˈབ iso8859•1 ㄝˈབԩ䕧ߎϔϾᶤ⾡㓪 J2EEгᰃϔϾḚᶊˈࣙᣀ JDBCǃJNDIǃRMIǃJMSǃEJBǃJTA ㄝᡔᴃDŽ ᑇৄDŽޚϔϾЎӕϮߚᏗᓣᑨ⫼ⱘᓔথᦤկⱘᷛˈޚ J2EEᴀ䑿ᰃϔϾᷛ 67ǃJ2EE ᰃᡔᴃ䖬ᰃᑇৄ䖬ᰃḚᶊ˛ removeAttribute(String name)˖ߴ䰸䇋∖ЁⱘϔϾሲᗻ getServerPort()˖㦋প᳡ࡵ఼ⱘッষো getServletPath()˖㦋পᅶ᠋ッ᠔䇋∖ⱘ㛮ᴀ᭛ӊⱘ䏃ᕘ getServerName()˖㦋প᳡ࡵ఼ⱘৡᄫ getSession([Boolean create])˖䖨ಲ੠䇋∖Ⳍ݇ Session getRemoteHost()˖㦋পᅶ᠋ッⱘৡᄫ getRemoteAddr()˖㦋পᅶ᠋ッⱘ IP ഄഔ getRequestURI()˖㦋পথߎ䇋∖ᄫヺІⱘᅶ᠋ッഄഔ getQueryString()˖㦋ᕫᶹ䆶ᄫヺІ getProtocol()˖㦋পᅶ᠋ッ৥᳡ࡵ఼ッӴ䗕᭄᥂᠔ձ᥂ⱘण䆂ৡ⿄ getParameterValues(String name)˖㦋ᕫ᳝ name ᣛᅮⱘখ᭄ⱘ᠔᳝ؐ getParameterNames()˖㦋ᕫᅶ᠋ッӴ䗕㒭᳡ࡵ఼ッⱘ᠔᳝খ᭄ⱘৡᄫˈ㒧ᵰᰃϔϾᵮВⱘᅲ՟ getParameter(String name)˖㦋ᕫᅶ᠋ッӴ䗕㒭᳡ࡵ఼ッⱘ᳝ name ᣛᅮⱘখ᭄ؐ getMethod()˖㦋ᕫᅶ᠋ッ৥᳡ࡵ఼ッӴ䗕᭄᥂ⱘᮍ⊩ getInputStream()˖䖨ಲ䇋∖ⱘ䕧ܹ⌕ˈ⫼Ѣ㦋ᕫ䇋∖Ёⱘ᭄᥂ getHeaderNames()˖䖨ಲ᠔ҹ request Header ⱘৡᄫˈ㒧ᵰᰃϔϾᵮВⱘᅲ՟ getHeaders(String name)˖䖨ಲᣛᅮৡᄫⱘ request Header ⱘ᠔᳝ؐˈ㒧ᵰᰃϔϾᵮВⱘᅲ՟ getHeader(String name)˖㦋ᕫ HTTP ण䆂ᅮНⱘ᭛ӊ༈ֵᙃ getContentLength()˖䖨ಲ䇋∖ⱘ Body ⱘ䭓ᑺ getCharacterEncoding()˖䖨ಲ䇋∖Ёⱘᄫヺ㓪ⷕᮍᓣ getCookies()˖䖨ಲᅶ᠋ッⱘ᠔᳝ Cookie ᇍ䈵ˈ㒧ᵰᰃϔϾ Cookie ᭄㒘 getAttributeNames()˖䖨ಲ request ᇍ䈵᠔᳝ሲᗻⱘৡᄫ䲚ড়ˈ㒧ᵰᰃϔϾᵮВⱘᅲ՟ getAttribute(String name)˖䖨ಲ⬅ name ᣛᅮⱘሲᗻؐ setAttribute(String name,Object)˖䆒㕂ৡᄫЎ name ⱘ request ⱘখ᭄ؐ 66ǃRequest ᇍ䈵ⱘЏ㽕ᮍ⊩˖ w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! 1.ϡ㛑᪡԰㒓⿟੠㒓⿟ API(㒓⿟ API ᣛ䴲㒓⿟ᇍ䈵ⱘᮍ⊩བ notify,wait ㄝ)ˈ2.ϡ㛑᪡԰ awtˈ3.ϡ㛑ᅲ 74ǃEJB 㾘㣗㾘ᅮ EJB Ё⽕ℶⱘ᪡԰᳝ાѯ˛ Џ㽕ᦤկໄᯢ਼ᳳㅵ⧚ǃҷⷕѻ⫳ǃᣕ㓁ᗻㅵ⧚ǃᅝܼǃџࡵㅵ⧚ǃ䫕੠ᑊথ㸠ㅵ⧚ㄝ᳡ࡵDŽ 73ǃEJB ᆍ఼ᦤկⱘ᳡ࡵ ϝϾᇍ䈵ᰃ Remote˄Local˅᥹ষǃHome˄LocalHome˅᥹ষˈBean ㉏ Administrator˅ ᳡ࡵ఼ᦤկ㗙˄EJB Server Provider˅ǃ EJB ᆍ఼ᦤկ㗙˄EJB Container Provider˅ǃ㋏㒳ㅵ⧚ਬ˄System ӊᓔথ㗙˄Enterprise Bean Provider˅ ǃᑨ⫼㒘ড়㗙˄Application Assembler˅ǃ䚼㕆㗙˄Deployer˅ǃ EJB 㡆᠔԰ⱘᎹ԰ᖙ乏䙉ᕾ Sun ݀ৌᦤկⱘ EJB 㾘㣗ˈҹֱ䆕ᕐℸП䯈ⱘݐᆍᗻDŽ䖭݁Ͼ㾦㡆ߚ߿ᰃ EJB 㒘 ϔϾᅠᭈⱘ෎Ѣ EJB ⱘߚᏗᓣ䅵ㅫ㒧ᵘ⬅݁Ͼ㾦㡆㒘៤ˈ䖭݁Ͼ㾦㡆ৃҹ⬅ϡৠⱘᓔথଚᦤկˈ↣Ͼ㾦 72ǃEJB ⱘ㾦㡆੠ϝϾᇍ䈵 Lock ϔᅮ㽕∖⿟ᑣਬ᠟Ꮉ䞞ᬒˈᑊϨᖙ乏೼ finally ҢহЁ䞞ᬒDŽ Џ㽕ϡৠ⚍˖Lock ᳝↨ synchronized ᳈㊒⹂ⱘ㒓⿟䇁Н੠᳈དⱘᗻ㛑DŽSynchronized Ӯ㞾ࡼ䞞ᬒ䫕ˈ㗠 Џ㽕Ⳍৠ⚍˖Lock 㛑ᅠ៤ synchronized ᠔ᅲ⦄ⱘ᠔᳝ࡳ㛑 71ǃㅔ䗄 synchronized ੠ java.util.concurrent.locks.Lock ⱘᓖৠ ˛ STAX:Streaming API for XML (StAX) ೼݊ಲ䇗џӊЁݭܹ໘⧚ҷⷕᴹ໘⧚ XML ᭛ӊˈ䗖ড়ᇍ XML ⱘ乎ᑣ䆓䯂 ᭛ӊᓔ༈ˈ᭛ḷ㒧ᴳˈ៪㗙ᷛㅒᓔ༈Ϣᷛㅒ㒧ᴳᯊˈᅗӮ㾺থϔϾџӊˈ⫼᠋䗮䖛ڣᭈϾ᭛ӊDŽᔧ䘛ࠄ SAX:ϡ⦄Ѣ DOM,SAX ᰃџӊ偅ࡼൟⱘ XML 㾷ᵤᮍᓣDŽᅗ乎ᑣ䇏প XML ᭛ӊˈϡ䳔㽕ϔ⃵ܼ䚼㺙䕑 ⫼ⱘݙᄬ䕗໮ˈ㗠Ϩ DOM ᖙ乏೼㾷ᵤ᭛ӊПࠡᡞᭈϾ᭛ḷ㺙ܹݙᄬ,䗖ড়ᇍ XML ⱘ䱣ᴎ䆓䯂 DOM:໘⧚໻ൟ᭛ӊᯊ݊ᗻ㛑ϟ䰡ⱘ䴲ᐌढ़ᆇDŽ䖭Ͼ䯂乬ᰃ⬅ DOM ⱘᷥ㒧ᵘ᠔䗴៤ⱘˈ䖭⾡㒧ᵘऴ Ϟথሩ schema ⱘḍᴀⳂⱘ)ˈc:᳝ DOM,SAX,STAX ㄝ A: ϸ⾡ᔶᓣ dtd schemaˈb: ᴀ䋼ऎ߿:schema ᴀ䑿ᰃ xml ⱘˈৃҹ㹿 XML 㾷ᵤ఼㾷ᵤ(䖭гᰃҢ DTD 70ǃXML ᭛ḷᅮН᳝޴⾡ᔶᓣ˛ᅗӀП䯈᳝ԩᴀ䋼ऎ߿˛㾷ᵤ XML ᭛ḷ᳝ા޴⾡ᮍᓣ˛ b.䘏䕥᪡԰ϡӮѻ⫳ⷁ䏃 ऎ߿Џ㽕ㄨϸ⚍˖a.ᴵӊ᪡԰া㛑᪡԰Ꮧᇨൟⱘ,㗠䘏䕥᪡԰ϡҙৃҹ᪡԰Ꮧᇨൟ,㗠Ϩৃҹ᪡԰᭄ؐൟ 69ǃㅔ䗄䘏䕥᪡԰(&,|,^)Ϣᴵӊ᪡԰(&&,||)ⱘऎ߿DŽ } return tempStr; } System.err.println(e.getMessage()); catch (Exception e) { } tempStr = tempStr.trim(); tempStr = new String(str.getBytes(“ISO•8859•1“), “GBK“); w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! 84ǃ䇈䇈 weblogic ЁϔϾ Domain ⱘ㔎ⳕⳂᔩ㒧ᵘ?↨བ㽕ᇚϔϾㅔऩⱘ helloWorld.jsp ᬒܹԩⳂᔩϟ,✊ ֱᄬ೼ℸ Domain ⱘ config.xml ᭛ӊЁˈᅗᰃ᳡ࡵ఼ⱘḌᖗ䜡㕂᭛ӊDŽ ᙃ䖯㸠䜡㕂ৢ,ᅲ䰙ֱᄬ೼ҔМ᭛ӊЁ? 83ǃ೼ weblogic ㅵ⧚ࠊৄЁᇍϔϾᑨ⫼ඳ(៪㗙䇈ᰃϔϾ㔥キ,Domain)䖯㸠 jms ঞ ejb ៪䖲᥹∴ㄝⳌֵ݇ ᠋ৡ੠ᆚⷕ. ׂᬍ᳡ࡵਃࡼ᭛ӊˈ๲ࡴ WLS_USER੠ WLS_PW 乍DŽгৃҹ೼ boot.properties ᭛ӊЁ๲ࡴࡴᆚ䖛ⱘ⫼ 82ǃབԩਃࡼᯊϡ䳔䕧ܹ⫼᠋ৡϢᆚⷕ? commenv ᭛ӊˈ๲ࡴ set PRODUCTION_MODE=trueDŽ ৃҹ೼ㅵ⧚᥻ࠊৄЁׂᬍᇍᑨ᳡ࡵ఼ⱘਃࡼ῵ᓣЎᓔথ៪ѻક῵ᓣПϔDŽ៪㗙ׂᬍ᳡ࡵⱘਃࡼ᭛ӊ៪㗙 81ǃབԩ䆒ᅮⱘ weblogic ⱘ⛁ਃࡼ῵ᓣ(ᓔথ῵ᓣ)ϢѻકথᏗ῵ᓣ? MEM_ARGS=•Xms32m •Xmx200mˈৃҹ䇗ᭈ᳔ᇣݙᄬЎ 32Mˈ᳔໻ 200M ೼ਃࡼ Weblogic ⱘ㛮ᴀЁ˄ԡѢ᠔೼ Domian ᇍᑨ᳡ࡵ఼Ⳃᔩϟⱘ startServerName˅ˈ๲ࡴ set 80ǃབԩ㒭 weblogic ᣛᅮ໻ᇣⱘݙᄬ? Remote ᥹ষˈ䗮䖛 Remote ᥹ষ䇗⫼݊Ϯࡵᮍ⊩DŽ 䆒㕂 JNDI ᳡ࡵᎹॖҹঞ JNDI ᳡ࡵഄഔ㋏㒳ሲᗻˈᶹᡒ Home ᥹ষˈҢ Home ᥹ষ䇗⫼ Create ᮍ⊩߯ᓎ 79ǃᅶ᳡ッ䇗⫼ EJB ᇍ䈵ⱘ޴Ͼ෎ᴀℹ偸 ᅲԧ Bean ৃߚЎ Bean ㅵ⧚ⱘᣕ㓁ᗻ˄BMP˅੠ᆍ఼ㅵ⧚ⱘᣕ㓁ᗻ˄CMP˅ϸ⾡ Ӯ䆱 Bean জৃߚЎ᳝⢊ᗕ˄Stateful˅੠᮴⢊ᗕ˄Stateless˅ϸ⾡ Ӯ䆱˄Session˅Bean ˈᅲԧ˄Entity˅Bean ⍜ᙃ偅ࡼⱘ˄Message Driven˅Bean 78ǃEJB ⱘ޴⾡㉏ൟ ᅲ՟˅ಲ໡˄▔⌏˅ℸᅲ՟DŽ⢊ᗕব䖕ࠡӮ䇗⫼ᇍᑨⱘ ejbActive ੠ ejbPassivate ᮍ⊩DŽټ Ё˄䗮䖛ᑣ߫࣪ᴎࠊᄬټབᵰᇍᑨ EJB Object থ⦄㞾Ꮕ≵᳝㒥ᅮᇍᑨⱘ Bean ᅲ՟߭Ң݊এ▔⌏ Bean ᄬ ៪ NRU ㅫ⊩ˈᅲ՟೼▔⌏੠এ▔⌏⢊ᗕП䯈䖕⿏ˈ▔⌏ᴎࠊᰃᔧᅶ᠋ッ䇗⫼ᶤϾ EJB ᅲ՟Ϯࡵᮍ⊩ᯊˈ ᅮњݙᄬЁৃҹৠᯊᄬ೼ⱘ Bean ᅲ՟ⱘ᭄䞣ˈḍ᥂ MRUއҹ Stateful Session Bean Ў ՟ ˖݊ Cache ໻ᇣ 77ǃEJB ⱘ▔⌏ᴎࠊ ⱘ⢊ᗕᑊ䰤ࠊݙᄬЁᅲ՟᭄䞣DŽ 䇗ᑺᴎࠊϡᮁ䞡⫼ᅲ՟ˈ㗠ᇍѢᄬ೼ Cache ㅵ⧚ⱘ Bean ߭䗮䖛▔⌏੠এ▔⌏ᴎࠊֱᣕ Bean∴ކ䞛⫼㓧 ㅵ⧚ⱘ Beanˈ೼ create Пৢᅲ՟ᑊϡҢݙᄬ⏙䰸ˈ㗠ᰃ∴ކϮࡵᮍ⊩䇗⫼ǃremove ㄝ䖛⿟ˈᇍѢᄬ೼㓧 ੠ Statefull Session Bean ᄬ೼ Cache ㅵ⧚ˈ䗮ᐌࣙ৿߯ᓎᅲ՟ˈ䆒㕂Ϟϟ᭛ǃ߯ᓎ EJB Object˄create˅ǃ ㅵ⧚ˈ㗠ᇍѢ Entity Bean∴ކᇍѢ Stateless Session BeanǃEntity BeanǃMessage Driven Bean ϔ㠀ᄬ೼㓧 76ǃbean ᅲ՟ⱘ⫳ੑ਼ᳳ Home ᥹ষᰃ EJB Ꮉॖ⫼Ѣ߯ᓎ੠⿏䰸ᶹᡒ EJB ᅲ՟ remote ᥹ষᅮНњϮࡵᮍ⊩ˈ⫼Ѣ EJB ᅶ᠋ッ䇗⫼Ϯࡵᮍ⊩DŽ 75ǃremote ᥹ষ੠ home ᥹ষЏ㽕԰⫼ ϡ㛑ᇚ this ԰Ўব䞣੠䖨ಲˈ8.ϡ㛑ᕾ⦃䇗⫼DŽ ᳡ࡵ఼ࡳ㛑ˈ4.ϡ㛑ᇍ䴭ᗕሲ⫳ᄬপˈ5.ϡ㛑Փ⫼ IO ᪡԰Ⳉ᥹ᄬপ᭛ӊ㋏㒳ˈ6.ϡ㛑ࡴ䕑ᴀഄᑧ.ˈ7.⦃ w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! public void service(ServletRequest request,ServletResponse response) public String getServletInfo() public ServletConfig getServletConfig() Public void init(ServletConfig config) 91ǃServlet ᠻ㸠ᯊϔ㠀ᅲ⦄ા޴Ͼᮍ⊩˛ ⍜ᙃ೼ℸ MDB ৃ⫼ⱘᯊ׭থ䗕䖛ᴹˈ㗠 nonˉpersistent ᮍᓣⱘ⍜ᙃᇚ㹿϶ᓗDŽ persistent ᮍᓣⱘ MDB ৃҹֱ䆕⍜ᙃӴ䗦ⱘৃ䴴ᗻ,гህᰃབᵰ EJB ᆍ఼ߎ⦄䯂乬㗠 JMS ᳡ࡵ఼ձ✊Ӯᇚ 90ǃ䇈䇈೼ weblogic Ёᓔথ⍜ᙃ Bean ᯊⱘ persistent Ϣ non•persisten ⱘᏂ߿ 䍞໡ᴖˈ乍Ⳃ䯳ӡ䍞ᑲ໻߭䍞㛑ԧ⦄㡃ད䆒䅵ⱘ䞡㽕ᗻDŽ ˡ˦˞ᶊᵘⱘ䆒䅵དണᇚⳈ᥹ᕅડ㋏㒳ⱘᗻ㛑ǃৃᠽሩᗻǃৃ㓈ᡸᗻǃ㒘ӊৃ䞡⫼ᗻঞᓔথᬜ⥛DŽ乍Ⳃ Business Interface˖䗮䖛䖰⿟˄ᴀഄ˅᥹ষ੠ Bean ㉏ᅲ⦄Ⳍৠ᥹ষ㾘㣗Ϯࡵ䘏䕥ϔ㟈ᗻ Generic Attribute Access˖䗮䖛 AttibuteAccess ᥹ষㅔ࣪ EntityBean ᭄᥂ᦤկ⡍ᗻ Data Transfer Object Factory˖䗮䖛 DTO Factory ㅔ࣪ EntityBean ᭄᥂ᦤկ⡍ᗻ EJB Command Pattern˖Փ⫼ Command JavaBeans পҷ SessionBeanˈᅲ⦄䕏䞣㑻䆓䯂 Message Façade Pattern˖ᅲ⦄ᓖℹ䇗⫼ Session Façade Pattern˖Փ⫼ SessionBean 䆓䯂 EntityBean 89ǃ䇈䇈Դ᠔❳ᙝ៪਀䇈䖛ⱘ j2ee Ёⱘ޴⾡ᐌ⫼῵ᓣ?ঞᇍ䆒䅵῵ᓣⱘϔѯⳟ⊩ 㸠ˈЎϡৠⱘ᪡԰㋏㒳ᓔথDŽ 䆌ᑨ⫼⿟ᑣ䯈Ѧ᪡԰ⱘण䆂DŽ ݊ⳂⱘЎ˖⫼ϡৠⱘ⿟ᑣ䆒䅵䇁㿔кݭ೼ϡৠⱘ䖯⿟Ё䖤ܕ䆥Ў㘨㓪)੠ ࣪DŽᅗⱘ㒘៤ᰃ᥹ষᅮН䇁㿔(IDL), 䇁㿔㒥ᅮ(binding:гޚ(Object Management Groupˈ㓽ݭЎ OMG)ᷛ ᰃ݀݅ᇍ䈵䇋∖ҷ⧚㒧ᵘ(Common Object Request Broker Architecture)ˈ⬅ᇍ䈵ㅵ⧚㒘㒛ޚCORBA ᷛ 88ǃCORBA ᰃҔМ?⫼䗨ᰃҔМ? ৃҹՓ⫼ㅵ⧚᥻ࠊৄˈ೼ᅗⱘ Deployment Ёৃҹᶹⳟ᠔᳝ᏆথᏗⱘ EJB 87ǃབԩᶹⳟ೼ weblogic ЁᏆ㒣থᏗⱘ EJB? ᕫⱘᆚ䩹੠᭄ᄫ䆕кDŽৃҹ䜡㕂ℸ SSL 䖲᥹ᰃऩ৥䖬ᰃঠ৥ⱘDŽ 䜡㕂݊ッষˈ೼ѻક῵ᓣϟ䳔㽕Ң CA 㦋প⾕᳝ᆚ䩹੠᭄ᄫ䆕кˈ߯ᓎ identity ੠ trust keystoreˈ㺙䕑㦋 㔎ⳕᅝ㺙ЁՓ⫼ DemoIdentity.jks ੠ DemoTrust.jks KeyStoreᅲ⦄ SSLˈ䳔㽕䜡㕂᳡ࡵ఼Փ⫼ Enable SSLˈ 䖯㸠 ssl ⱘ䜡㕂(ޚ86ǃབԩ೼ weblogic Ё䖯㸠 ssl 䜡㕂Ϣᅶ᠋ッⱘ䅸䆕䜡㕂៪䇈䇈 j2ee(ᷛ ԧ Bean ϔ㠀䖬䳔㽕 weblogic•cmp•rdbms• jar.xml ϡৠ㉏ൟⱘ EJB ⍝ঞⱘ䜡㕂᭛ӊϡৠˈ䛑⍝ঞࠄⱘ䜡㕂᭛ӊࣙᣀ ejb• jar.xml,weblogic•ejb•jar.xmlCMPᅲ 85ǃ೼ weblogic ЁথᏗ ejb 䳔⍝ঞࠄાѯ䜡㕂᭛ӊ ⱘ WEB•INF Ⳃᔩⱘ classes ⳂᔩЁˈ䆒㕂᳡ࡵ఼ⱘ㔎ⳕᑨ⫼ᇚৃҹᅲ⦄೼⌣㾜఼Ϟ᮴䳔䕧ܹᑨ⫼ৡDŽ ᑨ⫼Ⳃᔩ䳔㽕⒵䎇 Web ᑨ⫼Ⳃᔩ㽕∖ˈjsp ᭛ӊৃҹⳈ᥹ᬒ೼ᑨ⫼ⳂᔩЁˈJavabean 䳔㽕ᬒ೼ᑨ⫼Ⳃᔩ Domain Ⳃᔩ᳡ࡵ఼Ⳃᔩ applicationsˈᇚᑨ⫼Ⳃᔩᬒ೼ℸⳂᔩϟᇚৃҹ԰Ўᑨ⫼䆓䯂ˈབᵰᰃ Web ᑨ⫼ˈ ϔϾ㞾Ꮕݭⱘ javaBean 䆹བԩࡲ? ⱘ೼⌣㾜఼Ϟህৃᠧܹ http://Џᴎ:ッষো//helloword.jsp ህৃҹⳟࠄ䖤㸠㒧ᵰњ? জ↨བ䖭݊Ё⫼ࠄњ w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! J2EE Ёⱘ WEB ᆍ఼DŽ خⱘ WEB ᳡ࡵ఼ህিޚDŽ៥Ӏᡞ䙉ᅜҹϞᷛޚᷛ TOMCAT,WEBLOGIC,WEBSPHERE ㄝDŽ䆹ᆍ఼ᦤկⱘ᥹ষϹḐ䙉ᅜ J2EE 㾘㣗Ёⱘ WEB APPLICATION Ёⱘ⦃๗ব䞣᥹** Ѧˈϡᖙ݇⊼݊ᅗ㋏㒳䯂乬DŽЏ㽕᳝ WEB ᳡ࡵ఼ᴹᅲ⦄DŽ՟བ˖ web ᆍ఼˖㒭໘Ѣ݊Ёⱘᑨ⫼⿟ᑣ㒘ӊ˄JSPˈSERVLET˅ᦤկϔϾ⦃๗ˈՓ JSP,SERVLET Ⳉ᥹᳈ᆍ఼ 95ǃ䇋ᇍҹϟ೼ J2EE Ёᐌ⫼ⱘৡ䆡䖯㸠㾷䞞(៪ㅔऩᦣ䗄) ᠔ᕫ㒧ᵰЎ l e f t + m I d d l e + r I g h t 䗦ᔦഄՓ⫼ᖿ䗳ᥦᑣᮍ⊩ᇍ right 䖯㸠ᥦᑣ 䗦ᔦഄՓ⫼ᖿ䗳ᥦᑣᮍ⊩ᇍ left 䖯㸠ᥦᑣ ㄝѢᬃ⚍ ㋴䛑໻Ѣܗ㋴䛑ᇣѢㄝѢᬃ⚍ˈ㗠 right Ёⱘܗ㋴ߚࡆЎϸ↉ left ੠ r I g h tˈՓᕫ l e f t Ёⱘܗᡞԭϟⱘ ㋴Ўᬃ⚍ܗ㋴԰Ў m I d d l eˈ䆹ܗҢ a[ 0 :n• 1 ]Ё䗝ᢽϔϾ / /Փ⫼ᖿ䗳ᥦᑣᮍ⊩ᇍ a[ 0 :n• 1 ]ᥦᑣ ᖿ䗳ᥦᑣⱘӾҷⷕDŽ ˄Ⳉ᥹䗝ᢽᥦᑣǃේᥦᑣ˅ˈᔦᑊᥦᑣˈߚ䜡ᥦᑣ˄ㆅᥦᑣǃ෎᭄ᥦᑣ˅ ᥦᑣⱘᮍ⊩᳝˖ᦦܹᥦᑣ˄Ⳉ᥹ᦦܹᥦᑣǃᏠᇨᥦᑣ˅ˈѸᤶᥦᑣ˄ݦ⊵ᥦᑣǃᖿ䗳ᥦᑣ˅ˈ䗝ᢽᥦᑣ 94ǃᥦᑣ䛑᳝ા޴⾡ᮍ⊩˛䇋߫ВDŽ⫼ JAVA ᅲ⦄ϔϾᖿ䗳ᥦᑣDŽ ԰Ўᇍᑨ᥹ষ㉏ൟⱘᅲ՟㹿Փ⫼DŽ 䖰⿟᥹ষ੠ Home ᥹ষϡ䳔㽕Ⳉ᥹ᅲ⦄ˈҪӀⱘᅲ⦄ҷⷕᰃ⬅᳡ࡵ఼ѻ⫳ⱘˈ⿟ᑣ䖤㸠Ёᇍᑨᅲ⦄㉏Ӯ 93ǃEJB 䳔Ⳉ᥹ᅲ⦄ᅗⱘϮࡵ᥹ষ៪ Home ᥹ষ৫ˈ䇋ㅔ䗄⧚⬅DŽ Ҏਬৃҹ䇗⫼෎㉏Ёⱘᮍ⊩㗠ϡᖙ㗗㰥ࠄᑩ䖨ಲⱘᰃાϔϾᄤ㉏ⱘᅲ՟DŽ ⊩DŽ✊ৢ䳔㽕ᅮНϔϾᎹॖ㉏ˈᎹॖ㉏ৃҹḍ᥂ᴵӊ⫳៤ϡৠⱘᄤ㉏ᅲ՟DŽᔧᕫࠄᄤ㉏ⱘᅲ՟ৢˈᓔথ 䳔㽕ᅮНϔϾ෎㉏ˈ䆹㉏ⱘᄤ㉏䗮䖛ϡৠⱘᮍ⊩ᅲ⦄њ෎㉏Ёⱘᮍܜϡৠⱘ᭄᥂䖯㸠њϡৠⱘ᪡԰DŽ佪 ㉏ЁᶤϔϾ㉏ⱘᅲ՟ˈ䗮ᐌ䖭ϔ㒘㉏᳝ϔϾ݀݅ⱘᢑ䈵⠊㉏ᑊϨᅲ⦄њⳌৠⱘᮍ⊩ˈԚᰃ䖭ѯᮍ⊩䩜ᇍ Ꮉॖ῵ᓣ˖Ꮉॖ῵ᓣᰃϔ⾡㒣ᐌ㹿Փ⫼ࠄⱘ῵ᓣˈḍ᥂Ꮉॖ῵ᓣᅲ⦄ⱘ㉏ৃҹḍ᥂ᦤկⱘ᭄᥂⫳៤ϔ㒘 Template Method˄῵ᵓᮍ⊩῵ᓣ˅ˈ Chain Of Responsibleity˄䋷ӏ䫒῵ᓣ˅ Observer˄㾖ᆳ㗙῵ᓣ˅ˈ State˄⢊ᗕ῵ᓣ˅ˈ Strategy˄ㄪ⬹῵ᓣ˅ˈ 㗙῵ᓣ˅ˈ Memento˄໛ᖬᔩ῵ᓣ˅ˈذIterator˄䗁ҷᄤ῵ᓣ˅ˈ Mediator˄䇗 Command˄ੑҸ῵ᓣ˅ˈ Interpreter˄㾷䞞఼῵ᓣ˅ˈ Visitor˄䆓䯂㗙῵ᓣ˅ˈ ῵ᓣ˅ˈ Proxy˄ҷ⧚῵ᓣ˅ˈܗDecorator˄㺙佄῵ᓣ˅ˈ Flyweight˄ѿ Adapter˄䗖䜡఼῵ᓣ˅ˈ Bridge˄ḹṕ῵ᓣ˅ˈ Composite˄ড়៤῵ᓣ˅ˈ Prototype˄ॳྟ῵ൟ῵ᓣ˅ˈSingleton˄ऩ՟῵ᓣ˅ˈ Façade˄䮼䴶῵ᓣ˅ˈ Factory˄Ꮉॖ῵ᓣ˅ˈ Builder˄ᓎ䗴῵ᓣ˅ˈ Factory Method˄Ꮉॖᮍ⊩῵ᓣ˅ˈ JavaЁⱘ 23 ⾡䆒䅵῵ᓣ˖ 92ǃj2ee ᐌ⫼ⱘ䆒䅵῵ᓣ˛䇈ᯢᎹॖ῵ᓣDŽ public void destroy() w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! 99ǃjava Ё᳝޴⾡ᮍ⊩ৃҹᅲ⦄ϔϾ㒓⿟˛⫼ҔМ݇䬂ᄫׂ佄ৠℹᮍ⊩? Stop()੠ suspend()ᮍ⊩Ўԩϡ᥼ ҹ䖯㸠ѸѦ੠䞡⫼DŽ ᰃϔϾ Servlet˅ˈ䗮䖛䖭⾡䆒䅵῵ൟᡞᑨ⫼䘏䕥ˈ໘⧚䖛⿟੠ᰒ⼎䘏䕥ߚ៤ϡৠⱘ㒘ӊᅲ⦄DŽ䖭ѯ㒘ӊৃ ӊᅲ⦄˅ˈ “View“ ᰃᑨ⫼ⱘ㸼⼎䴶˄⬅ JSP 义䴶ѻ⫳˅ˈ“Controller“ ᰃᦤկᑨ⫼ⱘ໘⧚䖛⿟᥻ࠊ˄ϔ㠀 MVC ᰃ ModelˉViewˉController ⱘㅔݭDŽ“Model“ ҷ㸼ⱘᰃᑨ⫼ⱘϮࡵ䘏䕥˄䗮䖛 JavaBeanˈEJB 㒘 98ǃMVC ⱘ৘Ͼ䚼ߚ䛑᳝䙷ѯᡔᴃᴹᅲ⦄?བԩᅲ⦄? ৃҹDŽᖙ乏া᳝ϔϾ㉏ৡϢ᭛ӊৡⳌৠDŽ 97ǃϔϾ“.java“⑤᭛ӊЁᰃ৺ৃҹࣙᣀ໮Ͼ㉏˄ϡᰃݙ䚼㉏˅˛᳝ҔМ䰤ࠊ˛ 䇁হ≵᳝ᇍᶤ⾡“ᓖᐌ“䖯㸠໘⧚ˈේᷜህӮሩᓔˈⳈࠄ䘛ࠄ᳝໘⧚䖭⾡“ᓖᐌ“ⱘ try 䇁হDŽ ↣ᔧ䘛ࠄϔϾ try 䇁হˈ“ᓖᐌ“ⱘḚᶊህᬒࠄේᷜϞ䴶ˈⳈࠄ᠔᳝ⱘ try 䇁হ䛑ᅠ៤DŽབᵰϟϔ㑻ⱘ try ৃҹ೼ϔϾ៤ਬߑ᭄䇗⫼ⱘ໪䴶ݭϔϾ try 䇁হˈ೼䖭Ͼ៤ਬߑ᭄ݙ䚼ݭ঺ϔϾ try 䇁হֱᡸ݊ҪҷⷕDŽ Finally Ў⹂ֱϔ↉ҷⷕϡㅵথ⫳ҔМ“ᓖᐌ“䛑㹿ᠻ㸠ϔ↉ҷⷕDŽ Throws ⫼ᴹᷛᯢϔϾ៤ਬߑ᭄ৃ㛑ᡯߎⱘ৘⾡“ᓖᐌ“DŽ Throw 䇁হ⫼ᴹᯢ⹂ഄᡯߎϔϾ“ᓖᐌ“DŽ ᤝⱘ“ᓖᐌ“ⱘ㉏ൟDŽ ⫼ try ᴹᣛᅮϔഫ乘䰆᠔᳝“ᓖᐌ“ⱘ⿟ᑣDŽ㋻䎳೼ try ⿟ᑣৢ䴶ˈᑨࣙ৿ϔϾ catch ᄤহᴹᣛᅮԴᛇ㽕ᤩ ៪᳔ৢ˄finally˅⬅㔎ⳕ໘⧚఼ᴹ໘⧚DŽ ᑣˈབᵰߎ⦄ᓖᐌˈ㋏㒳Ӯᡯߎ˄throws˅ϔϾᓖᐌˈ䖭ᯊ׭Դৃҹ䗮䖛ᅗⱘ㉏ൟᴹᤩᤝ˄catch˅ᅗˈ ϟᰃ⫼ try ᴹᠻ㸠ϔ↉⿟މ⧚ᰃ䗮䖛 5 Ͼ݇䬂䆡ᴹᅲ⦄ⱘ˖tryǃcatchǃthrowǃthrows ੠ finallyDŽϔ㠀ᚙ ᇍ䈵ˈ䆹ᇍ䈵Ёࣙ৿᳝ᓖᐌֵᙃˈ䇗⫼䖭Ͼᇍ䈵ⱘᮍ⊩ৃҹᤩ㦋ࠄ䖭Ͼᓖᐌᑊ䖯㸠໘⧚DŽJava ⱘᓖᐌ໘ ↣Ͼᓖᐌ䛑ᰃϔϾᇍ䈵ˈᅗᰃ Throwable ㉏៪݊ᅗᄤ㉏ⱘᅲ՟DŽᔧϔϾᮍ⊩ߎ⦄ᓖᐌৢ֓ᡯߎϔϾᓖᐌ Java 䗮䖛䴶৥ᇍ䈵ⱘᮍ⊩䖯㸠ᓖᐌ໘⧚ˈᡞ৘⾡ϡৠⱘᓖᐌ䖯㸠ߚ㉏ˈᑊᦤկњ㡃དⱘ᥹ষDŽ೼ Java Ёˈ ৃҹᡯߎᓖᐌ৫˛ 96ǃJAVA 䇁㿔བԩ䖯㸠ᓖᐌ໘⧚ˈ݇䬂ᄫ˖throws,throw,try,catch,finally ߚ߿ҷ㸼ҔМᛣН˛೼ try ഫЁ 䇗⫼DŽᔧ✊䖭ᰃ㽕䗮䖛ϔᅮⱘ㾘㣗ᠡ㛑೼ᓖᵘⱘ㋏㒳П䯈䖯㸠䗮ֵDŽRMI ᰃ JAVA ⡍᳝ⱘDŽ བˈ䖰⿟᳝ϔৄ䅵ㅫᴎϞ䖤㸠ϔϾ⿟ᑣˈᅗᦤկ㙵⼼ߚᵤ᳡ࡵˈ៥Ӏৃҹ೼ᴀഄ䅵ㅫᴎϞᅲ⦄ᇍ݊Ⳉ᥹ RMI/IIOP:˄Remote Method Invocation /internet ᇍ䈵䇋∖Ёҟण䆂˅ҪӀЏ㽕⫼Ѣ䗮䖛䖰⿟䇗⫼᳡ࡵDŽ՟ 䚼㕆੠㞾ᅮНᅲ⦄㞾ᏅⱘϾᗻᅝܼ᥻ࠊㄪ⬹DŽ JAF˖˄ Java Action FrameWork˅JAVA ᅝܼ䅸䆕ḚᶊDŽᦤկϔѯᅝܼ᥻ࠊᮍ䴶ⱘḚᶊDŽ䅽ᓔথ㗙䗮䖛৘⾡ ষेৃDŽ JTA˖˄ Java Transaction API˅JAVA џࡵ᳡ࡵDŽᦤկ৘⾡ߚᏗᓣџࡵ᳡ࡵDŽᑨ⫼⿟ᑣা䳔䇗⫼݊ᦤկⱘ᥹ JMS˖˄ Java Message Service˅JAVA ⍜ᙃ᳡ࡵDŽЏ㽕ᅲ⦄৘Ͼᑨ⫼⿟ᑣП䯈ⱘ䗮䆃DŽࣙᣀ⚍ᇍ⚍੠ᑓ᪁DŽ 䅽݊ᅗ৘ഄⱘᑨ⫼⿟ᑣ೼݊Ϟ䴶⬭ϟ㞾Ꮕⱘ㋶ᓩˈҢ㗠⒵䎇ᖿ䗳ᶹᡒ੠ᅮԡߚᏗᓣᑨ⫼⿟ᑣⱘࡳ㛑DŽ JNDI˖˄ Java Naming & Directory Interface˅JAVA ੑৡⳂᔩ᳡ࡵDŽЏ㽕ᦤկⱘࡳ㛑ᰃ˖ᦤկϔϾⳂᔩ㋏㒳ˈ ⱘ᥹ষᴹ㦋ᕫ㋏㒳㑻߿ⱘ᳡ࡵDŽ՟བ䚂ӊ᳡ࡵǃџࡵㅵ⧚DŽ ࡳ㛑DŽা㽕⒵䎇 J2EE 㾘㣗ⱘ EJB ᬒܹ䆹ᆍ఼ˈ偀ϞህӮ㹿ᆍ఼䖯㸠催ᬜ⥛ⱘㅵ⧚DŽᑊϨৃҹ䗮䖛⦄៤ EJB ᆍ఼˖Enterprise java beanᆍ఼DŽ᳈݋᳝㸠Ϯ乚ඳ⡍㡆DŽҪᦤկ㒭䖤㸠೼݊Ёⱘ㒘ӊ EJB ৘⾡ㅵ⧚ w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! 106ǃᰃ৺ৃҹҢϔϾ static ᮍ⊩ݙ䚼থߎᇍ䴲 static ᮍ⊩ⱘ䇗⫼˛ ህৃҹᇚখ᭄Ў obj ⱘᇍ䈵ݭߎ(ेֱᄬ݊⢊ᗕ)ˈ㽕ᘶ໡ⱘ䆱߭⫼䕧ܹ⌕DŽ Ͼ ObjectOutputStream(ᇍ䈵⌕)ᇍ䈵ˈ᥹ⴔˈՓ⫼ ObjectOutputStream ᇍ䈵ⱘ writeObject(Object obj)ᮍ⊩ Serializable াᰃЎњᷛ⊼䆹ᇍ䈵ᰃৃ㹿ᑣ߫࣪ⱘˈ✊ৢՓ⫼ϔϾ䕧ߎ⌕(བ˖FileOutputStream)ᴹᵘ䗴ϔ ᑣ߫࣪ⱘᅲ⦄˖ᇚ䳔㽕㹿ᑣ߫࣪ⱘ㉏ᅲ⦄ Serializable ᥹ষˈ䆹᥹ষ≵᳝䳔㽕ᅲ⦄ⱘᮍ⊩ˈimplements ᠔ᓩথⱘ䯂乬DŽ ೼ᇍᇍ䈵⌕䖯㸠䇏ݭ᪡԰ᯊއ䈵䖯㸠䇏ݭ᪡԰ˈгৃᇚ⌕࣪ৢⱘᇍ䈵Ӵ䕧Ѣ㔥㒰П䯈DŽᑣ߫࣪ᰃЎњ㾷 ᑣ߫࣪ህᰃϔ⾡⫼ᴹ໘⧚ᇍ䈵⌕ⱘᴎࠊˈ᠔䇧ᇍ䈵⌕гህᰃᇚᇍ䈵ⱘݙᆍ䖯㸠⌕࣪DŽৃҹᇍ⌕࣪ৢⱘᇍ 105ǃҔМᰃ java ᑣ߫࣪ˈབԩᅲ⦄ java ᑣ߫࣪˛ class A a; a.i =10;//ৃব Static I = 10; //ᐌ䞣 104ǃ䴭ᗕব䞣੠ᅲ՟ব䞣ⱘऎ߿˛ ᠟ࡼᠻ㸠 System.gc()ˈ䗮ⶹ GC 䖤㸠ˈԚᰃ Java 䇁㿔㾘㣗ᑊϡֱ䆕 GC ϔᅮӮᠻ㸠DŽ ᰃ“ϡৃ䖒ⱘ“DŽᔧ GC ⹂ᅮϔѯᇍ䈵Ў“ϡৃ䖒“ᯊˈGC ህ᳝䋷ӏಲᬊ䖭ѯݙᄬぎ䯈DŽৃҹDŽ⿟ᑣਬৃҹ 䞛⫼᳝৥೒ⱘᮍᓣ䆄ᔩ੠ㅵ⧚ේ(heap)Ёⱘ᠔᳝ᇍ䈵DŽ䗮䖛䖭⾡ᮍᓣ⹂ᅮાѯᇍ䈵ᰃ“ৃ䖒ⱘ“ˈાѯᇍ䈵 DŽ䗮ᐌˈGCމᇍѢ GC ᴹ䇈ˈᔧ⿟ᑣਬ߯ᓎᇍ䈵ᯊˈGC ህᓔྟⲥ᥻䖭Ͼᇍ䈵ⱘഄഔǃ໻ᇣҹঞՓ⫼ᚙ ൗഒಲᬊ˛ 103ǃൗഒಲᬊ఼ⱘ෎ᴀॳ⧚ᰃҔМ˛ൗഒಲᬊ఼ৃҹ偀Ϟಲᬊݙᄬ৫˛᳝ҔМࡲ⊩Џࡼ䗮ⶹ㰮ᢳᴎ䖯㸠 ໮ᗕᗻⱘϔ⾡㸼⦄ˈ䞡䕑 Overloading ᰃϔϾ㉏Ё໮ᗕᗻⱘϔ⾡㸼⦄DŽ ᮍ⊩ⱘ䞡ݭ Overriding ੠䞡䕑 Overloading ᰃ Java ໮ᗕᗻⱘϡৠ㸼⦄DŽ䞡ݭ Overriding ᰃ⠊㉏Ϣᄤ㉏П䯈 102ǃjava Ёᅲ⦄໮ᗕⱘᴎࠊᰃҔМ˛ ӮDŽབ˖int I,i2; return (i•i2); //when iЎ䎇໳໻ⱘℷ᭄,i2 Ў䎇໳໻ⱘ䋳᭄DŽ㒧ᵰӮ䗴៤⑶ԡˈᇐ㟈䫭䇃DŽ 101ǃjava ЁӮᄬ೼ݙᄬ⊘ⓣ৫ˈ䇋ㅔऩᦣ䗄DŽ OutputStreamWriterDŽ೼ java.io ࣙЁ䖬᳝䆌໮݊Ҫⱘ⌕ˈЏ㽕ᰃЎњᦤ催ᗻ㛑੠Փ⫼ᮍ֓DŽ ᄫ㡖⌕ˈᄫヺ⌕DŽᄫ㡖⌕㒻ᡓѢ InputStream OutputStreamˈᄫヺ⌕㒻ᡓѢ InputStreamReader ㉏˛ 100ǃjava Ё᳝޴⾡㉏ൟⱘ⌕˛JDK Ў↣⾡㉏ൟⱘ⌕ᦤկњϔѯᢑ䈵㉏ҹկ㒻ᡓˈ䇋䇈ߎҪӀߚ߿ᰃાѯ ܹㄝᕙ⢊ᗕDŽ㢹ᷛᖫᣛߎ㒓⿟ᑨᔧᘶ໡ˈ߭⫼ϔϾ notify()䞡ᮄਃࡼ㒓⿟DŽ Thread ㉏Ё㕂ܹϔϾᷛᖫˈᣛߎ㒓⿟ᑨ䆹⌏ࡼ䖬ᰃᣖ䍋DŽ㢹ᷛᖫᣛߎ㒓⿟ᑨ䆹ᣖ䍋ˈ֓⫼ wait()ੑ݊䖯 㒓⿟ˈৠᯊজ䆩೒Փ⫼ӏԩϔϾ䫕ᅮⱘ䌘⑤ˈህӮ䗴៤⅏䫕DŽ᠔ҹϡᑨ䆹Փ⫼ suspend()ˈ㗠ᑨ೼㞾Ꮕⱘ ԩ㒓⿟䛑ϡ㛑䆓䯂䫕ᅮⱘ䌘⑤ˈ䰸䴲㹿“ᣖ䍋“ⱘ㒓⿟ᘶ໡䖤㸠DŽᇍӏԩ㒓⿟ᴹ䇈ˈབᵰᅗӀᛇᘶ໡Ⳃᷛ ϟᴹˈԚैҡ✊ᣕ᳝೼䖭Пࠡ㦋ᕫⱘ䫕ᅮDŽℸᯊˈ݊Ҫӏذ⫳⅏䫕DŽ䇗⫼ suspend()ⱘᯊ׭ˈⳂᷛ㒓⿟Ӯ 䙷М݊Ҫ㒓⿟㛑೼䙷⾡⢊ᗕϟẔᶹ੠ׂᬍᅗӀDŽ㒧ᵰᕜ䲒Ẕᶹߎⳳℷⱘ䯂乬᠔೼DŽSuspend()ᮍ⊩ᆍᯧথ ডᇍՓ⫼ stop()ˈᰃ಴ЎᅗϡᅝܼDŽᅗӮ㾷䰸⬅㒓⿟㦋পⱘ᠔᳝䫕ᅮˈ㗠Ϩབᵰᇍ䈵໘Ѣϔ⾡ϡ䖲䌃⢊ᗕˈ ⫼ synchronized ݇䬂ᄫׂ佄ৠℹᮍ⊩ ᳝ϸ⾡ᅲ⦄ᮍ⊩ˈߚ߿ᰃ㒻ᡓ Thread ㉏Ϣᅲ⦄ Runnable ᥹ষ 㤤Փ⫼˛ w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! 117ǃBS Ϣ CS ⱘ㘨㋏Ϣऎ߿DŽ WEB SERVER˖IISǃ Apache ᑨ⫼᳡ࡵ఼˖WeblogicǃTomcatǃJboss 116ǃᑨ⫼᳡ࡵ఼Ϣ WEB SERVER ⱘऎ߿˛ ৃҹ㒻ᡓ݊Ҫ㉏៪ᅠ៤݊Ҫ᥹ষˈ೼ swing 㓪⿟Ёᐌ⫼ℸᮍᓣDŽ ⦄)interface(᥹ষ)? 115ǃAnonymous Inner Class (ओৡݙ䚼㉏) ᰃ৺ৃҹ extends(㒻ᡓ)݊ᅗ㉏ˈᰃ৺ৃҹ implements(ᅲ EMBED ᷛ䆄DŽ ᗻDŽ Jsp:forward˖ᡞ䇋∖䕀ࠄϔϾᮄⱘ义䴶DŽ Jsp:plugin˖ḍ᥂⌣㾜఼㉏ൟЎ Java ᦦӊ⫳៤ OBJECT ៪ ՟࣪ϔϾ JavaBeanDŽ Jsp:setProperty˖䆒㕂 JavaBean ⱘሲᗻDŽ Jsp:getProperty˖䕧ߎᶤϾ JavaBean ⱘሲ JSP ᳝݅ҹϟ 6 ⾡෎ᴀࡼ԰ jsp:include˖೼义䴶㹿䇋∖ⱘᯊ׭ᓩܹϔϾ᭛ӊDŽ Jsp:useBean˖ᇏᡒ៪㗙ᅲ 114ǃjsp ᳝ાѯࡼ԰?԰⫼ߚ߿ᰃҔМ? ῵ᓣDŽ⫼ᴹᓔথ JSP/Servlet ៪㗙 J2EE ⱘⳌ݇ᑨ⫼DŽㅔऩᎹॖ῵ᓣㄝDŽ ᮍḜˈ᮴䳔೼䞡໡ⳌৠⱘᎹ԰DŽЏ㽕⫼ࠄњ MVC ⱘ䆒䅵އ⾡ᮍᓣˈԴৃҹ᮴᭄⃵ഄՓ⫼䙷ѯᏆ᳝ⱘ㾷 ᮍḜⱘḌᖗDŽ䗮䖛䖭އ↣Ͼ῵ᓣ䛑ᦣ䗄њϔϾ೼៥Ӏⱘ⦃๗Ёϡᮁߎ⦄ⱘ䯂乬ˈ✊ৢᦣ䗄њ䆹䯂乬ⱘ㾷 113ǃᓔথЁ䛑⫼ࠄњ䙷ѯ䆒䅵῵ᓣ?⫼೼ҔМഎড়? ᐌ⫼ⱘ᥹ষ˖Remote List Map Document NodeList ᐌ⫼ⱘࣙ˖java.lang java.awt java.io java.util java.sql ᐌ⫼ⱘ㉏˖BufferedReader BufferedWriter FileReader FileWirter String Integer 112ǃ䇈ߎϔѯᐌ⫼ⱘ㉏ˈࣙˈ᥹ষˈ䇋৘В 5 Ͼ ᓎ῵䇁㿔 UMLDŽ⫼՟೒,䴭ᗕ೒(ࣙᣀ㉏೒ǃᇍ䈵೒੠ࣙ೒),㸠Ў೒,ѸѦ೒(乎ᑣ೒,ড়԰೒),ᅲ⦄೒DŽޚᷛ 111ǃUML ᮍ䴶 ӊ,Business ሖ੠㒘ӊ,ӕϮֵᙃ㋏㒳(EIS)ሖDŽ ৃ೼ϡৠ䅵ㅫᴎϞˈᑊϨ໘ѢⳌᑨⱘሖ⃵(tier)ЁDŽ᠔ሲሖ⃵ࣙᣀᅶ᠋ሖ(clietn tier)㒘ӊ,web ሖ੠㒘 ൟ(enterpriese application model).೼䖭ḋⱘϔϾᑨ⫼㋏㒳Ёˈৃᣝ✻ࡳ㛑ߦߚЎϡৠⱘ㒘ӊˈ䖭ѯ㒘ӊজ J2EE ᰃ Sun ݀ৌᦤߎⱘ໮ሖ(multi•diered),ߚᏗᓣ(distributed),෎Ѣ㒘ӊ(component•base)ⱘӕϮ㑻ᑨ⫼῵ 110ǃJ2EE ᰃҔМ˛ value ৃ໮ؐDŽ ㋴,ݙ䚼ᥦᑣDŽMap ֱᄬ key•value ؐˈܗ㋴DŽSet ᮴⊩ᢹ᳝䞡໡ܗ㋴ˈৃ᳝䞡໡ܗList ҹ⡍ᅮ⃵ᑣᴹᣕ᳝ ㋴ᯊˈ৘᳝ҔМ⡍⚍˛ܗ109ǃListǃMapǃSet ϝϾ᥹ষˈᄬপ ⫼ break; return ᮍ⊩DŽ 108ǃ೼ JAVA Ёˈབԩ䏇ߎᔧࠡⱘ໮䞡ጠ༫ᕾ⦃˛ Clone ᳝㔎ⳕ㸠Ўˈsuper.clone();Ҫ䋳䋷ѻ⫳ℷ⹂໻ᇣⱘぎ䯈ˈᑊ䗤ԡ໡ࠊDŽ 107ǃݭ clone()ᮍ⊩ᯊˈ䗮ᐌ䛑᳝ϔ㸠ҷⷕˈᰃҔМ˛ ϡৃҹ,བᵰ݊Ёࣙ৿ᇍ䈵ⱘ method()˗ϡ㛑ֱ䆕ᇍ䈵߱ྟ࣪. w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! ˓ˊ⫼᠋᥹ষϡৠ ᇣ. B/S ᓎゟ೼ᑓඳ㔥Ϟ, 䴶৥ϡৠⱘ⫼᠋㕸, ߚᬷഄඳ, 䖭ᰃ C/S ᮴⊩԰ࠄⱘ. Ϣ᪡԰㋏㒳ᑇৄ݇㋏᳔ ⱘ㋏㒳 C/S ⿟ᑣৃҹ໘⧚⫼᠋䴶೎ᅮ, ᑊϨ೼Ⳍৠऎඳ, ᅝܼ㽕∖催䳔∖, Ϣ᪡԰㋏㒳Ⳍ݇. ᑨ䆹䛑ᰃⳌৠ ˒ˊ໘⧚䯂乬ϡৠ ϟ䕑ᅝ㺙ህৃҹᅲ⦄छ㑻. ࠄ᳔ᇣ.⫼᠋Ң㔥Ϟ㞾ᏅޣB/S ᵘӊ㒘៤,ᮍ䴶ᵘӊϾ߿ⱘ᳈ᤶ,ᅲ⦄㋏㒳ⱘ᮴㓱छ㑻. ㋏㒳㓈ᡸᓔ䫔 ⱘ㋏㒳 ϔϾܼᮄخC/S ⿟ᑣ⬅Ѣᭈԧᗻ, ᖙ乏ᭈԧ㗗ᆳ, ໘⧚ߎ⦄ⱘ䯂乬ҹঞ㋏㒳छ㑻. छ㑻䲒. ৃ㛑ᰃݡ ˑˊ㋏㒳㓈ᡸϡৠ ೼๭Ϟⱘ⷇༈Ḡᄤخϡᰃ B/S ᇍⱘ໮䞡㒧ᵘ,㽕∖ᵘӊⳌᇍ⣀ゟⱘࡳ㛑. 㛑໳Ⳍᇍ䕗དⱘ䞡⫼.ህܹфᴹⱘ令Ḡৃҹݡ߽⫼,㗠 ⱘᭈԧᗻ㗗㰥, ᵘӊⱘ䞡⫼ᗻϡབ೼ B/S 㽕∖ϟⱘᵘӊⱘ䞡⫼ᗻད.ܡC/S ⿟ᑣৃҹϡৃ䙓 ːˊ䕃ӊ䞡⫼ϡৠ ᵘӊᨁᓎⱘ㋏㒳. SUN ੠ IBM ᥼ⱘ JavaBean ᵘӊᡔᴃㄝ,Փ B/S᳈ࡴ៤❳. B/S 㒧ᵘⱘ⿟ᑣᶊᵘᰃথሩⱘ䍟࢓,Ң MS ⱘ.Net ㋏߫ⱘ BizTalk 2000 Exchange 2000ㄝ, ܼ䴶ᬃᣕ㔥㒰ⱘ B/S ᇍᅝܼҹঞ䆓䯂䗳ᑺⱘ໮䞡ⱘ㗗㰥, ᓎゟ೼䳔㽕᳈ࡴӬ࣪ⱘ෎⸔ПϞ. ↨ C/S ᳝᳈催ⱘ㽕∖ C/S ⿟ᑣৃҹ᳈ࡴ⊼䞡⌕⿟, ৃҹᇍᴗ䰤໮ሖ⃵᷵偠, ᇍ㋏㒳䖤㸠䗳ᑺৃҹ䕗ᇥ㗗㰥. ˏˊᇍ⿟ᑣᶊᵘϡৠ B/S ᓎゟ೼ᑓඳ㔥ПϞ, ᇍᅝܼⱘ᥻ࠊ㛑࡯Ⳍᇍᔅ, ৃ㛑䴶৥ϡৃⶹⱘ⫼᠋DŽ 㒧ᵘ䗖ᅰ. ৃҹ䗮䖛 B/S থᏗ䚼ߚৃ݀ᓔֵᙃ. C/S ϔ㠀䴶৥Ⳍᇍ೎ᅮⱘ⫼᠋㕸, ᇍֵᙃᅝܼⱘ᥻ࠊ㛑࡯ᕜᔎ. ϔ㠀催ᑺᴎᆚⱘֵᙃ㋏㒳䞛⫼ C/S ˎˊᇍᅝܼ㽕∖ϡৠ ᳝↨ C/S ᳈ᔎⱘ䗖ᑨ㣗ೈ, ϔ㠀া㽕᳝᪡԰㋏㒳੠⌣㾜఼ህ㸠 B/S ᓎゟ೼ᑓඳ㔥ПϞⱘ, ϡᖙᰃϧ䮼ⱘ㔥㒰⹀ӊ⦃๗,՟Ϣ⬉䆱Ϟ㔥, ⾳⫼䆒໛. ֵᙃ㞾Ꮕㅵ⧚. ᥂Ѹᤶ᳡ࡵ. C/S ϔ㠀ᓎゟ೼ϧ⫼ⱘ㔥㒰Ϟ, ᇣ㣗ೈ䞠ⱘ㔥㒰⦃๗, ሔඳ㔥П䯈ݡ䗮䖛ϧ䮼᳡ࡵ఼ᦤկ䖲᥹੠᭄ ˍˊ⹀ӊ⦃๗ϡৠ: C/S Ϣ B/S ऎ߿˖ ˳eb Server ৠ᭄᥂ᑧ䖯㸠᭄᥂ѸѦDŽ 䗮䖛 WWW ⌣㾜఼ᅲ⦄ˈϔ䚼ߚџࡵ䘏䕥೼ࠡッᅲ⦄ˈԚᰃЏ㽕џࡵ䘏䕥೼᳡ࡵ఼ッᅲ⦄DŽ⌣㾜఼䗮䖛 Explorerˈ᳡ࡵ఼ᅝ㺙 OracleǃSybaseǃInformix ៪ SQL Serverㄝ᭄᥂ᑧDŽ೼䖭⾡㒧ᵘϟˈ⫼᠋⬠䴶ᅠܼ B/˯ᰃ Brower/Server ⱘ㓽ݭˈᅶ᠋ᴎϞা㽕ᅝ㺙ϔϾ⌣㾜఼˄Browser˅ˈབ Netscape Navigator ៪ Internet བ OracleǃSybaseǃInformix ៪ SQL ServerDŽᅶ᠋ッ䳔㽕ᅝ㺙ϧ⫼ⱘᅶ᠋ッ䕃ӊDŽ C/S ᰃ Client/Server ⱘ㓽ݭDŽ᳡ࡵ఼䗮ᐌ䞛⫼催ᗻ㛑ⱘ PCǃᎹ԰キ៪ᇣൟᴎˈᑊ䞛⫼໻ൟ᭄᥂ᑧ㋏㒳ˈ w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! UDDI ᰃϔ༫෎Ѣ Web ⱘǃߚᏗᓣⱘǃЎ Web Service ᦤկⱘǃֵ˗ޚUDDI ⱘⳂⱘᰃЎ⬉ᄤଚࡵᓎゟᷛ SOAP ेㅔऩᇍ䈵䆓䯂ण䆂(Simple Object Access Protocol)ˈᅗᰃ⫼ѢѸᤶ XML 㓪ⷕֵᙃⱘ䕏䞣㑻ण䆂DŽ ᙃḐᓣϞҹᅮНッ⚍DŽⳌ݇ⱘ݋ԧッ⚍े㒘ড়៤Ўᢑ䈵ッ⚍˄᳡ࡵ˅DŽ ᇍ᪡԰੠⍜ᙃ䖯㸠ᢑ䈵ᦣ䗄ˈ✊ৢᇚ݊㒥ᅮࠄ݋ԧⱘ㔥㒰ण䆂੠⍜ܜֵᙃⱘ⍜ᙃ䖯㸠᪡԰DŽ䖭⾡Ḑᓣ佪 WSDL ᰃϔ⾡ XML Ḑᓣˈ⫼Ѣᇚ㔥㒰᳡ࡵᦣ䗄Ўϔ㒘ッ⚍ˈ䖭ѯッ⚍ᇍࣙ৿䴶৥᭛ḷֵᙃ៪䴶৥䖛⿟ JAXM(Java API for XML Messaging) ᰃЎ SOAP 䗮ֵᦤկ䆓䯂ᮍ⊩੠Ӵ䕧ᴎࠊⱘ APIDŽ ᑣЁԴা㽕Փ⫼䖭ѯ䗮⫼ⱘ᥹ষˈᔧԴ䳔㽕ᬍব݋ԧⱘᅲ⦄ᯊ׭гϡ䳔㽕ׂᬍҷⷕDŽ JAXP(Java API for XML Parsing) ᅮНњ೼ Java ЁՓ⫼ DOM, SAX, XSLTⱘ䗮⫼ⱘ᥹ষDŽ䖭ḋ೼Դⱘ⿟ 䖭ѯ㾘㣗Փᕫ Web Service 㛑Ϣ݊Ҫݐᆍⱘ㒘ӊ䖯㸠Ѧ᪡԰DŽ Web ServiceWeb Service ᰃ෎Ѣ㔥㒰ⱘǃߚᏗᓣⱘ῵ഫ࣪㒘ӊˈᅗᠻ㸠⡍ᅮⱘӏࡵˈ䙉ᅜ݋ԧⱘᡔᴃ㾘㣗ˈ 䞞DŽ 122ǃWEB SERVICE ৡ䆡㾷䞞DŽJSWDL ᓔথࣙⱘҟ㒡DŽJAXPǃJAXM ⱘ㾷䞞DŽSOAPǃUDDI,WSDL 㾷 ϔϾݙ䚼㉏ᇍ䈵ৃҹ䆓䯂߯ᓎᅗⱘ໪䚼㉏ᇍ䈵ⱘݙᆍ 121ǃݙ䚼㉏ৃҹᓩ⫼Ҫࣙ৿㉏ⱘ៤ਬ৫˛᳝≵᳝ҔМ䰤ࠊ˛ XML ҹঞᇍ䈵᭄᥂ᑧ˄ODBMS˅ㄝㄝˈՓᕫᑨ⫼ৃ⿏ỡᗻ᳈ᔎDŽ ࡳ㛑ˈ↨བ݇㋏᭄᥂ᑧǃ᭛ӊǃټᰃ䴶৥݇㋏᭄᥂ᑧ˄RDBMS˅JDO ᳈䗮⫼ˈᦤկࠄӏԩ᭄᥂ᑩሖⱘᄬ Ң㗠䲚Ёᯊ䯈੠㊒࡯೼Ϯࡵ䘏䕥ϞDŽ঺໪ˈJDO ᕜ♉⌏ˈ಴Ўᅗৃҹ೼ӏԩ᭄᥂ᑩሖϞ䖤㸠DŽJDBC া ⷕ˄བ JDBC API ⱘՓ⫼˅DŽ䖭ѯ㐕⧤ⱘ՟㸠Ꮉ԰Ꮖ㒣䕀⿏ࠄ JDO ѻકᦤկଚ䑿ϞˈՓᓔথҎਬ㾷㜅ߎᴹˈ ᭄᥂ᇍ䈵ᅠܼϡ䳔㽕乱໪ⱘҷټ಴ℸᇍᓔথҎਬᴹ䇈ˈᄬˈټ࣪ APIDŽJDO ᦤկњ䗣ᯢⱘᇍ䈵ᄬޚⱘᷛ JDO ᰃ Java ᇍ䈵ᣕЙ࣪ⱘᮄⱘ㾘㣗ˈЎ java data object ⱘㅔ⿄,гᰃϔϾ⫼Ѣᄬপᶤ⾡᭄᥂ҧᑧЁⱘᇍ䈵 120ǃJdo ᰃҔМ? 䖛 Java reflection APIs 㞾ࡼ໘⧚ JavaBeans ሲᗻǃ೑䰙࣪ⱘᦤ⼎੠⍜ᙃDŽ servlet Ёᦤկ݇㘨ᬃᣕˈᐂࡽᓔথਬ߯ᓎѸѦᓣ㸼ऩᑨ⫼DŽ ϝ.ᦤկњϔ㋏߫ᅲ⫼ᇍ䈵˖XML ໘⧚ǃ䗮 Ͼ controller servletˈ㛑ᇚ⫼᠋ⱘ䇋∖থ䗕ࠄⳌᑨⱘ Action ᇍ䈵DŽ Ѡ.JSP 㞾⬅ tag ᑧˈᑊϨ೼ controller 㛑ᓔথߎ෎Ѣ MVC(Model•View•Controller)䆒䅵῵ᓣⱘᑨ⫼ᵘᶊDŽ Struts᳝བϟⱘЏ㽕ࡳ㛑˖ ϔ.ࣙ৿ϔ Struts ᰃ䞛⫼ Java Servlet/JavaServer Pages ᡔᴃˈᓔথ Web ᑨ⫼⿟ᑣⱘᓔᬒ⑤ⷕⱘ frameworkDŽ䞛⫼ Struts 119ǃSTRUTS ⱘᑨ⫼(བ STRUTS ᶊᵘ) 䆒໛㓪⿟᥹ষ㉏ᑧDŽڣGDI ㉏Ў೒ 㗠㒓⿟П䯈ⱘㅵ⧚೼Ḍ໪ߑ᭄ᑧЁᅲ⦄DŽ LINUX ᅲ⦄ⱘህᰃ෎ѢḌᖗ䕏䞣㑻䖯⿟ⱘ“ϔᇍϔ“㒓⿟῵ൟˈϔϾ㒓⿟ᅲԧᇍᑨϔϾḌᖗ䕏䞣㑻䖯⿟ˈ 118ǃLINUX ϟ㒓⿟ˈGDI ㉏ⱘ㾷䞞DŽ ѸᯧЁᖗDŽڣB/S ֵᙃ⌕৥ৃব࣪, B•B B•C B•G ㄝֵᙃǃ⌕৥ⱘব࣪, ᳈ C/S ⿟ᑣϔ㠀ᰃ݌ൟⱘЁ༂䲚ᴗⱘᴎẄᓣ໘⧚, ѸѦᗻⳌᇍԢ ˔ˊֵᙃ⌕ϡৠ ᴀ. Ԣᓔথ៤ޣ,ԢޣB/S ᓎゟ೼⌣㾜఼Ϟ, ᳝᳈ࡴЄᆠ੠⫳ࡼⱘ㸼⦄ᮍᓣϢ⫼᠋Ѹ⌕. ᑊϨ໻䚼ߚ䲒ᑺ C/S ໮ᰃᓎゟⱘ Window ᑇৄϞ,㸼⦄ᮍ⊩᳝䰤,ᇍ⿟ᑣਬ᱂䘡㽕∖䕗催 w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! return ++x; public int addOne(final int x) { public class Something { 4. method ᇕ䫕䍋ᴹਸ਼? (ৠ⧚ˈabstract method ࠡϡ㛑ࡴ final)DŽ 㒚㡖ⱘˈᗢМৃҹ⫼ private ᡞ abstract ㄨḜ: 䫭DŽAbstract ⱘ methods ϡ㛑ҹ private ׂ佄DŽAbstract ⱘ methods ህᰃ䅽ᄤ㉏ implement(ᅲ⦄)݋ԧ ҔМ䫭৻?≴ڣ䖭ད } private abstract String doSomething (); abstract class Something { 3. (final བৠ abstract ੠ strictfpˈ䛑ᰃ䴲䆓䯂ׂ佄ヺˈstrictfp া㛑ׂ佄 class ੠ method 㗠䴲 variable)DŽ ব䞣 ㄨḜ: 䫭DŽሔ䚼ব䞣ࠡϡ㛑ᬒ㕂ӏԩ䆓䯂ׂ佄ヺ (privateˈpublicˈ੠ protected)DŽFinal ৃҹ⫼ᴹׂ佄ሔ䚼 ᳝䫭৫? } } int l = s.length(); private String s = ““; void doSomething () { public class Something { 2. ㄨḜ: 䫭DŽAbstract method ᖙ乏ҹߚো㒧ሒˈϨϡᏺ㢅ᣀোDŽ ໻մӀˈ䖭᳝ԩ䫭䇃? } public abstract boolean isStupidName(String name) {} private String name; abstract class Name { 1. JAVA ҷⷕᶹ䫭 DŽޚ໳থ⦄ⱘ䆓䯂ण䆂ⱘᅲ⦄ᷛ 㾘㣗ˈৠᯊгࣙ৿ϔ㒘ՓӕϮ㛑ᇚ㞾䑿ᦤկⱘ Web Service ⊼ݠˈҹՓ߿ⱘӕϮ㛑ޚᙃ⊼ݠЁᖗⱘᅲ⦄ᷛ w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! class Something { 6. (៤ਬব䞣)ˈ㗠 o ⱘ reference ᑊ≵᳝ᬍবDŽ (↨བ: o = new Other();)ˈ䙷МབৠϞ՟䖭乬гᰃ䫭ⱘDŽԚ䖭䞠ׂᬍⱘᰃ o ⱘ member vairable ㄨḜ: ℷ⹂DŽ೼ addOne methodЁˈখ᭄ o 㹿ׂ佄៤ finalDŽབᵰ೼addOne method 䞠៥Ӏׂᬍњ oⱘreference ੠Ϟ䴶ⱘᕜⳌԐˈ䛑ᰃ݇Ѣ final ⱘ䯂乬ˈ䖭᳝䫭৫? } public int I; class Other { } } o.i++; public void addOne(final Other o) { } new Something().addOne(o); Other o = new Other(); public static void main(String[] args) { public class Something { 5. IT 䴶䆩乬•᳔ܼ IT 䴶䆩乬䲚ড় Java 䴶䆩乬䲚•Java 䴶䆩乬,J2EE 䴶䆩乬䲚 Java 䴶䆩乬䲚(⃶䖢໻ᆊ䏞䎗ᦤկ) Java ᐌ㾕䴶䆩乬䲚••䴶䆩乬ܼ䴶㓐ড়(Ѡ) Java ᐌ㾕䴶䆩乬䲚••䴶䆩乬ܼ䴶㓐ড়(ϔ) J2EE 䴶䆩乬䲚(䰘ㄨḜ) ㄨḜ: 䫭DŽInt x 㹿ׂ佄៤ finalˈᛣੇⴔ x ϡ㛑೼ addOne method Ё㹿ׂᬍDŽ 䖭Ͼ↨䕗ᯢᰒDŽ { { w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! public void doSomething() { final int I; class Something { 7. Java ᐌ㾕䴶䆩乬䲚••䴶䆩乬ܼ䴶㓐ড়(Ѡ) Java ᐌ㾕䴶䆩乬䲚••䴶䆩乬ܼ䴶㓐ড়(ϔ) Java 䴶䆩乬(᳔ᮄ᳔ܼ Java 䴶䆩乬∛ᘏ) J2EE 䴶䆩乬䲚(䰘ㄨḜ) ᳔ܼⱘ CC++䴶䆩乬䲚(CC++䆩乬੠䚼ߚㄨḜ) J2EE 䴶䆩乬䲚(䰘ㄨḜ) Java 䴶䆩乬∛ᘏঞ c/c++䴶䆩乬(᳔ᮄ᳔ܼ) Ϫ⬠໻݀ৌ䴶䆩乬—— ᖂ䕃ⱘ䴶䆩乬 ߎ໮ᇥ˛خGoogle ⱘ䴶䆩乬ˈԴ㛑 GOOGLE 䴶䆩乬 Google˖21 䘧㛑࡯ؒ৥⌟䆩䴶䆩乬 .Net 䴶䆩乬䲚(᳔᳔ܼᮄ)(⃶䖢ࡴܹ᳈໮.Net 䴶䆩乬) 䗮⫼ C#䴶䆩乬 (䰘ㄨḜ) ASP.NET 䴶䆩乬 ᶤ݀ৌ᢯ᬊ.net 催㑻⿟ᑣਬⱘ䆩ो C#䴶䆩乬੠ㄨḜ C#䴶䆩乬䲚•᳔ᮄᭈ⧚ⱘ C#䴶䆩乬䲚 ᳔ܼⱘ CC++䴶䆩乬䲚(CC++䆩乬੠䚼ߚㄨḜ) .Net 䴶䆩乬䲚(᳔᳔ܼᮄ.Net 䴶䆩乬) valueDŽInt ⱘ default value ᰃ 0DŽ ㄨḜ: ℷ⹂DŽ䕧ߎⱘᰃ“I = 0“DŽInt i ሲᮐ instant variable (ᅲ՟ব䞣ˈ៪ি៤ਬব䞣)DŽInstant variable ᳝ default ᳝ҔМ䫭ਸ਼? ⳟϡߎᴹଞDŽ } } System.out.println(“I = “ + i); public void doSomething() { int I; w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! int x = 0; Interface A{ 10ˊ ৡⳌৠDŽ ㄨḜ: ℷ⹂DŽҢᴹ≵᳝Ҏ䇈䖛 Java ⱘ Class ৡᄫᖙ乏੠݊᭛ӊৡⳌৠDŽԚ public classⱘৡᄫᖙ乏੠᭛ӊ ᕜᯢᰒDŽڣ䖭Ͼད } } System.out.println(“Do something … “); private static void main(String[] something_to_do) { class Something { ℸ໘ˈSomething ㉏ⱘ᭛ӊৡি OtherThing.java 9. instant variableDŽ “System.out.println(“s.doSomething() returns “ + s.doSomething());“DŽৠ⧚ˈstatic method ϡ㛑䆓䯂 non•static Ҩ㒚ⳟˈmain ᰃ static ⱘDŽStatic method ϡ㛑Ⳉ᥹ call non•static methodsDŽৃᬍ៤ ㄨḜ: 䫭DŽⳟϞএ೼ main 䞠 call doSomething ≵᳝ҔМ䯂乬ˈ↩コϸϾ methods 䛑೼ৠϔϾ class 䞠DŽԚ ⳟϞএᕜᅠ㕢DŽ } } return “Do something … “; public String doSomething() { } System.out.println(“s.doSomething() returns “ + doSomething()); Something s = new Something(); public static void main(String[] args) { public class Something { 8. default valueˈᖙ乏೼ constructor (ᵘ䗴఼)㒧ᴳПࠡ㹿䌟ќϔϾᯢ⹂ⱘؐDŽৃҹׂᬍЎ“final int I = 0;“DŽ ㄨḜ: 䫭DŽFinal int i ᰃϾ final ⱘ instant variable (ᅲ՟ব䞣ˈ៪ি៤ਬব䞣)DŽFinal ⱘ instant variable ≵᳝ ੠Ϟ䴶ϔ乬া᳝ϔϾഄᮍϡৠˈህᰃ໮њϔϾ finalDŽ䖭䲒䘧ህ䫭њ৫? } } System.out.println(“I = “ + i); w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! } this.name = name; public Ball(String name) { } return name; public String getName() { private String name; class Ball implements Rollable { } Ball ball = new Ball(“PingPang“); interface Rollable extends Playable, Bounceable { } void play(); interface Bounceable { } void play(); interface Playable { 11. ⫼ super.x ᴹᯢ⹂ˈ㗠᥹ষⱘሲᗻ咬䅸䱤৿Ў public static final.᠔ҹৃҹ䗮䖛 A.x ᴹᯢ⹂DŽ Ͼ x 䛑ऍ䜡˄ህ䈵೼ৠᯊ import java.util ੠ java.sql ϸϾࣙᯊⳈ᥹ໄᯢ Date ϔḋ˅DŽᇍѢ⠊㉏ⱘব䞣,ৃҹ ㄨḜ˖䫭䇃DŽ೼㓪䆥ᯊӮথ⫳䫭䇃(䫭䇃ᦣ䗄ϡৠⱘ JVM ᳝ϡৠⱘֵᙃˈᛣᗱህᰃ᳾ᯢ⹂ⱘ x 䇗⫼ˈϸ } } new C().pX(); public static void main(String[] args) { } System.out.println(x); public void pX(){ class C extends B implements A { } int x =1; class B{ { public void play() { ball = new Ball(“Football“); System.out.println(ball.getName()); } } 䖭Ͼ䫭䇃ϡᆍᯧথ⦄DŽ ㄨḜ: 䫭DŽ“interface Rollable extends Playable, Bounceable“≵᳝䯂乬DŽInterface ৃ㒻ᡓ໮Ͼ interfacesˈ᠔ ҹ䖭䞠≵䫭DŽ䯂乬ߎ೼ interface Rollable 䞠ⱘ“Ball ball = new Ball(“PingPang“);“DŽӏԩ೼ interface 䞠ໄᯢ ⱘ interface variable (᥹ষব䞣ˈгৃ⿄៤ਬব䞣)ˈ咬䅸Ў public static finalDŽгህᰃ䇈“Ball ball = new Ball(“PingPang“);“ᅲ䰙Ϟᰃ“public static final Ball ball = new Ball(“PingPang“);“DŽ೼ Ball ㉏ⱘ Play()ᮍ⊩Ёˈ “ball = new Ball(“Football“);“ᬍবњ ball ⱘ referenceˈ㗠䖭䞠ⱘ ball ᴹ㞾 Rollable interfaceˈRollable interface 䞠ⱘ ball ᰃ public static finalⱘˈfinal ⱘ object ᰃϡ㛑㹿ᬍব reference ⱘDŽ಴ℸ㓪䆥఼ᇚ೼“ball = new Ball(“Football“);“䖭䞠ᰒ⼎᳝䫭DŽ ᭛ゴߎ㞾 http://www.ad0.cn/ JAVA 㓪⿟乬 1ˊ⦄೼䕧ܹ n Ͼ᭄ᄫˈҹ䗫োˈߚᓔ˗✊ৢৃ䗝ᢽछ៪㗙䰡ᑣᥦᑣ˗ᣝᦤѸ䬂ህ೼঺ϔ义䴶ᰒ⼎ᣝҔМ ᥦᑣˈ㒧ᵰЎˈᦤկ reset import java.util.*; public class bycomma{ public static String[] splitStringByComma(String source){ if(source==null||source.trim().equals(““)) return null; StringTokenizer commaToker = new StringTokenizer(source,“,“); String[] result = new String[commaToker.countTokens()]; int i=0; while(commaToker.hasMoreTokens()){ result[i] = commaToker.nextToken(); i++; } return result; } public static void main(String args[]){ String[] s = splitStringByComma(“5,8,7,4,3,9,1“); int[] ii = new int[s.length]; for(int I = 0;i ii[i] =Integer.parseInt(s[i]); Click to buy NOW! PDF•XC H ANGE w w w . d o c u • t r a c k.com } Arrays.sort(ii); //asc for(int i=0;i System.out.println(ii[i]); } //desc for(int i=(s.length•1);i>=0;i••){ System.out.println(ii[i]); } } } 2ˊ䞥乱䕀ᤶˈ䰓ᢝԃ᭄ᄫⱘ䞥乱䕀ᤶ៤Ё೑Ӵ㒳ⱘᔶᓣབ˖˄̞1011˅ˉ>˄ϔग䳊ϔᣒϔܗᭈ˅䕧ߎDŽ Package test.format; import java.text.NumberFormat; import java.util.HashMap; public class SimpleMoneyFormat { public static final String EMPTY = ““; public static final String ZERO = “䳊“; public static final String ONE = “ໍ“; public static final String TWO = “䌄“; public static final String THREE = “ক“; public static final String FOUR = “㙚“; public static final String FIVE = “ӡ“; public static final String SIX = “䰚“; public static final String SEVEN = “ᶦ“; public static final String EIGHT = “ᤠ“; public static final String NINE = “⥪“; public static final String TEN = “ᣒ“; public static final String HUNDRED = “Մ“; public static final String THOUSAND = “ҳ“; public static final String TEN_THOUSAND = “ϛ“; public static final String HUNDRED_MILLION = “ғ“; public static final String YUAN = “ܗ“; Click to buy NOW! PDF•XC H ANGE w w w . d o c u • t r a c k.com public static final String JIAO = “㾦“; public static final String FEN = “ߚ“; public static final String DOT = “.“; private static SimpleMoneyFormat formatter = null; private HashMap chineseNumberMap = new HashMap(); private HashMap chineseMoneyPattern = new HashMap(); private NumberFormat numberFormat = NumberFormat.getInstance(); private SimpleMoneyFormat() { numberFormat.setMaximumFractionDigits(4); numberFormat.setMinimumFractionDigits(2); numberFormat.setGroupingUsed(false); chineseNumberMap.put(“0“, ZERO); chineseNumberMap.put(“1“, ONE); chineseNumberMap.put(“2“, TWO); chineseNumberMap.put(“3“, THREE); chineseNumberMap.put(“4“, FOUR); chineseNumberMap.put(“5“, FIVE); chineseNumberMap.put(“6“, SIX); chineseNumberMap.put(“7“, SEVEN); chineseNumberMap.put(“8“, EIGHT); chineseNumberMap.put(“9“, NINE); chineseNumberMap.put(DOT, DOT); chineseMoneyPattern.put(“1“, TEN); chineseMoneyPattern.put(“2“, HUNDRED); chineseMoneyPattern.put(“3“, THOUSAND); chineseMoneyPattern.put(“4“, TEN_THOUSAND); chineseMoneyPattern.put(“5“, TEN); chineseMoneyPattern.put(“6“, HUNDRED); chineseMoneyPattern.put(“7“, THOUSAND); Click to buy NOW! PDF•XC H ANGE w w w . d o c u • t r a c k.com chineseMoneyPattern.put(“8“, HUNDRED_MILLION); } public static SimpleMoneyFormat getInstance() { if (formatter == null) formatter = new SimpleMoneyFormat(); return formatter; } public String format(String moneyStr) { checkPrecision(moneyStr); String result; result = convertToChineseNumber(moneyStr); result = addUnitsToChineseMoneyString(result); return result; } public String format(double moneyDouble) { return format(numberFormat.format(moneyDouble)); } public String format(int moneyInt) { return format(numberFormat.format(moneyInt)); } public String format(long moneyLong) { return format(numberFormat.format(moneyLong)); } public String format(Number moneyNum) { return format(numberFormat.format(moneyNum)); } Click to buy NOW! PDF•XC H ANGE w w w . d o c u • t r a c k.com private String convertToChineseNumber(String moneyStr) { String result; StringBuffer cMoneyStringBuffer = new StringBuffer(); for (int I = 0; I < moneyStr.length(); i++) { cMoneyStringBuffer.append(chineseNumberMap.get(moneyStr.substring(I, I + 1))); } //ᣒՄҳϛғㄝ䛑ᰃ∝ᄫ䞠䴶ᠡ᳝ⱘऩԡˈࡴϞᅗӀ int indexOfDot = cMoneyStringBuffer.indexOf(DOT); int moneyPatternCursor = 1; for (int I = indexOfDot • 1; I > 0; i••) { cMoneyStringBuffer.insert(I, chineseMoneyPattern.get(EMPTY + moneyPatternCursor)); moneyPatternCursor = moneyPatternCursor == 8 ? 1 : moneyPatternCursor + 1; } String fractionPart = cMoneyStringBuffer.substring(cMoneyStringBuffer.indexOf(“.“)); cMoneyStringBuffer.delete(cMoneyStringBuffer.indexOf(“.“), cMoneyStringBuffer.length()); while (cMoneyStringBuffer.indexOf(“䳊ᣒ“) != •1) { cMoneyStringBuffer.replace(cMoneyStringBuffer.indexOf(“䳊ᣒ“), cMoneyStringBuffer.indexOf(“䳊ᣒ“) + 2, ZERO); } while (cMoneyStringBuffer.indexOf(“䳊Մ“) != •1) { cMoneyStringBuffer.replace(cMoneyStringBuffer.indexOf(“䳊Մ“), cMoneyStringBuffer.indexOf(“䳊Մ“) + 2, ZERO); } while (cMoneyStringBuffer.indexOf(“䳊ҳ“) != •1) { cMoneyStringBuffer.replace(cMoneyStringBuffer.indexOf(“䳊ҳ“), cMoneyStringBuffer.indexOf(“䳊ҳ“) + 2, ZERO); } while (cMoneyStringBuffer.indexOf(“䳊ϛ“) != •1) { cMoneyStringBuffer.replace(cMoneyStringBuffer.indexOf(“䳊ϛ“), cMoneyStringBuffer.indexOf(“䳊ϛ“) + 2, TEN_THOUSAND); } while (cMoneyStringBuffer.indexOf(“䳊ғ“) != •1) { cMoneyStringBuffer.replace(cMoneyStringBuffer.indexOf(“䳊ғ“), cMoneyStringBuffer.indexOf(“䳊ғ“) Click to buy NOW! PDF•XC H ANGE w w w . d o c u • t r a c k.com + 2, HUNDRED_MILLION); } while (cMoneyStringBuffer.indexOf(“䳊䳊“) != •1) { cMoneyStringBuffer.replace(cMoneyStringBuffer.indexOf(“䳊䳊“), cMoneyStringBuffer.indexOf(“䳊䳊“) + 2, ZERO); } if (cMoneyStringBuffer.lastIndexOf(ZERO) == cMoneyStringBuffer.length() • 1) cMoneyStringBuffer.delete(cMoneyStringBuffer.length() • 1, cMoneyStringBuffer.length()); cMoneyStringBuffer.append(fractionPart); result = cMoneyStringBuffer.toString(); return result; } private String addUnitsToChineseMoneyString(String moneyStr) { String result; StringBuffer cMoneyStringBuffer = new StringBuffer(moneyStr); int indexOfDot = cMoneyStringBuffer.indexOf(DOT); cMoneyStringBuffer.replace(indexOfDot, indexOfDot + 1, YUAN); 1. ҹϟϝᴵ䕧ߎ䇁হߚ߿䕧ߎҔМ˛[C ᯧ] char str1[] = “abc“; char str2[] = “abc“; const char str3[] = “abc“; const char str4[] = “abc“; const char* str5 = “abc“; const char* str6 = “abc“; cout << boolalpha << ( str1==str2 ) << endl; // 䕧ߎҔМ˛ Cout << boolalpha << ( str3==str4 ) << endl; // 䕧ߎҔМ˛ Cout << boolalpha << ( str5==str6 ) << endl; // 䕧ߎҔМ˛ Click to buy NOW! PDF•XC H ANGE w w w . d o c u • t r a c k.com w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! Test( int ) {} { struct Test 4. ҹϟҷⷕ᳝ҔМ䯂乬˛[C++ᯧ] cout << endl; for( size_t i=0; i char2Hex( str[i] ); char str[] = “I love Ё೑“; } cout << ch << cl << ' '; char cl = c%0x10 + '0'; if( cl > '9' ) cl += ('A'•'9'•1); char ch = c/0x10 + '0'; if( ch > '9' ) ch += ('A'•'9'•1); { void char2Hex( char c ) // ᇚᄫヺҹ 16 䖯ࠊ㸼⼎ 7. ҹϟҷⷕ᳝ҔМ䯂乬˛[C 䲒] cout << str << endl; UpperCase( str ); cout << “str ᄫヺ䭓ᑺЎ: “ << sizeof(str)/sizeof(str[0]) << endl; char str[] = “aBcDe“; } str[i] •= ('a'•'A' ); for( size_t i=0; i if( 'a'<=str[i] && str[i]<='z' ) { void UpperCase( char str[] ) // ᇚ str Ёⱘᇣݭᄫ↡䕀ᤶ៤໻ݭᄫ↡ 12. ҹϟҷⷕЁⱘϸϾ sizeof ⫼⊩᳝䯂乬৫˛[C ᯧ] d. A& operator= ( const A& ); // 䌟ؐ᪡԰ˈ㱑ϡᰃℷᅫⱘ䱤ᓣ㉏ൟ䕀ᤶˈԚгৃҹ࢝ᔎㅫϔϾ c. class A { A( const B& ); } // A ᅲ⦄њ non•explicit ⱘখ᭄Ў B˄ৃҹ᳝݊Ҫᏺ咬䅸ؐⱘখ᭄˅ᵘ䗴ߑ᭄ b. class B { operator A( ); } // B ᅲ⦄њ䱤ᓣ䕀࣪Ў A ⱘ䕀࣪ a. class B : public A { … … } // B ᳝݀㒻ᡓ㞾 Aˈৃҹᰃ䯈᥹㒻ᡓⱘ ㄨ˖ ϟ B 㛑䱤ᓣ䕀࣪Ў A˛[C++Ёㄝ]މ䴲 C++ݙᓎൟ߿ A ੠ Bˈ೼ા޴⾡ᚙ .13 Test() {} void fun() {} }; void main( void ) { Test a(1); a.fun(); Test b(); b.fun(); } 5. ҹϟҷⷕ᳝ҔМ䯂乬˛[C++ᯧ] cout << (true?1:“1“) << endl; 8. ҹϟҷⷕ㛑໳㓪䆥䗮䖛৫ˈЎҔМ˛[C++ᯧ] unsigned int const size1 = 2; char str1[ size1 ]; unsigned int temp = 0; cin >> temp; unsigned int const size2 = temp; char str2[ size2 ]; 9. ҹϟҷⷕЁⱘ䕧ߎ䇁হ䕧ߎ 0 ৫ˈЎҔМ˛[C++ᯧ] struct CLS { int m_i; CLS( int I ) : m_i(i) {} CLS() { CLS(0); } }; CLS obj; Click to buy NOW! PDF•XC H ANGE w w w . d o c u • t r a c k.com w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! cout << array[i] << endl; { for( vector::size_type i=array.size()•1; i>=0; ••I ) // ড৥䘡ग़ array ᭄㒘 array.push_back( 3 ); array.push_back( 2 ); array.push_back( 1 ); vector array; 2. ҹϟড৥䘡ग़ array ᭄㒘ⱘᮍ⊩᳝ҔМ䫭䇃˛[STL ᯧ] cout << boolalpha << ( (int)b == (int&)b ) << endl; // 䕧ߎҔМ˛ cout << (int&)b << endl; cout << (int)b << endl; Float b = 0.0f; cout << boolalpha << ( (int)a == (int&)a ) << endl; // 䕧ߎҔМ˛ cout << (int&)a << endl; cout << (int)a << endl; float a = 1.0f; 3. ҹϟϸᴵ䕧ߎ䇁হߚ߿䕧ߎҔМ˛[C++䲒] }; const Empty* operator&() const; //পഔ䖤ㅫヺ const Empty* operator&(); // পഔ䖤ㅫヺ Empty& operator=( const Empty& ); // 䌟ؐ䖤ㅫヺ ~Empty(); //ᵤᵘߑ᭄ Empty( const Empty& ); // ᣋ䋱ᵘ䗴ߑ᭄ Empty(); // 㔎ⳕᵘ䗴ߑ᭄ public: { class Empty ㄨ˖ 10. C++Ёⱘぎ㉏ˈ咬䅸ѻ⫳ાѯ㉏៤ਬߑ᭄˛[C++ᯧ] cout << obj.m_i << endl; w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! { int main( void ) } return dest; } for( size_t i=0; i pdest[i] = psrc[i]; { else } pdest[i] = psrc[i]; for( size_t i=count•1; i!=•1; ••I ) if( pdest>psrc && pdest { const char* psrc = static_cast( src ); char* pdest = static_cast( dest ); { void* mymemcpy( void *dest, const void *src, size_t count ) ㄨ˖ 11. ݭϔϾߑ᭄ˈᅠ៤ݙᄬП䯈ⱘᣋ䋱DŽ[㗗㰥䯂乬ᰃ৺ܼ䴶] } if( 2 == *itor ) array.erase( itor ); { for( IntArray::iterator itor=array.begin(); itor!=array.end(); ++itor ) // ߴ䰸 array ᭄㒘Ё᠔᳝ⱘ 2 array.push_back( 3 ); array.push_back( 2 ); array.push_back( 2 ); array.push_back( 1 ); IntArray array; typedef vector IntArray; 6. ҹϟҷⷕ᳝ҔМ䯂乬˛[STL ᯧ] ᭛ゴߎ㞾 http://www.ad0.cn/ { w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! 䫟䆎യ/IT ㊒㣅䆎യܜ http://bbs.ad0.cn/ ゟेࡴܹ IT Java 䴶䆩乬ܼ䲚 J2EEᐌ㾕䴶䆩乬 Java䴶䆩乬∛ᘏ c/c++䴶䆩乬 Java䴶䆩乬 ᳈໮䴶䆩乬䇋⚍ߏᎺջⱘⳌ݇ݙᆍЏ乬…… ᳈໮Ⳍ݇䴶䆩䆩乬 Java 䴶䆩乬䲚(⃶䖢໻ᆊ䏞䎗ᦤկ) Java ᐌ㾕䴶䆩乬䲚••䴶䆩乬ܼ䴶㓐ড়(Ѡ) Java ᐌ㾕䴶䆩乬䲚••䴶䆩乬ܼ䴶㓐ড়(ϔ) J2EE 䴶䆩乬䲚(䰘ㄨḜ) Java 䴶䆩乬∛ᘏঞ c/c++䴶䆩乬(᳔ᮄ᳔ܼ) ᖂ䕃䴶䆩乬—— ᖂ䕃ⱘᱎ࡯乬—— ϝϾ♃⊵ ݏ៤Ў㓪⿟催᠟ⱘ෎⸔㋴ Ϫ⬠໻݀ৌ䴶䆩乬—— ᖂ䕃ⱘ䴶䆩乬˄ㄨḜ˅ Ϫ⬠໻݀ৌ䴶䆩乬—— ᖂ䕃ⱘ䴶䆩乬 ᥂䇈ᰃ䰓ᇨव⡍˄Ё೑˅ⱘ䴶䆩乬Ⳃ© ߎ໮ᇥ˛خGoogle ⱘ䴶䆩乬ˈԴ㛑 GOOGLE 䴶䆩乬 Google˖21 䘧㛑࡯ؒ৥⌟䆩䴶䆩乬 .Net 䴶䆩乬䲚(᳔᳔ܼᮄ)(⃶䖢ࡴܹ᳈໮.Net 䴶䆩乬) ᳆߿䩜ᤶ᠓ᄤ 䖭ህᰃⳳᅲⱘџᚙ ᶤ݀ৌ᢯ᬊ.net 催㑻⿟ᑣਬⱘ䆩ो ϔ䘧᳝䍷ⱘ C#㗗䆩乬Ⳃ ᳈໮Ⳍ݇䴶䆩乬䇋খ䯙䖭䞠˖ } return 0; system( “Pause“ ); cout << str << endl; mymemcpy( str+1, str+0, 9 ); char str[] = “0123456789“; w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! int length=(\“\“ + number).length(); int count=0; int getCountOfNumber(int number){ java ㄨḜϔ˖ google ⱘϔ䘧 JAVA 䴶䆩乬! 2006/12/01 16:09 NetFetch Says: ᭛ゴᕜདˈ៥ᬊ㮣њʽ 2007/06/01 08:48 57jx55 Says: ᭛ゴϟ䕑њ,䇶䇶 2007/10/27 20:20 䴦䴦 Says: 2DŽᗢḋ䇗⫼ϔϾ㉏ⱘ⾕᳝ᮍ⊩DŽ 1DŽ᳝޴⾡ᮍ⊩䅵ㅫ䖤㸠ϔϾᮍ⊩᠔䳔ⱘᯊ䯈DŽ ᶤ໪ӕⱘ Java 䴶䆩乬Ⳃ 2007/10/29 21:58 NetFetch Says: 43517=? 2007/11/30 11:06 wh Says: བℸ໮ⱘ Java 乬ˈᛳ䇶ߚѿ 2008/03/12 10:50 jer08 Says: ⊼ᛣ˖ 䆹ഄഔҙ೼Ҟ᮹ 23:59:59 П᳝ࠡᬜ ᓩ⫼ഄഔ˖ 䆘䆎(14) | ᓩ⫼(0) | 䯙䇏(98086) ϟϔ㆛: Java Ё float ⱘপؐ㣗ೈ Ϟϔ㆛: J2EE 䴶䆩乬䲚(䰘ㄨḜ)˄⃶䖢ࡴܹ᳈໮ J2EE 䴶䆩乬˅ Ta gs: JAVA ᐌ㾕䴶䆩乬 , JAVA䴶䆩乬 , JAVA䴶䆩乬∛ᘏ , C/C++䴶䆩乬 , C++䴶䆩乬䲚 w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! java ҷⷕ: google ⱘϔ䘧 JAVA 䴶䆩乬! 2006/12/01 16:07 NetFetch Says: ᳝᳈དᗱ䏃ⱘৃҹ䅼䆎䅼䆎DŽ ᳝Ҏ⫼ c ݭњϔϾˈᕫߎ䖭ѯ㒧ᵰা⫼њ޴क↿⾦ʽ f(1111111110) = 1111111110 f(535200001) = 535200001 f(535200000) = 535200000 f(535199990) = 535199990 f(535199989) = 535199989 .... f(199985) = 199985 f(199984) = 199984 f(199983) = 199983 f(199982) = 199982 f(199981) = 199981 f(1) = 1 f(0) = 0 䖭Ͼᰃ 4000000000 ҹݙⱘ㒧ᵰʽ˖ ϡ䖛া䅵ㅫࠄϞ䖍ⱘ᭄ؐህ≵໮໻ᛣᗱˈⳟⳟ䖭Ͼ˖ 䅵ㅫࠄ˖199981 ⫼њ 203 } return count; } if(num*num==1) count++; number=(number•num)/10; int num=number%10; for(int i=0;i<=length;i++){ w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! Џ㽕᳈ᮄ c/c++䴶䆩乬䚼ߚ Java 䴶䆩乬∛ᘏঞ c/c++䴶䆩乬Ҟ᮹ݡ⃵᳈ᮄ…… 2006/04/04 10:19 㔥儖Ꮉ԰ᅸ Says: 18.㔥㒰㓪⿟Ё䆒䅵ᑊথ᳡ࡵ఼ˈՓ⫼໮䖯⿟Ϣ໮㒓⿟ ˈ䇋䯂᳝ҔМऎ߿˛ 17ˊ䇜䇜 Windows DNA 㒧ᵘⱘ⡍⚍੠Ӭ⚍DŽ 16ˊTemplate ᳝ҔМ⡍⚍˛ҔМᯊ׭⫼˛ 䖛⿟ᰃҔМ˛᳝ҔМ⫼˛᳝ҔМӬ⚍˛ټ15ˊᄬ 14ˊApartment ೼ COM Ё᳝ҔМ⫼˛ЎҔМ㽕ᓩܹ˛ 13ˊབԩ៾প䬂Ⲭⱘડᑨˈ䅽᠔᳝ⱘ‘a’ব៤‘b’˛ winamp ϔḋˈা㛑ᓔϔϾにষˈᗢḋᅲ⦄˛ ڣ12ˊབᵰাᛇ䅽⿟ᑣ᳝ϔϾᅲ՟䖤㸠ˈϡ㛑䖤㸠ϸϾDŽ 11ˊ೼ IA32 Ёϔ᳝݅໮ᇥ⾡ࡲ⊩Ң⫼᠋ᗕ䏇ࠄݙḌᗕ˛ 10ˊ㒭ϸϾব䞣ˈབԩᡒߎϔϾᏺ⦃ऩ䫒㸼ЁᰃҔМഄᮍߎ⦄⦃ⱘ˛ 9ˊ䇜䇜 IA32 ϟⱘߚ义ᴎࠊ 8ˊ䇜䇜 COM ⱘ㒓⿟῵ൟDŽ✊ৢ䅼䆎䖯⿟ݙ/໪㒘ӊⱘᏂ߿DŽ 7ˊC/C++㓪䆥఼Ё㰮㸼ᰃབԩᅠ៤ⱘ˛ 6ˊᅶ᠋ッབԩ䆓䯂.Net 㒘ӊᅲ⦄ Web Service˛ 5ˊҟ㒡.Net ੠.Net ⱘᅝܼᗻDŽ 4ˊWindows ϟⱘݙᄬᰃབԩㅵ⧚ⱘ˛ 3ˊHeap Ϣ stack ⱘᏂ߿DŽ 2.⌟䆩ᮍ⊩ 1ˊ䖯⿟੠㒓⿟ⱘᏂ߿DŽ C/C++䴶䆩乬໻∛ᘏПᖂ䕃Ѯ⌆ᡔᴃЁᖗ䴶䆩乬 2006/10/28 09:27 NetFetch Says: ᳔໻ⱘ f(n)=n ⱘ n ᰃҔМ˛ ᳝ϔϾᭈ᭄ n,ݭϔϾߑ᭄ f(n),䖨ಲ 0 ࠄ n П䯈ߎ⦄ⱘ\“1\“ⱘϾ᭄DŽ↨བ f(13)=6,⦄೼ f(1)=1,䯂ϟϔϾ 㗏䆥䖛ᴹ໻ԧᰃ䖭ḋ˖ For example, f(13)=6. Notice that f(1)=1. What is the next largest n such that f(n)=n? all numbers between 0 and n. Consider a function which, for a given whole number n, returns the number of ones required when writing out w . d o c u • t r a c k.com w w PDF•XC H ANGE Click to buy NOW! { }else System.out.println(substrx); String substrx=new String(bt,0,••byteNum); { if(bt[byteNum]<0) { if(byteNum>1) System.out.println(\“Length of this String ===>\“+bt.length); byte bt[]=str.getBytes(); { public void splitIt() } this.byteNum=byteNum; this.str=str; { public SplitString(String str,int byteNum) public SplitString(){} private int byteNum; private String str; { class SplitString package string; 㗠ϡᰃ“៥ ABC+∝ⱘञϾ”DŽ ֱ䆕∝ᄫϡ㹿៾ञϾˈབ“៥ ABC”4ˈᑨ䆹៾Ў“៥ AB”ˈ䕧ܹ“៥ ABC ∝ DEF”ˈ6ˈᑨ䆹䕧ߎЎ“៥ ABC” 㓪⿟˖㓪ݭϔϾ៾পᄫヺІⱘߑ᭄ˈ䕧ܹЎϔϾᄫヺІ੠ᄫ㡖᭄ˈ䕧ߎЎᣝᄫ㡖៾পⱘᄫヺІDŽ Ԛᰃ㽕 2006/03/24 17:38 DEE Says: String substrex=new String(bt,0,byteNum); System.out.println(substrex); } }else { if(byteNum==1) { if(bt[byteNum]<0) { String substr1=new String(bt,0,++byteNum); System.out.println(substr1); }else { String subStr2=new String(bt,0,byteNum); System.out.println(subStr2); } }else { System.out.println(\“䕧ܹ䫭䇃ʽʽʽ䇋䕧ܹ໻Ѣ䳊ⱘᭈ᭄˖\“); } } } } public class TestSplitString { public static void main(String args[]) { String str=\“៥ ABC ∝ DEF\“; int num=6; SplitString sptstr = new SplitString(str,num); sptstr.splitIt(); Click to buy NOW! PDF•XC H ANGE w w w . d o c u • t r a c k.com } } Click to buy NOW! PDF•XC H ANGE w w w . d o c u • t r a c k.com

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 15 金币 [ 分享文档获得金币 ] 3 人已下载

下载文档

相关文档