Download as pdf
Download as pdf
You are on page 1of 1217
Tlampux Humeiiep Aanusa Aeyx IIporpamMuposannue Ha JAVA CA Copa esr Onli he Cod TOnCme:Te) ie e: migra: Coyee: BCs} = Bce o Gu6mHMoTeKax K7accoB, IpHemax IporpaMMHpoBaHHa H MyyHOMax = Hossie momubie dbyuknHonarpune HATepericar = PyKoBojcTso 1.14 IporpaMMHCTOB C MHOXKeCTBOM peaTbHBIX mipHMepos ») O'REILLY’ S. YILK 004.42(075.4) BBK 32.973-018.2 H 67 Patrick Niemeyer, Daniel Leuck LEARNING JAVA. Authorized Russian translation of the English edition of Learning Java, 4th Edition (ISBN 9781449319243) © 2013 Patrick Niemeyer, Daniel Leuck. This translation is published and sold by permission of O'Reilly Media, Inc., which owns or controls all rights to publish and sell the same. Humeitep, Tarp. 167 Tporpammupovaune 1a Java / Marpux Humeitep, Jonuon Jleyk ; [nep. canna. M. A. Paittwanta]. ~ Mockpa : Okemo, 2014. ~ 1216 c. ~ (Muponoit KoMMIoTepHbtii GecTeestep). Kowirviekewoe pykoBoieT30 No ocwoeHio ssHiKa porpannpoBAKION Java ¢ MHOFONMCAIEMHBIMI ospoSEna Hf peutcHoMEAU opiaMepawm Ecm Bhi ~ wayiuaiouuit nporpanaacr, To KHNra ‘CTIHET HERUNCHIIMIM HOMOWIAIKOM LUA TOTo, NIOOM Cra NPOsECCHOHAION, a ELLY BIC YA ecto ‘On paGorus ~ RMI yasaere © MiOTOUeeNHAX TONKOCTAX H paxGepeTech & CAMLX HORAK epescTnAX UU COs upiLTOxCHA M cepsHcOB. OnuicaH HOSHNKH, HoxBHBuHECH B Java 8, INK 004.42(075.4) BBK 32.973-018.2 MipowssopicTeeHo-npaxrimeckoe aqaHne MUPOBOM KOMNBIOTEPHBIM BECTCEM/IEP Marpuk Humeiiep, Aoxuan Sleyk NPOrPAMMMPOBAHME HA JAVA (opaic rininte) Anpextop penaxyyn E. Kanes Orwercreennein penaKrop B. OOpyves XynoxecTaeHnuilt penaKrop F. DezoTos (000 +Maparenscroe scm» 128308, Mona. yn. Sopre, 1. Ton. 6 495) 411-68-86, B (485) 96-09-21, Home page: wwwtieksmo.ru E-mail infoBeksmo.ru ‘vain -OKCMO-AKE Becrace, 123208, Mecey, Peco, ope rewe | yi. "Ter 8 (495) -66-86, 8495) 956-9921 Homepage: wekamo.” E-ma:efogoksme rs "sen Gani: © remmveorou perynponannr nxn nomvarre ne anpecy:hitp//eksmo-ryfeertfeationy ‘Gknpres seunerer: Pecel. Ceprfmaibin Kapacrspainvaran Flojnuicaso ® novars 12.08.2014, DopMar 70x100'/,. flevare ocerHaa, Yen. nes. 1. 98,52. Tapax 2000 9x3. Saxas Ise 978-5-699-71504-6 olasege"7 15046" > ‘© Paittyau M.A., nepewoa ua pycexuit asx, 2014 ISBN 978-5-699-71504-6 © Oshopnitenue. OOO «Hazaremermo - Crupanne Heo6paSoranme trims : Orwomenint napanetpismponanitrs THOR ? Hovemy List ne anaserea List? | Tipuestenne tino® Hamncamne oGo6mererx kc1accon Tepewennas tna Hacnenonanne oSo6urenu Vexmouenma 1 o606menna Orpannrexins, esstaannnie c-Timom napamerpa That panne H rpa Ipynmownte cinenoat Cyneprin suis neex pea Orpamuenne rpynnionsie Tim Ipynnionme tun & Konrexere KonTetinepon Hitkune rpaninist “Yrenue, sanuich 1 aprepweriseckue omepalli . - , m neoGpaGoranniit TH Orhiouenut rpynnozorotHna . . OGo6menmte eros Biaxowerno ¢ oGoGuentioiwit MeTOAMH Buiwenenue tuna na aprysentop . . .. . Boinenenwe titra na KoNTeKCTa Hastiaventtit Auli motsowrimia.... Hepexsar rpynutonoro Tuma . BuiGop mexay rpymmowsinu TH mo1 HapaMerpHaonaMtMbix TIMOR Hentomaonanie Tinon sacentos, os Yess xopounit saccnwst oGoGmenmntx THHOR?. « Tpynuonste rum n Tunax Maccion Ipuntep: xace Enum IIpmaep: meroa sort () Baxmouenue..... i (PaGora co crap KORO). Mac Orasnenne Taana 9, Horoxu ustoanen Buesenne # noroKit Kuace thread Class 1 uitreprpelic Runnable. 370 371 372 Ynnpawsterite notoKavn cece veces ee 377 Cateprs notoKa 380 Bamonwesue anivteta 8 HecKosekux noroKAX 382 Orenexunanute npoSen. .... . ii iieatvencewne ese c cess OB (Cimxporaanns. 385 Cumexponnsuposainsiii xoctyn « merosiant . : 386 Krace aoctyna it nepemenmbie ok2eMILAApoR OBweKTA Ha NOTOKOR MuoronoToNKx mporpantnt . Meron wait () 1 notify () 389 390 Tepenasia coobmennit 393 OGvexrsi Theeadtocal | 398, Taanuponarne i mpnopirrers 399 Coctosiine notoKa 401 Bpenemne nrrepnaznt Hpnopirerst BOOnpAMSHE oo. yin sony aoe ean a one a Ipynnn noroxop PaGora c klaccom ThreadGroup - Henpouepaemuie necnovena Buinomnenne noroKa . iaaepaxit emiexponiaannt Horpesinennte pecypeor notoKoM. Chesteria Jui nojutepaskn HlapaszennsMa enomswrenn Buioxnporkit Cpestetea cunxporiisanutit AroMapmte onepanui Saxmowene . . Taana 10. PaGora e reKetom API, chasamunte c TeKCTOM - Crpora Coasanne erpor . Coanaste erpox na ocwone paasuisitns tm0R Peaaxruponaune . = Kpatkoe ommcanue wetosion oGnewra String OGvexrn StringBuilder u StringBuffer . . Minrepnaionasinsartia Korace Java.util.Locale HaGopir pecypcos PasGop m popsatnponarne Texcta . . PaaGop mpocterx sce Paamerka Texera. ‘Dopmaruponanue Print£-style . Tporpasara ¢bopararuponantin Crpoxa dbopmatupowanua Hpeo6pasowania erpox Hpocrie x wsennate npeticrani @aarn Tpoune nostorenna. @opmatuporanne mpi moMomt naxeta Java. text Cpertctno MessageFormat. Peryaspyme mupaxenns . . ‘lank peryctapastx naiparkewtit java.utilregex APL. Ornasnenvie Taawa 11. Ocuosmnte unerpymentor. Maremaruueckuue uuerpyMenTit Kurace java-lang.Math . Bosbmne/toutite smezia Komuoesrat sicita © e uueata PaGora ¢ Kasten aps Macomne nosca .. . . PaaGop m chopmatnponanine sare npit moMom koiacca DateFormat. @opwarnponanine jaTH 11 ApeMeHit B eTHLIe MeTOAa peintE ‘Taitwepst : Koautexwan. cee : HInrepdelic Collection... 22... : reparop . wees . Butts koatexa Hirrepipeiic Map Peammisaninn koxtexuntit Xeu-Koa HW KuTOMHL Cinxponisnporaminre IXPONNGHPOHANHME KOAAEKII ss Kovmeknuti, ipeanasiaeninte Tostbko/lipeumyitecraenHo Jia re His Korace WeakHashtap .... . Kracent BnunSet 1 Enunlap. Coprupooka kosutexiunit. Saxpatomaromntit mprmep Kaacc Properties Sarpyska m coxpanenne . Cuctemnnie croiierna. ‘Texnozorus Preferences APL TIpuatenennte rexnostorun Preferences API s118 Xpamiunune xonpurypamonnerx anes Yaesontnerns 06 mavenerisx APL-unrepeiiew aia nenenma xypitasa cooGmentit - O620p Yponnt akypuasionotx cooGmentit Tpocroit upusep Msneemne evolters ypu Kaace Logger. : Hponanosurrexsiocts Murepipetic Observer 1 kxace Observable Taana 12. Cpexerna nnoxa/aninona. . Horoxi nnora/marnoaa. . Octiowst Broa /eMtBosta Hotoxn custioston. . OGepren sui HoTOKOR - Kouneiiepa....... rene aainites noToKoB erpok - Peasusauita dpuvtstpyioulero MOTOKA. . @aitronstit apon/asiB0n Kurace java.io.File aiisionnie HworoKM - Kiace RandonAccessFile Hyrirk pecypeant . . APL-nrrepspeiic naxera NIO sua paGornc &h Karaccw Filesystem i Path. aiisionne onepanmu, npeaoctanisesme 1 Onepantin c anpextopnani Orestexunanue ny elt Cepmasmaanns. Thnunaisausia o6sextox ¢ nooutbio Metosa readObject () - igenrmpuxatop serialVersion¥ID . 10 Orasnenne 614 Apxtupar u casarie iaMubtx. | bivdosaa nies saa sraareea Old Pacnaxonka zannsix . eS 617 ZLP-apximn w xaviectne chatiaonoit cicrentnt 619 MaxerNIO....... aa saat 621 Acumxponnsiit noa/auiwoa TpomakoaurtesrsHocts Buoxuponanue ¢paitos u orotpaixente 1x n naNstrs, Kamat a Bydepa. 2222.2 Koanpouanne 1 aexoanponanie custno.i0n, Krace FileChannel . Macurra6upyennit ai0a/wutnoa 1 naxet NIO Taana 13. Cerenoe nporpamwmponanne . Coxernt Komenrai 1 ceppepat Kanentekoe nprvtoxenme Dateatiost Cepnepuioe npizoxene TinyHttpd. Croiierna coxeros, Tpoxen n Gpanamay pei aMMHie COKeTBI. . ‘Amuier HeartBeat Kaace InetAddress Spee sae Tipoctoii nporokout vi riepesta'nt cepHasiuaoKainibix oOReKTOR . TIpocroii cepnep 21 o6mena o6beKraMt Yaartenmtrit pb1308 MeToA0} Peastbioe mpustexienite Vaasteniinie 1 stoxasinisie o6nexr TIpuaep nenostnaonanna rexnoxornit RMI. RMIu CORBA... . MacurraGupyesttit puo.x/pulwoa ua ocnove naxera NIO) BuGopowrtste Kanai... . Herozssoranne cexextopor Tpnutoxenne Larger Hitpd 5 HeS.2oKupyouine omepain na kiusenteKoii eroponte ana 14. Be6-nporpammuponaune Eau yetsarems peeypeos (URL) - Kaace urb. . . Tlorokonast nepeaa jeinnins. Hoayaenne aannurx » ouute oGvexra Yapanaenne coeaumensuaaa, enomsaonanne o6pa6orsikon n pea Texnonoriit o6paGorkH saHUBIX, Ha KOTOPHIE CTO Bsaunoaelicrane ¢ ve6-nptiio:ken init Henoasaovanne sanpocon Tinta GET Hentomaonannte 2anpocon tia PO: Kace RetpURLConnection Texnonoruts SSL u Geaonacwocts npit RiauiwojelicrBinit € peG-mpiuioxeniaNin Haexrmpnxaropst URL, URN it URL Be6-ceppucsr. . ve Texnonoruia XML-RPC Asus WSDL. unerpysenrit acta paGornt ¢ web Kauent aa mereocay2x6n jana 15. Be6-npuaoasenus n neG-cepanent ‘Textonorm, neskanute n ocHone ne6-npiioxeHit Muoroctpamnnnte 1 ouocrpaiitinste mprsioxeHst JSP-cnenapin... . we XMLu XSL. 12.2 : peiinsopxu navi Conant ved-upuaosxenit . . | ‘robparirry muntaniie penreanti, Ornasnenvie Google Web Toolkit. HITMLS, AJAX wr a BeG-npiutoxenita na naiancbopste Java Cepnater Bello¢hient Orner e4 Hapamerpa cepnitera Cepnser ShowParaneters. .. . | Yapanaeane nosmsowatetnck Cepniter shows Ceppaer ShoppingCart. aiicnsr cookie Murepipeiic Servietcontext. Acunxpomnnie cepaaterat WAR paiior 1 pasneprirsannte ned-npiutoxer Koudurypporanne c rosrombro paisa web.xml wannoran Hpupsska x URL-taGnonam . . . Paoneptatranite cepaitera HelloCiient Bunn omnGox w untexerte erpanttat Beaonacnocts m aytewrirprrcantiat amurta pecypco# ¢ noMomtsio poelt GezonacnoctH Samumtetast nepeaana amiss. Ayrenrmixpmartita rossaonateeit Anropisaitia m namepatiteoM TILE, - uavrpor cepsaeron Hpoeroii dyunsrp Tectousiit cepater OGnanaenne w npripxaKa dhunsrpos Drrstpanns sanpoca x cepnaery usrpanns oTHeTa, Koropstit BosBpaiMaered cepHtCTOM Cosaanne WAR - Cucrenmas naterpa : sxopautiie KOITypOD (popMi. Heniomaona Merpuxn mura, Bomoa nso6parcenmnii. Kurace Image OGospewarea nso6paxenn Pasmep sacurraGupowanue KIL PHCOBAIIT . « Zlwoitnas 6ydpepusanues Orpanitientioe piiconarne c orceveHnent Bueoxpamnoe puconane. esate. os Prana 24. PaGora ¢ na06paxcermanan n pyri steznactarmat ‘Sarpyana wa06paxerttit 2 Murepipeiic Taagedbserver Korace MediaTracker. . croa6no8 Texn Korace Imagetcon. 2 1022 Krace Imaget0 : 2 1023, Coaaarme paerponbix nartbix 2 1024 Cosaamite annanunn : + 1025 Anatowits koracea Bufferedinage - + 1028 Tlaerospie Mote 1031 Cossane nso6paxennst . + 1032, OGnonstenne Bufferedinage 1 1034 Hacrpofixa o6paGaramaextnrx wao6paacentit 2 1038 Kak paGotaer mpntowennte InageProcessor . .. . + 1041 TIpeoGpasonanne oGweva Inage w o6sex Bufterediaage + 1042 enoassonaunte ktacca RescaleOp a vee. 1042, Henommsonanie kacca AffineTransform0p 1043, Coxpanenue ofpetaramannre mofpanerns 1044 PaGora co ayKoM. . . . 2 1045 Java Media Framework * 2 1047 Taana 22. JavaBeans. . = 1050 ro Yakoe bean-Kommonent? ibaa a pane pa fepeae eos 1050 Cocras bean-Kommonenta 1052, NetBeans IDE... ... , 1053 Yeranowxa nsanyex NetBeans 00.2 tiene wey sro wrath aa 1054 14 Orasnenne Croiitersa 1 Hactpoitxse Tlonkmovesiis # aganrrepst coOsrratt AoGasaenne almepav upwiox Jonaenne soatexy. (Crastinaine cpoiictp. Tipnuyaurensuite ekolierea Cosaaie bean-Kostmonenton Bean-konmonent Dial . Paapa6orka ma6zonon ja cn Orpanineniia witsyazionoit paspaGorsm Cosaaine cepmasursosanoii epeu Kouta Henomoovanute rracca BeanInfo Hoaryvenne nbopmatuiit 0 cxoiiersax Tloayvenne uncbopmaninit o coGsITHAX. . LoBanaenne saxon Coazane nacrpoitmrikon it peraxtopon enoiicra _ Tporpaxnmporatine apyurtyno ¢ mpmaertenttem bean-Kowmowenton Yeranoaka bean-Komnonento# i ynpaaviente THAN PaGora ¢ cepmamtsonauusinnt bean-KoMmoweHTaniit we Orcstexunanue coOstruii ekinoaneHtis c upuacedenuent perpurekcui BeanContext 11 BeanContextServices. 3 va Activation Framework . ore Texwosorus JavaBeans 1 (ppeliamopsit nposeiuen OcHOBAHIME Ha OGM OOKEKTAX eee Taana 23. Aunaerst. Tlosirruxa Spayaepxiax upiioxen joro yponia, Tlogatepxka auntcton 1 Java Kaace Japplet........ 2Kuowtenmerit roH-T anmstera Sarpyaxa ¢paitston xaccon, Tawerst appletviewer . - 2... Java Web Start. “Barowenne Taana 24. XML. OG:0p Hemntoro 1 al . aMasiusaTop ne asuixa XML, XML API XML it ne6: Ocxonsr XML Ampu6yri. XML-aoxystenrat .. - Koampouxa Tpoetpaxerao wen - Tponepxa, HTML » XHTML! ° SAX SAX API! Cossaute moe ¢ newo-ssovasnutes SAX i XMLEncoder/Decoder ..... 4+ Tamers Won $ Hoan Se oe EI Ornasnenvie DOM...... DOM API JDO! XPath Vans Mpenmearar, | yr XPath API XMLGrep. XInclude as 2 Tlogmowenne XInclude Tiposepka joKyMewton Henoapsonanne epe Suemewtot sna DTD, XML Schema. . . . Bepuuxauuea API. > S| 4 Crsanimaunte 1 renepauuia kota JAXB | | | Onmcannte nanteit moze Coane moxenn Java Schema Coazanme XM L-exenrnt 11a Java-mones : TipeoGpaaonane noKyMewtor € ucnossaonannem XSL/XSLT. Ocwrostr XSL Mpeospaaonanne xararora Tpeodpasonanne XLS, XLS n Gpaysepe . Be6-cepeutcsi Tapa exon m sa BMpoRepKH AOKYMENTOR Tpuaoxenne A. Cpe aa paspaors Eclipse Botiatnt IDE. SuakomcrHo € lip : Guts ise Jaa : Hurepipeiic. ... . . Sanyer mpumepon. . - C6opxa mpumepos » Ant-Based. ... . Otaeapunte upiseps. . : Dyn Eclipse . Coazanme spanixon . zs Anromarieckaa Koppekilin Peopramnsaiuts Kona . Cpannen Opranits @opxar Barnowene Ipxaoxenme B. BeanShell: Hanucanne enenapuen Java ‘Banyex BeanShell. ere ‘Oneparopst 1 Bhipaxenus Java Mautopr Komans1 BeanShell - Cutenapuu aerogoe w oGneKro8 : Chenapin mrrepspelicow u azantrepow. | Vomenenne supertopimn classpath. . . Jlonoamrrestsntie evesenia. Troceaputi . 06 antopax Tpeameruntit yrasares» 16 NPEAUCHOBUE THepeg bamu kuura 0 sabike 1 cpege mporpammupovanuis Java. Apas1e- Tech JIM BLL paspaGoTYUKOM Uporpamauioro OGecHICYeHILA WIM MpOCTO HOMb~ ayerecb Beemmproit nayrimoit 8 nocenitennoii akHETH, BBI, HecoMHento, cap 0 siab1Ke Java, Ero HosBeHHe 6bi0 OHO! HI CAMBIX BOITHYIO~ MUX paspa6oToK B HeTOpHN BeemmpHoit MayTHMMb, a MpHMTOxKerHA AaBIKA Java cusio yckopuan pocr Gusneca Bo Beemupnoii nayrune sa ocaten- nine 15 er. Java, noxkayii, caMbiit nonynapHblii au1K MporpaMMuponariist B Mipe, 1 ero HcrlomBayIOT MILIANONM paspa6oTUNKoR Ha BCeX MbICAUMDIX Tunax KoMIbIOTepoR, Ba HocaegHee AecsITUAeTHE AabLK Java OGorHAA TAKE sapien, kak C++ 1 Visual Basic, ¢ Toukn sperma rpeGonanuit k paspaGorKe ul akTHYeckI Cras OCHOBHBIM s3bIKOM {ULI OMpeAeEHBIX TULLOB paspabo: KH, B OCOGeHHOCTH JU CepBHcoR, HeMoNDayIOULX HuTepHleT-TexHOIOTUN. Muorue yuusepenrersi tenepp o6yuator Java Ha CROW HayasDHbIX Kypcax BMECTe C APYTUMH BaLKHbIMH COBpeMeHHDIMH sIabIKAMH, Bo3MO2KHO, B TAKOM yimmepcmrere yanrect 1 nb Dra kira mpertostact bam ocHoBEI Java, Takue Kak HuTepdelicht API. Kimra crapaetes coorrercrropars CRoeMY Haspartilio, BKsONAs oTMCATTTe siabika Java Hi ero 6U6IMOTeK KiACCOB, TEXHMK [IPOrpaMMHPoBAHHA Ht HJUHOM. Mor kontent rayGoxo n nnrepectprx o6siactax 1 m0 Kpaiinieit Mepe mlonepx- HocTHO OcheTHM ocTabHOit MaTepiaa. To BosMoskHocTH Mbt pesuiaraeM 3axBaTbIBAIOUUNe, peaTHCTHMIADIe 1132 6aptibre npumepsi 1 HaGeraem mpocToli KaTamorusatu cpoiicrs. Tpumeppt HeaaMbicnoRaT ble, 1 HaMeKaloT Ha TO, “TO elle MoskHO cztenatD, Mut He 6y- JeM paspaGarbivarb ouepemtioe BeAMKoe Ha OTHX CTpaHUNaX, Ho HayeeMes arb BAM OTMPABHYIO TOUKY JUIH MUOTUX Ya- cob okcHepuMeHTUpowaHUA IL BLOXHOBeHHOIi BOSH, KOTOpbIe UPUBeAYT BAC K Cogfamtitio TaKoTo MpHtOsKertHIs CRONMH CHLTAMIT. 17 Mpennenosie Komy cnegyeT 4utatb 3Ty KHury ‘Dra Kiura coazana jis CHeMMaTICTOR B KOMIbIOTepHOIt Hayke, CTYEH- Ton, miogelt ¢ TexHMECKHM OGpaaonatitem 1 (UCKUX xaKepop, Oxa mpen- Hagtavena Reem, KTO XOET oMpakTMKORATHCA B AABIKe Java, 4TOOH TOTOM coasavars peanbHble MpHtoKeHust, Dra Kura TAKE MoxeT pacemarpH- haTbeA Kak 9KCIIpecc-Kype Mo o6beKTHO-opHeHTHpoBAHHOMy MporpamMu- poranuio, padore ¢ ceramm, GUI m XML. [pi asyuenun Java Bb1 noaysurre NOHATHE O MOILHOM H TIpakTH4ecKOM MosXosLe K paspaborKe MporpaMMHOro oSecnevenns, Haumiaiomemea ¢ r1yGoKoro MoHHMarHs ocHon stabiKa Java wero unrepdeiicon API. a Tpu nosepxtocriiom paccmorpenun Java Barna Kax 3b C it C++, nostomy pot nonyunre He6orbmoe mpermymectno B pabore ¢ aToit Kiuroit, ecm y Bac ec b Kakoii-ro onBIT Nporpe Koro onbiTa, He 6ectloKoliteck, He npono- AMpORAHHs Ha O;MOM 13 prix siabikop, Beat y Bac Het surre IKOM MHOTO CHHTAKCHUECKHX I paieneli MexLy sabIKoM Jav: u C nan C++, Bo muorux ornomennsx Java veger ce6a Kak TaKue Gozee aumamnueckne agniki, Kak Smalltalk m Lisp. Sane apyroro o6vexti0- opHeHTuponanHoro sgbiKA OUPeLeLEHHO YOKHO HOMOUb, XOTA Bam, BO: MOXHO, MpIeTes HoMeHsTD HeKoTOpbIe MpextcTapeHis H OTYUTHCA OT HeKOTOpbIX IPHBDIUCK. Java SHAuINTeAIbHO HpoULe, Lem APyrHe s13B1KU, TAKE kak C++ Smalltalk. Ev bt BHuMavenbHo uayunTe MaTepHat Ho KOH KpeTHbIM NpiIMepam 1 locpecTBOM coGeTREHMEIX 9KCTEpUMeHTOR, MBI Jy MaeM, BaM IloHpapitTest 9Ta KHUTA, Hocaeansis uactb 9roii KHurH uocesutena o6cy:KxeHto Java B KOHTeK- cre ne6-mpitoxkertnii, ne6-ceppuicon 1 o6paborku XML, oatomy put o%K- not 6 SHaKOMBI ¢ GagzoRDIMH TOHsTHAMI O ReG-Gpayacpax, CepBIIcAX Ht 1O~ kyMenramun, Hospie paspa6oTku Dro uanANie Ha caMOM jlesle ABJeTCA MeCTHIM — yeoRepileneTROBAH- HbIM Hf TepeHMeHORaHHbIM — Tlocae BbIXoAa OpUrHHasDHOi HonynApHoiL uur Learning Java. C KaaabiM HajaHeM Mbt 3aGOTHULCh He TOILBKO © x06anneHNM HoROrO MaTeprana, oxnaTbIna‘oMeTo AoMoAHMHTeADHEIE cpolicrea, Ho uo TulaTeabHOlL upoRepKe 1 OSHORMEHHM cyuLecTByIoULe- ro cosepxannst, YTOGH OGReAMHMTH HNhopMALIO H LOGABKTH MOB HakoreHHoro 3a rob (PakTHIeCKOTO OMbITA K 9THM eTpaminan. Suact- 18 Mpequcnoaue TeAHBIM HIMEHEHHEM B MOCHEAHIX HSAANHAX sABUKETCH TO, YTO MBI Vit JUMIM MeHbUllee 3HAYeHUe HeHONbsOBAMLILO ATLLIeTOR, OTparkast UX MeHb- IY! posh B COsAAHHM HATepAKTHBHDX BeG-CTpaHittt B MocmesHHE Fost. C apyroit cropons, Msi sHaNuTepHo pacumpuan uHcpopMalinio o ReG- mpritoxernmax Java, ne6-ceppricax 1 XML, Koropore spastorea paspuror- MUI TextowtorHsiMu Mb paccmorpean ace nakutnte cRoiicrea sbinycka Java Standard Edition (SE) 7, JDK 1.7 u onucann uovospexeuns peausa Java 8. Komuanus Sun (orarexen sapika Java 0 Oracle) HeoaHoKparto Mensizla exeMy HantMerrona~ Hil 3a MHoro ster, Sun IpHayMasta TepMuH Java 2, vToObI yueeTs OCHOBHBIE Hopbre HgMeHeHtia, mpestcranaentibie p Repent Java 1.2, 1 pneaa Tepami JDK nrtompay SDK. C mecrsi pimyckom Sun nepenpsirnyaa ¢ nepeun Java 14 go vepeun Java 5.0, Ho zaaa orcpouky Tepmuny JDK 1 ocrapusta cpoio cu- cremy Hymepauutit. Hocae atoro y Hac noapitaca sabi Java 6, 1 Terleph Mbt ao6paaucs a0 Java 7 18. Dror eamyck Java AeMoncrpupyer apembiit s3KIk ¢ OTHOCHTE:TBHO Mt TIBI CHHTAKCHYECKIMT HaMeHeHHAMH, Ho aHAHTebHBIMM O6HOBAEHTIA- Mu unrepdelicon API u 6uéanorer, Mbt nonsrranuch oxpatiTs att HoRBIe ceolicrea 1 o6HoBNTD KaxkabIit MpuMep B TO! KHUTe, WTB orpasutTD He To.rbKO Conpemerttpre mpitemtbt Java, 10 1 CTHTD. Hosoe B 9Tom usqaHun Dro sHaunTebHo nepepaGoranHoe, HanGomee HomHOe 1 ConpemeHHoe naqane. Ono pkmouaeT HaMereHMa 13 BHTycKoR Java 6,7 H 8, KoTOpHIC Mpousoun ¢ nocaesHero u3qaHus 9TOi: KHUTH. Hopbre TeMbI 9TOrO US.AHHst BkJMOWAIOT: + Hobbie cpolicrva aatika, » TOM YUCHe BLIBOA TUHIA B OGOOUIeHUAX HL yay mento o6paSorky HeKmo4eNHii H abToMaTit4ecKMii cHttTaKcHe yrpap- slenusi pecypcany + Hopste yrHsMITIT NapasexHocTH, BKMOUAR :peiiMBopK pasBeTBAeHHA- coeaunennst, + xoryio NIO Files API, koropas nosnosster peamusaniio HORBIX THIOR goctyma k ¢paiionoit crtcreme p Java; + noppie Bepcun Java Servlets API (3.0) 1 API ve6-ceppucos, pkmouas, HicnlompaopaiHe HoRoTO pasMemleHis, ocHoRaNHOrO Ha anMorantax 1 Berpoeunoro Konrelistepa Be6-cepRitcon; 19 Mpenncnosne Hopyto bepenio JAXB (2.2) Java XML Binding, sxoaiomyro ucnob- sonanie Honprx armoraruit saa cnasnrnamna Java e XML; yayanienityio HactoabHyto nHTerpanutio Swing 1 y kommonenton Swing, raxnx Kax JTable; YUIEHHe KTOVEDEIX oGnopaentnte nprsrepir H atiasts no nceit Kure. Ucnonb30Baunve 3T0u KHuTH ‘Dra kitiIra opranHaopatta cmenyroMtHM o6pasom. Trappi 1 1 2 npexcransmior 6aaopuiit spo B KoNHerIUHO Jav Tloco6ue sui craprororo mpwiakka B Java nporpaMMuponarme uyue6rioe B raane 3 o6cy:kAatoTea ocHoRHBIe HHeTpyMenTsI paspaborKM Ha Java (kommastop, untepriperarop H ynaKonmurk daiitor JAR). Trani ¢ 4 07 omichinaror cam sore Java, naumnas c ocHopnoro cui raKcuca, a gareM OGospewaioT Kacebt H OGbeKTEI, HeKMOYeHUA, MaccH- BBL, Mepeyiics1enHa, KOMMenTapIHt 1 MitoToe sIpyroe. Tnava 8 onucsipaer Gazoppie 1 napamerpusnpovaniple THM B Java, Tuava 9 onmeniwaer serpoenipie BosMoxHocTH HoTOKoB u uaKer Java Concurrency, Koroputii Gyaer ocobenso mutepecen Aaa MpoaBUNYTHX uporpamanicros. Tnana 10 onncbinaer TexcTonyi o6pa6orky, bopMaruponanne, cKatt- poBanite, crpoKopble YTHNTbI H MouLHbIe UATepibelicEl PeryaApHBIX BbI- parkentli API. Tnapa 11 onuicbigaer supo unrepdelica API, pkuiouas YTHAUTSI H KON- rex. Tnana 12 onnepimaer ppog/spin0x B Java, HoroKH, xy NIO. JIbL IL YHAKOB- Tnappt 13 1 14 onnesinaior padory c ceranm p Java, pkaToKad coKeTDI uNIO, URL RMI Trnava 15 onuctinaer ne6-npraoxenua, ucriombaya HeSombutie cent bie uporpaMats! — cepzaersi, (pwAbTpEL Ha ux OcHOBE U aii WAR, a TawoKe ne6-cepBitcht. Tnapet ¢ 16 no 21 onucmivaior GUI (rpadiieckuii unrepieiic nonb- aonarens) paspa6orky ¢ Abstract Window Toolkit (AWT — 1aGop mn- 20 Mpequcnoaue CTpyMeHTaHBIX cpescTs UIA aGeTpaKTHBIX OKOH) 1 Swing, KoTOpBIti upeacrapsset rpacitieckuii uureprbelic Hosbs0Batena Hi lowepaKY 1306paxKen Hit + Tapa 22 onncbinaer apxurektypy KoMnonenta JavaBeans 1 anakoMut c NetBeans IDE. + Taapa 23 onmeprpaer armerst — HeGombIIHe MpMksasHBIe TIporpaMMEl. + [napa 24 onnepinaer Java API aaa paGorst ¢ XML u XSLT, pecnouas XML Schema, nanuganmio, XPath u XInclude, tak xe Kak XML, cna- aantibiiic JAXB. + Tpiatoxene A onucsiaer ucrtoanaoranne IDE Eclipse ¢ npunepayat B kHUre, + Ipuaoxerue B onucsizaer BeanShell, o6aeruenubiii anne ckpunroe Juis paspaSorkit Ha Java or aptopop 9Toli KIMI Ecat ppt Hoxoxkit Ha Hac, TO He CTaHeTe UITATS KHMITY OT KOKI 20 KOp- kit, Ecoiit B61 H BIIpsMb Take 2Ke, KAK Mbl, BbI OOBIMHO BOOKIE He HTacTe ppeaenme. OatiaKo ta caysait, e veros. IM BbL YBUAUTE 9TO BOBPEMA, BOT HECKOIKO CO- * Eom ppt onsrripit mporpammucr, Koroppiit qoyKen BoryanTp Java 3a ColeLYIOULNE HT MIHYT, BI, BepostTHO, Hutere HPUMepbL. Moxkere juts Haviasia IIpocMorpetb MesbkOM rviapy 2. Ec 9To Bac He Mipesbultaer, aM crour Xors 6x1 saraaHyTb B raapy 3, B KOTOpOi OGbaCHAETCS, KAK HC- Tomp30RaTh KOMMITATOp 1 HHITepmperatop, Ham MpitsoxKeHte A, B KO- TOpOM HOKAsAHO, Kak 9ayCTIT npuMepsI B IDE Eclipse. C store Bam coleityer Havarb. + Tnapsrc 12 no 15 Heo6xoqumpl, ecau pac utrepecyer cosaanue npospu- HYTBIX ceTeRBIX HII BeO-MIpHLTO“KeHUL H cepeHtcoR. Dro ota 13 Hato sie HurTepectibIx Ht BavkHIbIX acre Java. + Trapbt ¢ 16 no 22 onucinator rpaipireckite (byHkitinn Java H KOMMOHeH- Thi apxutrextypbl. Bam culegyer 910 poets, ecsM Bb UNTepecyerecb rrammcanmtem rpabeckntx mpruroxkernitit Java Har KOpoTKNx mporpaMM- anmueror. + [naa 24 onmenmaer, kak API Java paGoraer ¢ XML, nkmouas SAX, DOM, DTD, XML Schema, u Kak, ucnoabays XSL, pouiiru Be6-cpeay. Texnoaorua XML crattopntea KniovoM jaa Kpoce-maTpopmentoit paspaSorku. 21 Mpenncnosne BeG6-pecypcpi Cymectryer mioxectno pe6-pecypcon © mpopmanneit o Java. Ou jit Oracle no saniky Java — java.sun.com; muyite 3jecp mpo- rpaMMiioe OGectievenHe, OSHOBeHIA H peaHsbI Java. Suecb BbI Halistel unerpymentapuit JDK, koropsiii BkOvaer KoMMMATOp, HHTepmperarop W apyrue uncrpymentsl, Tura Mpumeppi k kHure Bam rake caeayer nocerith caiir github.com/patniemeyer/ learningjava, 3,¢cb Bhi HaiijeTe HexogHBIe KO/LbI HPUMepoR us oTOIL KNUTH, Yenosxpie oG6osHayenna, MUCNONb3SOBAaHHbBIC B 9TON KHUTe Yexropnsre oGosnavenna mpi romomut mpHihra B Toit KHHTe AOBOTbHO mpocrsi. Kypeua nenonbayerca Ana BBYLeMeHHA: + men myteit, ¢baiisron 1 nporpamnr; + uoppix repMuios, rze on onpexeasiorest; + nloroKon. Moayaupusiii mpupt neromayeres sua noienenus: + ne6-anpecon, TakHx Kak mMeria zoMerton 1 URL-aapeca. MoHOuMpunit% upudr HCHONBAYeTCs LIA BbIJLENeHHs: + moG0ix semenron sianika Java, BlcHOUAN MMeHA MerojOR, HepeMeHHDre i Mena KuaccoB; + rerop, Koroppie Moryr nospurbest B AoKyMeHTax HTML wa XML; + KuioueRbIx cxoR, oObeKTOR It TepeMeHTBIX cpeabt Mokoumpuussit nonyxupamit upudr crombayeTca Aaa pbIeTcHHs: + Texcra, KoTopprit naSupaerca TombaonatesteM B KOMaTtATONt CTpoKe. Monommpuniust xypcvsunit upHdr HCHOMb3YeTCH JUIA BbLLeNeHMs: mE YP uP y eHTOB Kosta + samensiemsix par 22 Npenncnosne ‘TOT sHavok OGosHavaeT BAxHOe NPMMeYAHHe K COCeAHEMY TeK- cry. [Stor shavox oBosHavaer npeaynpexneHne, oTHOCAUIeeCA K CO- SED conn rovery B rexcre Mbt ykagbinaeM apy HYCTBIX KpyTaBIx CKOGOK Hocste HMeHH Me~ Toga, Wow OTAMTATH MeTOsIH OT MepeMeMTtEx 1 APYTHX osteMenToR. B amcrure nexogHoro Kona Java Mb MpHslepkHBaemes cormamennii 10 MporpaMwmponanino, naviGo.tee vacro ucrlomayemnx B coobmectBe Java. Vvena kaaccop Haunnaiores © gariapnix 6yKB; HMeHa MeTOAOB H Tlepe- Merprx — co crpounmx, Boe Gyknnt n mMeHax KONCTaNT RepxHTeNt perH- crpe. Mur ne ucnoassyem noguepkuBanuii, urbe! pasdeastrs copa B VI HOM Hasnanin; MpHepAuBasch pacnpoctpanennoii MpakTHKH, MBL THUTEM ¢ Gomsmoit GyKBH OTAeTbABIe CORA (sOCIe HepBoro) H CoesMHAEM C:0- ba pmecre, HanpuMep: thisTsAVariable, thisTsAMethod(), ThisIsAClass We THISTSACONSTANT. Takxe oGparuTe BIUManMe, UTO MBL P: veckHe H HecTaTHueckHe MeTOsIbI, Kora CcblaeMcs Ha HUX. B oTMUMe OT HeKOTOPBIX KINI MBI HHKorga He THEM Foo..bar(), 4TO6Br MoApa: MeTog bar() o6beKTa Foo, ecu bar() He ABuseTCH CTaTH4eCKHM MeTOAOM (pacnapazemmas cmirraxcuc Java n otom cryuac). uaeM craTH- tenaTb Ucnonb3o0BanHne npumepos Koga a KHITa Upuspaa noMoub Bam, B oOwem, ecamt 91a KHUTA BOUT MpuMepdt Koza, BOI MOXKETE HCTIOMBAOBATH UX B BAI MporpamMax 1 AOKY- Mentraiiit, BaM He 1y9kHo cBstabIBaTbcat © Usz{arenberBOM, “TOGbI HOYT paspeulenue, ecu BEI He BOCIPOUSBOAUTE sHALUTeAbUYIO YacTS KoA. Ha- IIpHMep, Hamlucarine MporpamMbl, KOTOpast HCHOMbSYET HECKOIIBKO OTPHIBKOB Koja U3 9TOli KMUTH, He TpeGyer paspemenuis, Tpostaxka WIN pacttpocrpane- He MIpHMepon Koja Ha KOMMaKT-sMCKe TpeGyer paspemtenns HanaTeMcTRA. Ytosumianiue wan quruposanue roll KHurH H mpuBeleHue upuMepa kona He rpeSyer paspemenus, BkuoueHue sHauuTembHoro KOMUUeCTBA Koa 13 IpU- Mepon oToii KINITH B AOKYMertTalto Ramlero NpozyKTa Tpebyer paspemermia. Mb! 1leHiM ccbIIKH Ha HCTOUHNK, XOTA H He HacTaMbaem Ha HHX. Cepia. Ha HCTOUHHK OOBIUHO BKIIOVAET HagBAHHe KHEH, HM ABTOpA, H3aTesbCTBO WTO BBIXOA KHUTH, 23 Mpennenosie BnarogapHoctu Muro mogeii seca cBoit Bk1a/ B CoavlaHMe aTOli KHMPH MB ee BO- T1omteHie p nevatHoM prize. Tpexse ncero Mbt XOTUM noGaarosapmTs Tata O’Peiinm aa To, #70 oF am HaM nosMoxHOCTH HamteaTe aTY KiMTy. CractiGo Maiixy JLy«utecy, peaaxropy, be Tepnene 1 OBIT HOMOTAM HAM Ha4aTb oto nyremecreute. Cnacu6o Maye Pepriocon u JbKouy Mosutepy, koropsie MoMoraat 8 opranusauuonierx n peaakumonnsrx zeaax, H oco6as Gaarosap- nocrb Ze6y Komepony, HeyromiMomy pesakropy atoll KUMI, Ges KoToporo MpeABMAYU{HE Ra HAAN MoraM ocTaThes HeaakOMEHHBIMH 1 HaRepHisnKa He ypiiteau Gbt cher. Mot He Moran ake HH MetTar 0 Gostee yMeaoit Hat oT anmpamnoit koManze. Ecam ronoprtp o sanmernonatmax, TepMittomorna 61a astra 119 KITE Hoenaa Oasuarana (David Flanagan) Java. In a Nutshell (O'Reilly, 2014). Mbi Take past HeCKOKO jarpaMM Hepapxii wWaccoB Hs 9Toi KUUEH. DTH ANarpaMMnt Obit OcHORANDL Ha coaganMtx Yapanao JL, Hepxuncom (Charles L. Perkins). wee 6.1aroaapum Mapxa Yoseca (Mare Wallace) 1 Crusexa Bapker- ra (Steven Burkett) 3a urenne opurunabHoit paborbl B Mpottecce M 3a Nos- aepxKy Hamnx apyseii 13 Yanseperrera Jxopaxa Bammurrona: Bpaii na O’Koxnopa (Bryan O'Connor) u Bpaiiena Torran6a (Brian Gottlieb). Taxxe cnacu6o Jbxoury [exy (Josh Peck), coanropy opurmnassnoii kuurH Exploring Java. Cnacu6o Beem Tem, kro pacemarpupan WIM OTBe4YAI Ha HX? Aosnay Dasnarany 3a 0606menns; Teupu Bonry (Henry Wong) sa yrianrst napaienbiocrn; Jxumy Duamorry (Jim Elliott), Mapxy Jlow (Mare Loy) u Bpaitany Koyay (Brian Cole) aa Swing; Jxexy [mpasn (Jack Shirazi) za NIO; Tamy Byapo (Tim Boudreau) a NetBeans; Mapruny Surat ny (Martin Aeschlimann), /laumy Popa (Jim Farley) 1 Jbkony Hopmany (John Norman) sa Eclipse; ay Xayanay (Ed Howland) aa XML; Hony Jlapsuny (lan Darwin) sa peryasprite nuiparkenus, Tarae cnacuGo Poi O'JIupn (Ray O'Leary), Mapu Axpno (Mario Aquino) 1 Mapxy Bos kwamny (Mark Volkmann) sa 1x o6sopmr. H, 8 kontte KonNo8, cnacnGo Moeii Kpacuoii xeHe, Dusen Cour (Ellen Song), 3a To, to Teptievia MeHst BO Bpe- Mst nceit aToit pabornr. [napa 1 COBPEMEHHbIN ASbIK Orponime nepereKtHsr 1 caMprle SaxnaTbrmatontne RoaMorKHOCTH Ans paspaSorannkos mporpannioro oGecneyenna acxkar 8 o6yanartitn crib cereit. Tpuaoxcenua, coaqannste cero, 18 KAKUX Oot Heneli H ayaMTOpI OMI HL HaAMpoasch, NOTH HeNpeMeHo sanycKaroTes Ha ManTHMaX, ChASAHTTETX rao6aabHoii cerbio KoMubIoTepHBIx pecypcoz, Bospacraioulast BaxkHocTh ce~ reli mpexbanziaer nopbie tpeSonaniua k cyItecTBYIOMLUM HlicrpyMeHTaM 1 3a- crasaser Giicrpo pactH cLIICoK aGcomoTHO HOBLIX THMIOB pHEMT. Mbr xorum iMeth mporpanmiioe oGecrieverue, KoTopoe paGotaer cra~ GuabHo Ha wOGo!i HuIaTpopMe H KOTOpoe Xopomo coueTaeTcA © APYTUMH mpiaoxerman, Mbt XoTHM MMeTp ANHAMIecKHe MpItorKeHMs, KoTOpHIC uicnombsyior mpeuMyuiectsa BeemupHoii nayruitst, cnocoGHst noaysitts NOCTYT! K HeCONSMepuMBIM H pacnipesereHHBIM HCTOUHITKAM HHcbopMarun. Moi XoTHM yMubIe MpHAo2xKeHIA, KOTOPHIe MoryT OposHTh Ho ceTAM BMeCTO Hac, pasbick Bast HiopMaluinio H cay2Ka dalek TpOHHDIMH areHTaMH. Mbt yake AOBOAIBHO jLaBHO BHlaeM, KAKOE MPorpamMttoe ObecreHeHHe XOTHM, HO B Ze CTBUTEABHOCTH MBI CTA HoAYUATS ero TOADKO B TeYeHMe MOCAeAHIX He- CKOMBKUX er. Ucropuecku mpobstema aaksouaerea B TOM, “To HiIeTpyMeHTOB Aas cogganms TaKHX upuoKenuit ue xBaracr, TpeGovanus K cKOpOCTH IL Op TATHBHOCTH sBALHOTCA HIAKMONCKIMOUAIOULIMH, a GesonacHocth B Gombe crenenm urHopupyeres mam He TonuMaerca. B npomttom gelicrairerbio MOGHIBHBIE SIQDIKH OBL rpOMOBAKUMIL, ITepHperHpoBAHHbIMH MMe aemmpinit, Caoeli rlonyaaprocrbio ori ckopee 06s9altbI BLICOKOMY ypoBItio dynkunonaabuocrn, a He noprarupnoctu, Muorue sabixu o6piuHo obecne- unpan CKOpoCTb, MpUBAILIBANc K OMpereTeHIDIM TIaTopMam, Tak 4To oll peut npoGuemy HloprarHenocrHt ToabKo HatlosloBUny. CyitecrBowasIo {Ke HECKOABKO 6C3OMACHBIX ABBLKOB, HO OHM B OCHOBHOM GbUIK OTBeTB.IC- HIIMIL HOpTaTHBUBIX, HlosTOMY HME Te %Ke Mpo6sIeMbI. Aab1K Java — 970 conpementutii a6, Koropplit paGoraer Ha rpex ¢)pontax: noprarunnocrs, ckopocrs 11 Gesonacnoctb, TootoMy on stpateTest LOMIINMPYIONUIM sI3BIKOM B Muipe mporpamMuponatiut Goxtee 15 ser. 25 Thaza 1 Nossnenve Java abe mporpaMMuporarust Java, paspaGoraHnbtit Kosmanueli Sun Microsystems rox pykonogcrvom cperua Mnreprera Zpkelinca Tocam- ra (James Gosling) 1 Busia J[xo (Bill Joy), 61 coaman Kak Manmito- HegapicuMbill 951K NporpaMMuponanus, KOTOpHIli ZocTaTOUHO GesorlaceHt UA CeTEBLIX IPUMCHEHI H AOCTATOUHO Mote, WTOODI saMeHuT» postHOlt ncnomtembiii Koz, Aamik Java peur npoSsept, 1osHsTbIe BBLe, 1 CbI- rpaat riapnyio poab a pasputint MurepHera, peayasratom “ero crasio To, #70 MbI BHAMM ceituac, Visniavaspnio otttysnaam 8 oTHomennn Java 66171 n ocHtoptiom cocpexoTo- ‘eH Ha ero BOSMOAKHOCTAX COSAHILT BCTPANBAeMBIX MpILTOrKeHUi sia Bee- MupHoit nayTimbt, HaspinaeMnIx annzemaxu. Ho pratiane anmaeror 1 apytie mpraroxkerna aura rpadpisteckux mirtepipeiico noaBsonarerst (GUI), nam catttbte Ha Java, Gouin ovens orpanuiennbimn. Cerosus y Java eer Swing Ogu 13 caMDIX HE0Mpent row sat coajanus GUI cpeatt ncex saiabikon. Ira paspaSorka noswomtaa sapIKy Java npewpariurEcs B onysiapryto maTpopMy 21a paspaborkH TpasuTUOHHOTO KaAMeHTCKOTO IpukaasHoro MporpamMuoro oGecteveHUs. 1x naGopos micrpys Uro ene 6oree waxKHo, 31K Java cra riaBnoii matpopmoii 19 Be6- mpwaioxKennit u ceppicon, StH mpwioxKeHHA HcHObayIOT ‘TeXHOAOTUN, nkmouatomtue Java Servlet API, ne6-ceprnicnt Java w MHoro TonysapHDrx KOMMepueCKHX CepRepow MIprioxeHHiL H dpelimBopKow Java im ceprepon 1 (ppeiinpopKon ¢ oTKpErTDIM KosloM. TopratmpHocth 1 ckopocth stapI- ka Java genaior ero naattopoii: Homep oamH as coppemeHHbtx Ousitec- mpraoxenmit. Cepnepst sapika Java, pasoraromme na marcbopwax Linux € OTKPBITHIM KOOM, HaXOJLITCA CeTOHA B CepsLLE {eOROTO H putarcoRoro Mutpa. Dra KHUra NOKAAKeT BAM, Kak HCTOMBIOBATS sabIK Java JIA BbITTOHEHIA peambiTsix sata no TporpaMMmporanmo, B caeAyIOMUHX ra1anax MBI pacemo- TPIM BCe OT TeKCTOBBIX MpoHeccopos 10 CosAaMHs Cereii, CossAltH MHOTO- byniknonaabubix KaneHTeKHX mpiioxenmii GUT mpi nomont HaGopa Hit crpyMenon Swing 1 terkorecubix 8e6-npr.toxenmit 1 cepeiicoR. Npoucxoxgenne Java Cemena Java Guin tocesitb1 B 1990 rosy ocHonaresteM 1 ralaBHtbIM He caegorarerem Kommanun Sun Microsystems Buswiom Jbkoem. B ato ape- 26 Cospementilt satin Ma KoMMaHHs Sun KOHKYpHpoRAA Ha OTHOCHTEABHO HeGosbIIOM pBIItKe padounx cranumii, B To BpeMs Kak KoMHatisA Microsoft nauunata 2oMH- HMpoRaTb CBONMIL Goslee MaccoBDIMH MepcoHabHbIMH KOMIbIOTepaMit ¢ Mxponponeccopamn Intel, Korza Sun yrycrimia croii matic B pero.no- IU TlepconanHDrx KoMMDIOTepoR, JLxoft oTeTyTIHA B Acrer, Konopazo, Jui paGor hl B MepeneKTHBHBIX UccHeEAORAHMAX, OH MpHAepURALTCA 1;AeH © BBINOAHEHUM CHO*KHBIX 3aga't C HCHOAB3OBAHMeM MpocToro MporpaMM- Horo oGecneverma m ocHonas yaauHo HasparHyto KoMManmo Sun Aspen Smallworks. Cpean nepspix u1enop ManeHbKoll KoMaHtbI MporpaMMUCTOR, copapuinxes p Actiene, Jbkelimca Tocanira santoMnstt Kak oria sabia Java. Tocaunr enepsne npocaaguaca gnaiane 80-x Kak azrop Gosling Emacs — eppoii nepcun rlonyaiapuioro pexakropa Emacs, koroppiii 611. namtcan Ha asnrke C mt pa6oras riot Unix. Peaaxtop Gosling Emacs ctan HOnyaspHbIM, HO BeKOpe ero saTMUNIA GectaTHas Bepcut — GNU Emacs, Hammicammas repre zusaiinepom Emacs. K tomy ppemenm Tocamr repe- rest k paspadorke cucrembi NeWS kommanim Sun, KoTopas Kakoe-To Bpe- Mat comepituana ¢ cuctemoit X Window System aaa ynpapaentts: pabo- uM crosom ¢ GUI na ocuose Unix 8 1987 roay. Xora nexoropsie san IIpHepRUBAIOTCA TOUKM speHHs, YTO cucrema NeWS npesumecrBowasta cuereme X, NeWS mponrpasta, noromy 4ro Kommatia Sun ocranasia ee cBoeli co6eTrReHHOCTIO H He MYGAMKOBaA HCXOJIHBITi Kou, B TO BpeMst KaK meppsie paspaborunn X ccbopMmporasn Koxcopunym Xu neroasa0nastu mporuRononoxKitbtii HoAXOR Paspa6orka NeWS o6yunsa Tocamura cnae wirerpanii ppipasiresb- Horo s3btka ¢ GUI okonHoro THMa, opHeHTHpoBAHHbIM Ha ceri. Ona TakKe Haysiaza KoMTarmio Sun, io cooSmecTso MHTepHeT-nporpaMMmponana, GeaycnonHo, OTKagHIRAeTCA IPHHUMAT CTaHsapTbl, BallLHI[EHHBIe MpazoM cocrrenmoctH, KakrMmt 661 XopormMdT ont Hit Gort, Cemeria ammenanon- Holi Cxempt s3prka Java 1 OTKPHITOFO Kosa (IIYCTH AazKe He ¢ OTKPHITHIM HcTOUHHKOM) HlocestHibI Heyaaueli NeWS. Tocamar upitiec ro, vey on Hay unica, n poxszaromutites npoexr Buraza Jbxoa p Actere. B 1992 roxy paGora Hag IpockToM mpigeaa K ocHoBanuI Kopnopauun FirsPerson, zoueprteli Kopntopaniu Sun. Ee Muccueli Gs1o puinectu Sun v Mup HorpeGurrestbcKoli SIEKTPOMMKH, Komanja kosmanmn FirsPerson paspaGarbinasia mporpammnoe o6ecte- NeHHe 18 UAthopMalMOHHOl! ObITOBOli TeXHIKH, Takoll KAK MOGIIbHBIC Tenecponst 11 KapMartitbre Hepconanbitb1e KoMmbIoTepBt (PDA). Heab10 Gp1:10 oGecneunrb nepexog uncbopmanin 1 npuoxKeHutit B peawbHOM Bpemenit Ha Aellenbie HHKpakpacuble H TPALMIUMOMADIe CeTH, ¢ jopAHNbIe Ha MakeTax, 7 Thaza 1 Orpaniienua 8 aMaTH H mponssogurenbHocTH suNKTORAIH KOMTAKTHBL odybexruputiii kox. Ipuposa npustoxkenuii TakcKe tpeSopasta, 40641 OH 6ou1H GesonracnbiMit 1 sicHibINH. Toca H 4u1eHbI ero KOMANLAbI 1asaztH TIpo~ rpaMMupozars Ha sgbike C++, Ho BeKope Gwin COMTHI C TOMKY TeM, TO S3BIKE ORAATCH CTIIIKOM CTOIKHDIM, TPOMOSTKIM 1 HeGesOTACHEIM JUL HX 9a, On pennumt Havars ¢ caMoro Havana, u Tocamnr navan paGorat Haj 4eM- To, UFO OH Hpac «C++ Maye MHHYC>. C usodpereunem Apple Newton (iepporo Kapmanuoro KomubioTepa Koprtopantun Apple) craio oveBn ato, 170 BPeMA KapMarIHBIX TlepcomacTbHDIX KOMIbIOTepoE elle He HPHULIO, HosTOMy KoMHaHHL Sun HepeKOUHLIA Yeu aa FirsPerson Ha miTepaxrupioe Tenepuzene (ITV). Aanik mporpaan- ponanna, poi6parnntii 714 TenepuaronnDx MpHcTanoK, cram mpaxrieckH upesuectbeHHuKoM Java — sonixom, Hagwanubim Oak, Take c ero nosuue- CTHOM M BOIMOXHOCTHIO MpeNocTaBLITh GesonacHyio uNTepaKTUBHOCTD siapik Oak ne cor cacti besttaxextioe ges10 ITV 8 To Bpems. Hoxynaresn ero ie xorean, 1 Sun BeKope ocrapiisia 9TY usLeI0 B ro npenat Jbxoit n Toemmur oGpeammuanes, 4706s BHGpats HoRyI erparerio juis choero utoBalwontore agbrka, Hen 1993 rox, u Berm ka unrepeca k Bcemupuoii nayTune mpeaocrapiuia 1M HoBy10 BOSMOKHOCTS. slatix Oak 6ui1 kommaxriuim, 6esonaciibiM, HesaBiICHMBIM OT apXUTeKTYpBt 1 o6pexrio-opuerrnponannbim, Kax oe TOPLIMHL 13 TpeGonauuil K YHIBEpCalTbHOMY, HOHSITHON iporpaMMuporanusi, Sun 6sicrpo cena oxy Menientuii agsix Oak crat a9bixo Java. OCH, 3TO TAKE HBLILIOCD HCKO- 'y Murepuery sabixy HW Mocae HeGombIINX H3- Cranosnenne He 611110 Gu npeyreamucrmem ckazaTh, HTo ADK Java paaropencs Kak auKnii oronb. Taske s10 ero odpmuutatpHore Benycka, Kora sbIK Ja MponanoscTneHMHM, NOUTH Karat KPYIHA KOMTIANHs OTpacotH MpHMKtt na « Hemy. Jinuensuaramn Java Osun Microsoft, Intel, IBM u mourn Bee octopitsie nponsnoanrenn anmapaTibix cpexcTR Ht MporpammHoro obecrreye- Hus, Onnako co Rceit s K Java noreptiea MHoro Heyztat H yattat Goslb Hepemen B cBou HlepBbIe FobI. He 6p ‘oli nos ULeparKoit 9 Cepust Hapyuienuit aoronopor 1 anruTpecrowcKnx cyeOHBIx mpouec- com Mexay KoMMannaMm Sun mt Microsoft no monoay pacrpocrpanenis Java ut ero ucnioapaopanus 8 Gpaysepe Internet Explorer npenstterrova- a IPUMeHeHio ero B camoit pacripocrpanienHoll B Mupe oMepaitionHoli 28 Cospementilt satin cilcTeMe {14 HacTombHOTO KoMMbIOTepa — Windows. Barpysuurenpnoe toaoxKenue Microsoft u Java TakKe craso oMMUM 13 o¥AroB GoubUlO- ro ¢edepaabuoro esa 0 Cepbesiiblx MpoTHBOKONKYpeHTHBIX MpakTHKAX B KOMIAHIM, B peaybTare UerO CHILLeTEABCKHE HOKAIAHIM B CYAE BAIABH- AIM cormacopanible YeruIHs Tirattra Mporpanminoro oGecrretentHs ¢ 1eTBIO Hogopnars Java, eMonerpupys Hecoornerereus B Hx RepcuM saBiKa, B To axe upemst Microsoft upexcrasusa coli co6cruenusiii sasix C4 (C-sharp), ochonanmulii na Java, Kak vacts cpoeit mmmuatipnt NET 1 naGapuace or skmouenus Java B Windows. C# cra oven xopoui sigbikoM cam 10 ce6e, copepileHcrRyach OOABILNM KOSMECTROM HHHOBaMHi B HocueAHHe ,uem Java, roa Ho Java npozomkaer pacnpoctpanatncs ta caMBix pasttoo6pastibrx naardopmax, Korga Msi Have sHakoMurbea ¢ apxureKTypoil Java, Bot YOUAMTe, 4TO MHOro YAMAMTeAHOFO B 9TOM AabIKE MPOMCXO/NT OT aBTOHOM- oii cpeabi supryambuoii Mamas, Ha KoTOpoil paGoraior npiiowKenns Java, sabi Java overt THaTenbHo paspaGoran, Tak TO 9Ta TosLIeprKHBAIONIAS apxurektypa MoxkeT GbITh MpHMeHeHa Kak B Mporpanattiom oGecrieueHiTH JUIA CYIECTBYIOULHX KOMIbIOTEPHBIX HIaTdopM, Tak H JUIst HacTpoeHHoro anmapatnoro oGecneyenna, Hpumenenue Java B annapatiom oGecneuennu UCHOABSYeTCsH B HEKOTOPBIX UMIOBIX KaPTAX H ApYIHX BCTPOeHHBIX cHCTe- Max. Bot take MoxeTe KYMUTD yeTpolicTRa, Take KaK KomBIA iapMelickue seTOHbI, B KOTOpBIX BerpoeHbI HHtTepuperaropsl Java. Hpume- Henle Mporpanatiioro oGectteveHHa Java LOCTYIIHO JUL BCEX CoBpeMeHHBIX KOMIDIOTEpHBIX ILIaTtpopM, BK:TIO“As HOpTaTHBHbIe KOMIbIOTepHDIE yerpoli- crpa, Cerouit orversucnue iiarbopmet Java apaserca ocHoBolt omepe mmonnoit cnetemmt Android of Google, 11a KoTopoit paSoraror MmaHapaBT TenedboHoR H ApyrHx MoGHABbHBIX yerpoiicTR. B 2010-m kopopauns Oracle kya Sun Microsystems 1 crasa pac~ nlopssuresiem sisbika Java. Havato 6put0 Hempocrsim: Oracle cyaitach c Google 13-aa nenoabaonanita sabika Java B Android 1 nporrpasta, B ino 2011-ro Oracle pomyerivia Java SE 7, parkubili pbinycK Java. Buptyanbuaa Mawinna Flank Java swasetca CKOMIMAMpOBANIDIM 1 MuTepupeTHposaniim sapikom, Hexoanbiit Kon Java npespauten B mpocTble GuHapHibte MHCTpyK- TUM, STO Gompme Moxoxe Ha MammMiMHOTit KA MITKPoMporteccopa, Kak 6m1 TO Hit GbuI0, ec McTOURK C Hain CHF YMeHbINeH 0 poHBIX MHCTpyKU 29 Thaza 1 JuIs on|peneTeHHoli MosesIH HIN Mpouteccopa, To Ko Java CKOMIUTHpOwAH B yluBepcanbutbiii opMar — wieTpYKUMH LUA 6upmyaiouot mauunet. Ckommunponanupiii 6aiim-xod Java poinoniserca uirepuperaropom npemennt ppmoanenns, Ciictema ToyepxKH BEITOAHeHMA BEIMOmHAeT nce obnrinbie AelicrBuA npoyeccopa ammaparHoro OGecrereHIst, HO jeAaeT 9TO » Gesonlactioli BUpryambuoli cpeze, Ona BbItoHseT HaGop cTeKOBBIX UH crpyKuwtit 1 ynpanaser namsTDI0 KaK OnlepartMomtas cuctema. Ona cosaa- eT MpOCTHIe THILBI AAHHDIX H YupABAAeT MMI, 3ArPY2KACT H BBISLIBACT BHOBD cepitaebe 6u10KH Koma. YTO caMoe TMaBHoe, OMfa JeAeT 9TO B cooTRET- crBUH ¢ 4eTKO on|pexeeHHoll TKpHITOii crleM>uKaMHeli, KOTOpyIO MoxKeT UpuMenmts m06oi, Kro XoueT coagaTb BupTyanbHyiO Mammy Java, Bue- cre BUPTYanbHaa Mamma H onpeserene sama MpexeTaRNaIOT MomHYT cneumukawino, Her cnoiicre 6azovoro aabika Java, KoTopble 6b1 ocraatice HeompesteaeHH DIM HH 3aniCHMBIMH OT BHeApeHts. Hanpumep, saprK Java cneumunupyer pasmepbt u Maremaritieckie cBoiiCTBa BCeX CBOMX IPOCTHIX THTOB JaHHbIX, a He OCTaBASeT HX peasHganuMN T1aTopMbI. om Mo- Mnrepnperarop Java nonomno serkonecbiit 1 KoMmaxrieri 2et OuIrh peamHsonan B m0Goit opme, HoAXoNAMeli J oNpexeneHMoit mtardopael. Mrrepuperarop Moxer paGotar Kak oTjeabHoe MpuwioKeHue HAM MoxeT 6bITb BHEAPeH B Apyroe MporpamMuoe oSecneyenne, Takoe KaK ne6-6paysep. Bee cxasannoe ro Kost Java HosmocrDIo noprarH- nen. OaNH H Tor xe SaiiT-Ko MpvioxeHHa Java Moxer padorarb Ha :10- Goit naardbopme, ro oGecneumBaer cpeay BbIttOEHHs Java, Kak HOKasaHO na puc, 1.1, Ba He Hy:kHo MpousBoAUTD atbrepHarHBHble BepcHN Bauer TIpHsIOXKeMUA AAA pastBIX IaTopM We HYkHO pasmanarh HexosMETE KOA KOHeUHBIM HlombaOBaTeNsM, jauaer . Kai 8 apyrix o6bex chi ABAAIOTCH KOMMOMEH TANT pHLIORKe- @ynazamenraspuas exunmua Kona Java — Kaac Ho-OpHeHTHpOBAHHBIX s9BIKAX, KuIa Hs, KOTOpBIe CosepkaT McTIOMHAeMBIIL KOH JaTMBIe, CKOMMHTHpORAHHBTe ksacebi Java pacnpoctpansiorest B YHMBepcasIbHOM GutapHioM ¢bopmare, co- aepxamen Gaitt-Kox Java 1 Apyryio mubopanino Ksracca. Knaccet Moryt CoxpanisaTbcs OTJebHO H Xpanutrbcs B dhaiisax WIM APXMBAX AOKAsIbHO HLH tia cetenom cepnepe. Kaaccnt pacnosaratores noarpyrkaiores mmaMire- CKIt BO RPEMS ICHOJIHENHS, Kora O11 HeOGXOALUMBL MPHUIOXKEHINO. B aonoanenne & matdpopmo-saenc! osnenust Java UMeer psig ¢byHAMeHTAMbHBIX KaACCOB, KOTOpble CO;LepakAT APXILTEKTYPHO- aanHICHMBIe MeTOAB. ITH Memodol cAYAAT ROPOTAMM MexAY BIP- tyanbHoli MammHoii Java u peabHbIM MUpoM, Ox peaisoBaitel B epRoHa- 30 MbIM CHCTeMaM HC} Cospemenntsit Rati NaQuIbHO CKOMIMILIMpOBAHHOM sgbIKe HA TLiartbopMe XocTa H MpexocTapasioT AOCTYN HUWAKHETO YPoBHA K pecypcaM, TAKHM KaK CeTb, cHcTeMa ympanzenHa okHaMu u caiinopast cucrema xocra, Hogapaniomtas uact Java Hanmeata Ha caMoM siabike Java, 3arpyxkeHHoM c 9THX 6as0BHIX 91eMeHTOR, H T109TO- My noprarnana, Dro Gasonbie unerpyMentel Java, Takue KAK KOMILAStTOp Java, cerepbie 6u6auorexu 1 6uGauoTeKH GUI, KoTopHie Takae HarlticaHtbt Ha Java 1 LOcTYMHBI Ha BoeX TuIaTtopMax Java TOUHO TaKHM *e o6pasom Ges HloprupoBaKus. eon xon Unix Windows osx Puc. 1.1. Cpena sbinonienia Java Uctopmeckit mrepnperatopo canrasich MestentbiMit, Ho Java He siBIKETCH TPALMMHOHHBIM HHTEpHpeTHpOBAHHBIM s13b1KOM, B_joMosHeHHe K KOMMILIAWIN HeXoAHOro Koza B HopraTHDHbiii Gaiir-Koa Java Suita THA- Tenbito paspaGoTarta TakHM o6pas0M, 4To MporpaMMiad peasmusauia cucre- MbI BbIIOJHEHUA Mo2keT aclee ONTUMUISHPOBAT CBOIO IPOUSBOAUTEADHOCTS, KoMIMUpys! 6aiit-Kox B opHrHnanbubtit Mamutbtit Ko Ha neTy. Dro Wa- 3t Thaza 1 SbIBACTCH KOMIILLILA Ke ObI- CTpo, Kak OpHrHHaNbHbIT KON, H MOJULepAUBATs CBOIO TparicriopTaGenbHOCTD u Geaonactocrs. DTOT HYHKT 4acTO HeTloHATeH TeM, KTO XOUET cpaBHUT IpoHsBOAMTeb- “rb stabikop, CymecTByeT TOsIbKO OstHA CepHeatiast MpodueMa, OT KOTOpOII crpagaer KoMmusumpyeMbtii Java-Ko RO RpeMs BBITIOMMEHUA pay Geaoriac HOCTH M ApXiTekTypbt BUPTYAJbHOlL MaUIIHBI, — MpoBepka rpaHu Mac- cima, Bee octambitoe MoxkeT ObITh ONTHMHIMpoRano B OpuTutatbHBtit KO Tak ake, KK IPH CraTHMeckOil KOMTLAAIUTH s13bIKA, Kpome 9Toro, saB1K Java comepxknt Sombie CrpyKTypHoii mirpopManmn, sem MHOTHe APyTHe staBIKM, upeaycmarpunast Goabue THHOR onTHMMsamI, TakaKe HoMHItTe, 4TO 9TH ONTUMUSAILU MOrYT OCyIlecTBASTSCA BO BPEMA BBINLOAHEHIS, IPUHUMAst Bo BHIIMarHe pearbHoe MonexenMe M XapakTepHeTHKH MpHtoxKeHmii. Uro MoxeT 6biTb cjles1aHO BO RPMs KOMMIUTALUIH, Hero T BO BpeMs BoINTOAHEHHAT? Uro 2k, KOC-HEM IIPHXOAMTHCA NOCTYTIUTbCA: Bp% ene! Ho wbast cenaTh ye re HpoGsema tpaxuiMonHoil znHaMiueckoll KOMI — 9To TO, TO ONTHMUBAIUA KOA saHMMaeT RpeMst, Hitak, juiHaMMecKiii KOMIMAstTOp MoxeT JaBaTE AOCTOIHDIe Peay-TTATEI, HO MOXET CTPaarb OT anaMIItTesTDIIO- ro RpeMeHH OXkUVLAHHA MPH ganyeKe MpHIOrKeHus, BOCHORHOM 9TO He HMeeT Gombuloro sHaveHIs JL1s Horo paSoTaLOULX UpUsOrKeHUt cepBepHoil cro- Pontr, 10 aAKeTes ceppestio;t MpobxeMoii 711 MporpamMrioro obectteye- Hua KaMeHTeKOil cropoxbI 1 MpHaoxeHnii, KoTOpBIe paboTaioT Ha MeHbIINX yerpolicrax c orpaHH4eHHbIMH BOsMOxHOCTAMH. Uro6bI PellHTb 3TOT BO- HIpoe, TeXHOOTHs KOMIHIMIpoBAHHst Java, HaabiBaemas’ HotSpot, ncnotbay- er IpiieM, HMeHYeMbili adanmucnoit Komussuqueit, Eau BbI 1locMoTpitre, 1a uTo B jlelicrRMTemBHOCTIT pacxomyeTca BPeMa paGoTDI MporpanM, OKAXKETCH, 4TO OHM TpaTAT HOUTH BCE BPEMs, BINOMHSA OTHOCHTEMbHO HeGOMbINYIO tact Koga cHona H cHona, YuacTox Koza, KOTOpHIit MoBTOpHO BBITIOmIAeT- csi, MOKET ObITb TOABKO MasIbIM (pparMentom BCeit MporpamMbl, HO ero TORe- Jeni onpereaser O6myIO MpoHsBoAMTeADHOCTD MporpanMtel. AsarTHBHAs KOMIILISIIHS TakKe HOsBOAAeT BPeMeHI BbITIOAHeHH Java HCTOA3OBATD IIpeUMYIeCTBA HOBLIX THIOB OLITHMUSAMHH, KOTOpad He MOxET ObITb BbI- Hoaieria B CTaTHYeCKH KOMMHJINPYeMBIX sBbIKAX, OTCIONA YTBEpIKACHIe, TO Java-kou padoraer 6sierpee, vem C/C++ B HeKOTOpbIX CAY4AsIX. Yro6nr noayunre npenmymectso or aroro dakra, Texnostorusi HotSpot Hasmnaer kak OObruHbIiL MHTepnpeTaTop Caitr-Kona Java, Ho ¢ onHOli past weil: ona HaMepser (mpodpumpyeT) Koy BO RpeMa ero BEITOAHEHMA, TTOOEE 32 Cospementilt satin YBIJeTD, KakHe YacTH Kosta BOITOTHSOTC MHOToKpaTHo, Korsta ona staer, RaKHe YACTH Koja ABIALOTCA KPHTHYCCKUMH JL MPOHSBOAMTeMbHOCTH, TeX- Hosworus HotSpot KoMmmupyer 9TH YacTH B onTHManbHBtiL coGcrReHHBLii Mamimitibili Ko. Hockomsky OHa KOMMLTHpyer TOAbKO MasleHbKyIO WacTs MporpaMMt B MamnimiTtotit KoA, ona HMeeT BOaMOAKHOCTE HcrOMBAORATH Bpe- Mai, HeOGXOAUMOe JLIt ONTUMMIATUM aTHX Yacreli, OcrambHaa HacTe mpo- TpaMMbl MoxkeT BooOIe He HY2KATHCA B KOMI — TombKO MHTepupe- rant — To coxpanaer rams 1 npems. B zeiicrenrenbrtocrH BupTyampiast Maui Java Moxer paSoTatb B ABYX pexIMAX: KAMEHTCKOM H CepBepHOM, uro omipezeasier, Jev1aTb akiLeHT Ha 6LICTPOM BpeMeHH crapra M CoxpalleHHit HaMSTH WIM Ha CKOPOCTH BEINOMHEHHS, B prom Mecte nosikaer ecrecrnenmutit Ronpoc: sasem puiGpacuinar Belo oty Xopouly.o npodiibAyiO HHdopManu KaacabIll pas, Kora BEIKCLO- uaeres npiioxkene? Yro ak, KoMMantit Sun sarportyzia aTy TeMy Bo BpeMst peausa Java 5.0 uepes ucuoabsozanne OOWNX KaACCOR H KAACCOB TOKO UMA ITeHNsI, KOTOPHIe HepMatlenTHo XpaisrTes B ONTUMMH3HpoBaHHo;t (op- Me, DT alatHTeXHHO YMEHBIIMIO H PEMA aanycka, M HanoxeHte MHOTHX Java-npiioxentii Ha oHoit Maumne, Dra TexHoAOrHs! LOBOA HO Ilea MpOcTast; ONTUMUSHPORATD HaCTH MpOrpANMbL, KOTOPHIE O.1KTDL paGorarb Guicrpo, 1 He GecuoKoUTscs O60 BeeM OCTABHOM. bHO culO%KHaA, Java B CpaBHeHun c Apyrumn a3pikamu B cnoem nnGope cnojicrn aanrk Java onmpaeres Ha MuoroneTHuit ombrT TporpamMupowarins Ha spyrux sabrkax, Caeser YACHT HEMHOTO BpeMeHIL cpanrrertmo Java a BbICOKOM YpoBHe c HeKOTOPBIMET ApyTHMH sAaBIKAMIT, ITO Gyner noaesHo J.18 TeX U3 BAC, Y KOTO UMeeTCH OLLIT Iporpamautpowanuts Ha APYTHX AabIKAX, H [IA HOBMYKOR, KOTOPHIM HeoOXOAMMO Xopomto paso6patb- ca 8 Teme, B atoll kuure Mol He paceuit JuiGo s9bLK MPOrpAMMUIPOBALLNLA, H KOKA MBL CCbLIAeMCA Ha APyrHe SLU Jula CpaBHeHHs, Mbl HasleeMcs, {TO KOMMeHTapHH ToBOpAT cam 3a ce6s. BaeM H TO, 4TO BBI Kak sammy tpn kotor reo6xoAuMer {14 TostepsKKM yHUBepeamb- Horo s13b1Ka IPOrpaMMUPOBAIHS CerOANL: HOPTATHBHOCTD, CKOPOCTD Ges0~ nachioerb. Puc, 1.2 nokasbinacr sabik Java B CcpaBHeHHH ¢ HECKOAABKMH APY- PHAM sIabIKAMLL, KOTOPHIC OBL HOMY.IIpUbI, Kora OH Obi Coastal. Bui, BoaMoxHO, CHBIMTATH, TO AabNK Java RO MHTOTOM TOXOX Ha saBrk C nan C++, no 8 AelicTBitrenbHOCTH 9T0 ToAbKO BHeUIHee CXogCTHO. Kora BBL brepppre narasnere Ha Java-Koa, Hbt yeuANTe, uTo GasoREIit cMTaKeHC 110 33 Thaza 1 xoxk Ha C wait C++. Ho 1a 9Tom cxosteTpo Wt saKanunpaeres. Aapik Java Hit B KOEM CALYYAC He ABISICTCH IPMBIM HOTOMKOM C 11M CHeAYIOWUEM HOKO~ aenuem C++, Ecant bt epasiitre cBolicrea 9THx sabIKoB, BbI yBILUITE, YTO y Java 8 geiicraurensuoctn Goabmme oGulero © AMHAMMNECKHMUL st3bIKANIL puromreit creer, TakHMM Kak Smalltalk m Lisp. B aeiicrpirremiocrn pea- agaist Java Hactombko AasteKa of peasant C++, HackObKo BBL MO-Ke~ re ceGe mpeacrapurs. x, JAVA Smalltalk 2 : Q qf £ : LP b> Ble SLI yw Puc. 1.2. Cpasvenne ssbikos nporpammuposaHns Ecuii bhi sHakoMal ¢ coppeMenuoii Hanopanoii AabiKoB, BEI SaMeTHTe, "To nonyxapurit asbne C# orcyternyer b oT cpaprtenmit. C# B 1lez0M — 9T0 OT ger Microsoft Ha Java, HMelomMii MHOTo MpeuMyllecTB IPH TOBepxHOCTHOM pacemorpenmm. IIpi o6mtem anaaiine 1 noaxone (HanpuMep, Hicrrosts0RAHTe bupryasbnoit Manrnr, 6aiit-Kog, «necounma> 1 Ap.) MtaropMbr Tro cyme- crny He OTMUMAIOTCH B HOKASATeNSX CKOpOCTH HIM XapaKTepHcTHKAX 6e30- nactiocrn, C# TeoperiHteckH ABIsICTCH TAKHM 2Ke HopTaTHBHbIM, KaKk Java, 10 ceroaHa OM HOAepAUBAETCH Ha Topasq{O MeHbUIeM KomMMECTBe TIaTopM. Kak 1 Java, C# miioro nosanmersonaa 13 cmitraKcnea C, Ho p jeiterpirem- HOCTH sBIIAeTCA GITAKHM POCTREHHUKOM JUIHAMMUeCKHX sastkoR, Muorne paspaorumien Java cunrator, ¥ro noHsTh C# HocTarouno sTerko, H Haobopor. Boabiias YacTs RPeMeHM, KOTOpOe TpaTHTes MPH Mepexoge ¢ OFHOTO saBIKA na apyroii, yxoaurr Ha usyYeHue cranjapTHoil u6zmoreKu, Topepxtocriioe cxoacrRo si3b1KoB, oHAKO, HINero He Crom, SL3bIK Java Geper Mioroe or cuttraKcuca sabika Cu C++, Tak 4TO BbI YBILUNTe KpaTKHe AaDIKOBbIC KONCTPYKINM, BINA HIO6HANE durypHDIX cKOGOK 1 TOUeK c sanaToii, Hai Java nosnucsipaeres tos (puutocomueli C, gaxuio4aOMe ca B TOM, UTO XOpOUMMTii sIETK AOKEH GHITH KOMTAKTHBIN, APYTHMT coTORA- MI, OF JOzDKEH GbITS AOCTATOIHO MerKOBECHBIM HM PeryAAPHBIM, TAK 4TO po- 34 Cospementilt satin TpaMMUcT CMOXKET Cpasy sanOMHNTD BCE ero BOSMOxHOCTH. Kak HB emyHae ¢ pacuupsemocrbio Gu6suotek sabiKa C, Hakerbl ¢ KiaccaMHt sa3biKa Java MOFYT AO6aBIATHCA B LCHTPaIbHble KOMMOHEHTH ASbIKA WIA pacuMpenHa ero conaps, Slasix C yenleuex, HOckoubKY npedocraBaser uporpammuyio cpesty co SHAUNITeAIDULIM COdeprKAULNEM CBOLICTB, ¢ BLICOKOIi UpousBoANTeAbuOCTLIO u npuemaemoii zoneli noprarusuocru. AabiK Java Take crapacrea Gaatant- cupovarh MEKAY @YHKYLOHAAHOCTBIO, CKOPOCTHIO IH LOpTaTHBHoCTLIO, Ho concem apyrHM o6pasom. Asn C poigaer (pyHkrMowatbHocTs sa ToprarHn- HOCT, #3DIK Java HSHAVAIbHO BBLIABAT CKOPOCTS 2a HloprarnBHocTS, S3b1K Java Tarwxe peulaer mpo6.1embt Gesonacuoctu, Koropsie sap1k C He peuiaer (xota B conpeMernmutx cncremax Milorue 11g THX NpobuIem celiac pemaiorca onepauuonnoii cneremoii u annaparHsim oGecteveHuem). B caso nate, eule 10 2uMaMuCeckOll H aaITHBHOll KOMMMLIALIH, siabik Java GbuI MesuIeHtice, YeM CraTHMECKH KOMIMIUIMPYEM ble A3DIKI, H SUBIC ASbIKU NOCTOMAHO HOBTOPSUIU, UTO OM HUKOrAA He AOCTUrHEr JoCToIiHOLO ypontis. Ho, kak MBI cKaaa.Tit B MpeNDULYIeM passleste, MpoHsnomUTeABHOCTE Java ceituac cpaniua c C wn C++ b akunanentinix sajlaax, 1 9ta KpuTH- Ka 8 OOWeM comma Ha Her, J[BHKOK BUAeOUTpEI ¢ OTKPBITEIM KOAOM Quake2, coartamoit ID Software, 61a nepemreatt na Java, Een sani Java anaaeres goctarouno 6b1crppIM {L19 BoeHHO! UrpBI OT HepRorO MHA, To on ompeAe~ NeHHO ocTaTouno Spicrp Jui GusHec-npHsoKeHHi. slapikn cuewapuen, take Kak Perl, Python, 1 Ruby, ovexb nonyaspHor, Her mpi, sro6t sank cnenapnen te nloAxoar 114 GeaoriacHiIx cereRBIX upiioskenuii, Ho Maorue ckpiitTopble sSbIKH 1L10X0 HOXOIMIT JL KPYTIHO- MacurTa6ioro mporpaMMurpopaniis. IIpunseKaresbiibIM B CKpIIITORBIX s1961- KaX sIBANETCS TO, ITO OHM ALAMITECKHe Ht sBIISHOTESE MOLUBIM HHCTPyMeH- ToM ju14 6o1cTpoii paspaSorku. HeKoroppie siabikH cleHapHten, Take Kak Perl, TAKGKe MpeAOCTARASIOT MOMUIKIE THCTPYMeHTBI LI gajtat To OGpaGorke TeK- cra, KOTOpble MHOFHE YHMBEpCADHbIe ABbIKH HaXOsLtT rPOMOs/IKHME. CKpHI- TopbIC AIBIKH TAIGKe OMeH) NOPTATHBHDL, XOTA H Ha YpopHe HeXoAHOTO KosIa. JavaScript ne cronr nytath c Java, Tak Kak 9TO o6beKTHO-opHeHTHpo- sannbtii ckpunrosstit sisptk, nanauanpiio paspaGoramnbiit Netscape 1s Be6-Opaysepon. OH ABILAeTCA Beb-obo3peRaTens aut JU wii, Hasganme JavaScript Mpouexoaur or ero uitrerpanuin ¢ Java 1 HeKOTOpBIX OGULX ePT, HO CxOR- ctno B xelicrenTembHocTH axecb H saKarannactes. XoTa nproxerns ta JavaScript Bie 6paysepa ecrs, o# Tak Tlo-HacTOsIUeMY H He IpUBILICA KaK 35 IMHMMECKHX, HH repakTHBHIX IpHOxKe! Thaza 1 ckpuitrosbiii pik. Js Goarpitelt nicpopmautiti 0 JavaScript suralire kunt ry: , KOTOPHIE AeIAIOT ero Goree oxarbim. Muxpemenrias paspa6orka ¢ o6bekrHo-opmenrupovanibiMu KoMO- nentamn p couerannm ¢ mpoctoroit Java nenaer paapaSorKy npustoxenmtit 6nicrpoii, a x Hamenerme — arerkum, HccaeaoRanust HoKasaTH, “Tro paspa- Gorka Ha * daa npunepa ext. G. Phipps, “Comparing Observed Bug and Productivity Rates for Java and C++ "Software ~ Practice & Experience, volume 29, 1999, 36 Cospementilt satin cranjlapTHBIx KulaccoR stIpa JUIt OOMLIX saa, TaKUX Kak paspaGorka GUI it yupabaeniue ceresbimit cBsissinul. Ho BMecte c 9THM cBolicTBAMH A3bLK Java umeer MacurraGupyemocrb 1 mpemmyutecrea paspa6orkit ILO, npncy- ule Gostee crariieckuM sab1kaM, OH Mpe_octanasier Geaonlackylo CrpyKTY: PY JU1A COBLANIA BEICOKOYPOBHERBIX CTPYKTYp (i axe pYTHX ABbIKOR). Kak Mul yoke ckasauit, no Konerpykuuint Java oxox Ha Smalltalk Lisp. Ojnako arn saHKH McHOABsORAIIC GoabIe Kak aIMApaTbL {U1 Hay HDX uecueqoBanuii, YeM Ana CossaMust KPyILOMaCMITAGULIX cucteM. Oauoll U3 MpHAMH sBAKETeA TO, YTO Y OTHX ABKIKOB THKOTA He Gout cTaNapTHDIX HopTaTHRHBIX CBsieii C CepBHCaMM OfepaltHOHHBIX CHCTeM, TaKHX KaK CTaH- gapTiad 6uGanoreka C w1m ueHTpambusie Kaaccst Java, Smalltalk Kom- muaupyerca B mrrepnpetuponamtit bopmar Gaitr-Kona u Moxer mirrep- uperupovarses B co6cruenupiit xo Ha aery, Kak Java, Ho Java yayumen B KOHCTpYKUMH 9a cueT McHOMBIOBAINA Bepr>uKaTopa GaiiT-KosA ANA oGecuevena KoppexTHOCTH CKoMUMAMpoBanoro Java-Koua, Dror Bepi- ¢puxarop aaer Java npenmymectno B npouspoaureabiioctn mepea Smalltalk, nlockombky Java-Kos Tpe6yer MenbuIHx NpoBepok paGouero Iuka porpaM- mpi. Bepuipukarop 6aitr-Kosla Java Takxke HoMoraer c peulertiem mpo6s1em Gesonacnoctu — to, ¢ ueM ne paGoraer Smalltalk. B oroif rane Mer conepmmmm kpareirit o6s0p staprka Java. Mut o6pacttiM, uro Hoporo i te oven B Java HOMeMY. Besonacnoe npoextuposanne Bbi, 20.pkHO GpIb, MHOTO CzIbIILIAITILO TOM, TO sabIK Java paspaGoran Kak Gesonacubtii sab1K, Ho “To MoapasyMenaeTes ron Gesonactioctb10? Besomac- HocTs OT uero HIN Koro? CpescTRa GesorlacHocTH, KoTOpBIe MpUBueKAIOT MHoro DHMMAHIA K Java, — 9TO Te cnolicTea, KOTOpHIe AeMAIOT BOIMOXHBI- MIT HonBIe THTBT WIHaMTecKH MoprarHpHoro Mporpamttoro obecresenta. slobnc Java oGecrieuupaer HecKobKO ypoBHell saulUTBI OF CHACHO HOBpexk- JeHHOro Kosta, a TaicKe APYTHX BPesHBIX sBACHIN, TAKHX KAK BHPYCbI HM TPO- sickute Kot. B cstestyioutem pasileze Mbt HOCMOTPHM 11a TO, KaK apxuTeRTypa BUPTyasbHOll MaLIMHBI ormpesleaser 6esonacHocTh Kosla Hepes ero 3arlyCKOM I Kak aaepyauux kraccoe (MexatiaM sarpysku HATepmperatopa Java B GaiiT- Kojle) CrpouT CreHy BOKpyr HeHaLekHBIX KsaccoR. DTH cpescrBa COCTABLIS- ToT ocHoRy s14 chopMmpoRants REIcoKOYpoRHeROit NomNTHKT Gesomacno- CTH, € HOMOMIbIO KOTOpO!t MOxKHO paspellars HH sar1peukars pasHoro poz aeiicTRMS Ana BCeX MpITOKeHMit p pankax BUpTyambHoit Mario. 37 Thaza 1 Oauiako B stom pasitene MBI paceMoTpUM HeKOTOpBIe CBOlicTBa sisbIKa uporpamMuponauus Java. BosMoxnto Goce vaxkuoii, 4em cpeacTBa Ges0- nachocrn Java, Xora Yacro HesaMeventoll, sBaKeTe Gesoriacto. Topyio mpesloctaraser Java np pemeHui pacnpocrparentbx npob.zem aupaiia 1 mporpaMMmponannst. 3azaya sapiKa Java — 6vIT Kak MoxKHO Gonee sauUIMeHHBIM Kak OT MpocTHIx OMIMIGOK, KOTOPHIE MBI jleTaeM caMAt, Tak IL OT TeX, KOTOpsIe HONAAAwT K HAM c YHACHeZoBaHHBIM TO. Henbi0 Java 60110 octanuTs agbIk MpocTHIM, Mpegoctapnth HncTpyMenTs1, KOTO- pble 1poeMOHCTpUpyior cBo1 WOAesHOCTS H HOBBOAMT HOsBsOBATEILIO CO3~ HaBaTh [IPH HeO6XOMMOCTH Godlee CO2XKHbIC O6bEKTHI Ha BBICIIEM YPOBHe rb, KO- ssbiKa, Ynpowenue, ynpowenne, ynpowenne B Java npoctota spasetcs npapiiaom, Tockompky a3bik Java nasunanca cMuCTOrO ACTA, eMY yaOcb H3GexXKath CBOIiCTB, KOTOPbIe OKAzALTHICh 3ally- TAHHBIMIL IM LIPOTHBOPeIMBLIMH B APYTHX sigbikax. HanpuMep, Java He 1O- ilyckaer Meperpyaky onepatitii, onpestenentbix nporpaMMicToM (KoTopast B HeKOTOpHIX AAbIKAX oaROAAeT MporpamMlicTaM repeonpetessaTb aHaderne Ga0Rbix CHMBO.IOR, TAKUX, Kak +11). ¥ sabika Java Her npenponeccopa He- XOMOTO Koja, TAK 4TO B HEM HeT TAKUX ReMteli, KAK MaKpOckI, HHCTPYKIITH #define HAM KOMMMJAUMA yclOBHOTO HCTOUHUKa, Dru KOHCTPYKUNH cyue- CTRYIOT B APYTHX st9DIKAX B OCHOBHOM 144 MomepAKH saRMeHMocTelt TaT- cop, Tak uro B9TOM eMBIce OHM He HYAkHBI B Java. Yenopias KOMIILISLUISt TAKAKE HIMPOKO HCHOADAYCTEA JL OTIAKH, HO C:OAKHASL OTTTHMIBALLU Pa- 6ouero nikaa Java Ww TaKne cRoiicrRa, KaK ymaepacdenua, pemaror mpobsIeMy Gone ateranrio (bi paceMoTpuM HX B rulaRe 4). Slabix Java upedocransser Yerkyto crpyKTYpy nakemoe ja opraHusanui qaiinon Kaccop, Cucrema nlakeros Mosposster KOMMHITOpY ympapasrh nexoropoit yNKuMoNarbHOCTbIO cramtaprHoii yruuTH make (imerpy- ). Kommmasrrop Takaxe Moxker paGoTars Henlocpey{crReHHo ¢ KOMMLMpoRaMNErsUt cbalttanct Java, oToy 470 coxpanserest nest HHKpopManua THIIa; Her HeOOXOAUMOCTHE sarononouNBIx> cbaiinax, Kak B C/C++. Bee aro osttayaer, uo Java-Kogy HyxHO UNTaTb MeHbule KouTeKcTa. B geiicrBuTenbHOCTH MHOrZa DM MoxeTe O6MAPYAIUTD, WTO GoreTpee MoeMoTpeTs Hla HexoAMETit Kom Java, uem o6pamarbes K OKyMeHTaNITH Ka1ac MeHT JUI4 CO3/AHHA BbINOJHseMOTO Kosa H3 HCXO/HOTO KOA BO BHEMIHHX. Aap Java TawKe m0 cholicrbam, KoTopble ObiJIN MpoGseMHBIMM B JIpYrHX stabiKax. Hanpunep, 38 cBOEMY TIO/XOJMT K HeKOTOpbIM crpyKTYpHbIM, Cospementilt satin Java lowutep:kuBaer ToADKO Mepapxino KulaccoB eMMUTUHOTO HacsenOBANHs (y KaxkLoro Kuacca MOAT GHITb TOABKO OAUH «poulttenbeKuii» KuIAcc), HO TlosBoeT MiOTOUMCACHTIOe HacsexOBanMe HuTepdelicon. Humepppeitc Kak aGerpaxranii Kace B C++ yeranansunaer nonegenue oGbexra Ges onpeste~ JenHa ero BEINOHEHHs. ITO OMEN MOMLUTETit MexanTHaM, TosBosisoMUt pag~ paGoTauKy onpesemurs nonexenua oOveKta, KoTOpHIii MoxeT HcHONBEOBATHCA IL YHOMUMaTbCH HesABHCHMO OT HacTHoli peanusauU O6b- exta. Hnrreppeiicnt n Java nckmouaror norpe6tocr B MioxKecTReMHOM 11a- caeyonaniiut Kiaccoe 1 cpasannbie ¢ oTHM mpobseMBL. Kak est yenure Brave 4, Java qocrarouno mpocroii m HastuHblii stab1k TporpaMMuponarins, 1 9TOM B Tepryio OMepemb SakmMOuAETCA ero MpUTATA- Tenbttas cma. Besonacuoctb THN0s MM CBaSbIBaHNe METOAOB aun 13 arpn6yrop san1Ka — 910 BIA Mposepku munos, KoTOPEIIL OH He ver. Kak mpaniio, stbiku pacripetessiores 110 KateropisM Kak cma- muueckue u Ounanuveckue, 1To OTHOCUTCA K KOIMLECTBY WHcOpMaulutit 0 11e- PeMEHIDIX, HSBECTHDIX BO BpeMs KOMIIALN, HpoTHE Toro, UTO HaBEETHO BO BpeMsi paGorhI MpHIOACHUA. noabs B crporo craruueck THINSMpoBaHHEIX si3bIKax, TAKUX KaK C nm C++, TUM AAMNDIX cHOBHO BUIGUTEL Ha KaMHe, KOFAa KOMILIMPyeTes HeXoAUbLIL ko, Komunaatop tloslyuaer npeuMymectBo oT 9TOro, HOCKONBKY UMeeT 10- CraTOUHO UAKPOpMALML 111 OTHOBA MHOTHX THIIOB OWUGOK Heped BDILIOL Heniem Kona, HanpuMep, KoMIIIsITOp He TloaROAIT BAM XpanluTb sHayeHie c 1apaiouteli ToUKoii B HepeMenuioil Heatoro THMA, Koa Torua He Hy-KAACTeH DB IpOREpKe THTIOB Bo BPeMA BHITOATHEHMA, OSTOMY OH MoxkeT OUTS ROMTIT- aponatt, wro6u1 crarb KoaMaKTHBIM 1 GoierpHiM, Ho aspreH co craTHecKs- MI THHAMH sBasHOTea HerHGKUMH, OHH He HosylepaxnBaIor GuGAMOTeKH TaK 2Ke CCTCCTBCHHO, KAK ABHIKI C ANHAMMYECKOHt MpoRepKoit THMOB, H AeAAIOT HeBOSMOKHBIM JIA UpUOKEHUA GesolAcHblii UMMOPT HOBBIX THILOB 2ast- MIX, Kora orto BbINOmMACTCH. Jina cpannenna: takoit anmammrecknii asp, Kak Smalltalk nan Lisp, IIMecT HiclommaeMyto ciicremy, KoTopaa Ympanaaer THMaMHt OGPeKTOR TTPo~ HBOAMT HEOGXOAUMYIO HpoBePKY THHOB, HOKA NpHAoKeHMe BEINOAHAeT- ca, DTH TIMID AaBIKOB TlosRoAATOT Goze CsToxKTOe TOReAeHTHe HBO MHOTHX acekTax Gotee MomunbIe, O-HaKo B OCHOBHOM Ont MesLIeMIee, Mertee Ge30~ acHbl H TarKeaTbI B OTTAATKE. 39

You might also like