Računalniki Windows Internet

Lastnosti in metode jezika Java. Ustvarjanje aplikacij za Windows. Programski jezik C #

Star sem 22 let, imam ekonomsko izobrazbo. Pred enim letom (februar - marec) nisem imel nobenega znanja programiranja in sem se z Javo srečal le v igrah na starem Siemensu (v obliki pozdravnega okna »powered by Java« ob zagonu igre).

Pred letom dni sem delal na oddelku tehnična podpora... Delo ne pomeni, da je slabo ali da mu ni všeč, vendar ni posebej zanimivo. In zgodilo se je, da sem v nekem trenutku pomislil - lepo bi bilo imeti službo, na katero ne bi šel z občutkom »prekleto, spet delaj«, ampak da bi to prineslo veselje. Mislil sem - kaj bi storil, če bi imel pogojno eno leto, v katerem mi ne bi bilo treba zaslužiti denarja, pa bi lahko delal, kar hočem? Odgovor je nekako prišel sam od sebe - sedel bi doma in se učil programirati.

Toda obvladovanje programskega jezika je korak k uspehu za mnoge ljudi, ki se požvižgajo na internetne ambicije. Postalo je sinonim za programiranje za Svetovni splet... Hrustanje oddaj Tiskanje etra Kako videti skozi stene Vidni vsadek Vision verjame, da je "takojšnje dejanje" magnetno Več kot globoko v koži Varno shranjevanje Ni skrivališča za nikogar Agility velja za lingua franca za internet Velika vloga majhnih satelitov? Novice o teh tehnoloških udarcih skrbno berejo tako finančna množica kot tudi programerji.

Potem sem se odločil, da je odvisno od mene. Razumel sem, da bi se programiranja težko naučil iz nič, da je to začasen odmik v moji karieri (nisem dvomil, da je mlajši razvijalec prejel manj kot jaz na tem delovnem mestu), vendar sem to naredil kot korak nazaj da naredim dva koraka naprej ....

V REDU. Šele prej kot storjeno. Ker programskih jezikov nisem popolnoma razumel, je bila prva ideja naučiti se jezika, o katerem sem največ slišal (bil je uporabljen za razvoj programske opreme v podjetju, kjer sem delal) - PHP. No, dekle se je pogovarjalo. Povedala mi je, da v njihovem podjetju (razvoj mobilnih aplikacij) androidi pišejo v Javi + zdi se, da je njihova plača dobra. Googlala sem, googlala, razmišljala in se odločila, da se naučim Jave.

Kajti za naslovnicami se dogaja velik jezikovni preobrat. Na prvi pogled se lahko zdi, da so spremembe ledene. Toda globoko v skrivnem svetu programske semantike se mnenja razhajajo. Njihov izbruh bo spremenil pokrajino interneta in še več na bolje.

Veliko sodobni jeziki programiranje ima splošno evolucijsko ozadje. Z vsako novo generacijo se programski jeziki vse bolj odmikajo od računalnika, s katerim komunicirajo. Jeziki prve generacije so govorili z računalnikom v enotah in ničlah "strojne kode", ki jo je neposredno razlagal centralna procesna enota kot navodila za manipulacijo s podatki, shranjenimi v njegovem pomnilniku. Jeziki druge generacije ali "montažni" jeziki so bili razviti za lažje pisanje in branje takšnih navodil z uporabo kode črk in številk, ki je bila kasneje prevedena v 1s in 0s, ki jih stroj lahko razume.

Moj prvi korak so bili tradicionalni poskusi, da bi se naučili nekaj novega - oborožite se s knjigami, obvladajte teorijo in pojdite! Tako sem dobil knjigo Horstmanna in Cornella - Java. Osnove. Bilo je marca 2014.

Na splošno sem vse življenje obupano slab pri učenju iz knjig. To je verjetno posledica prevladujočega načina zaznavanja pri osebi. Snov sem se vedno zares naučil šele potem, ko sem jo praktično obdelal, utrdil, se igral z njo. Tako so bili moji prvi poskusi učenja Jave iz knjige obsojeni na neuspeh. Čeprav je knjiga dobra.

Za razliko od jezikov prve in druge generacije sintaksa jezikov tretje generacije načeloma ni odvisna od računalnika, na katerem delujejo. Za prevajanje kode v strojni jezik se uporablja ločen program, imenovan prevajalnik. Ti jeziki ponujajo programerju tudi veliko bolj naravno obliko izražanja, vendar za ceno, da močno zmanjšajo obseg težav, ki jih jezik lahko reši.

Ko je prišlo do razvoja pete generacije računalniških jezikov, se je ta urejen razvoj razpadel. Pravzaprav je internet dal programerju prednost pred jezikom. Zaradi enostavnosti uporabe, eleganca računalniških jezikov, ki so tako dragi akademskim gurujem programsko opremo, je bil žrtvovan. To je pomembno za ljudi, ki gradijo spletne aplikacije v kratkih rokih. Posledično je porast hitrih in umazanih skriptnih jezikov v zadnjem desetletju "lepljivi trak" svetovnega spleta.

Nekje aprila sem na VKontakteju naletel na skupino CodeGym.
Potem se je vse začelo kot po tirnicah. Reševanje problemov, številnih težav, ki jih spremlja majhna količina teorije, je očitno optimalen način za preučevanje gradiva (po vsaj, zame). Sedela sem doma, sedela sem v službi in se odločala, odločala, odločala) Takrat sem se dodatno prepričala, da mi je programiranje zanimivo. Nisem se mogel spomniti, da bi lebdel nad kaj takega.

Ti jeziki so postali razširjeni, ker so tako prilagodljivi in ​​prilagodljivi potrebam interneta. Skriptni jeziki v mnogih pogledih dojemajo zamisli jezikov četrte generacije kot korak naprej v smeri preprostosti. Ti jeziki so znani kot "tolmačeni" jeziki. Z drugimi besedami, računalnik razlaga programerjeve želje eno navodilo naenkrat, namesto da bi najprej "prevedel" ali prevedel celoten program, preden se lahko zažene. Pisanje interpretiranih programov je nekoliko podobno znebiti se rimanih verzov. primerjava: pisanje sestavljenih programov je bolj podobno sestavljanju soneta.

Tri mesece sem potreboval, da sem dosegel 20. Zdelo se mi je, da bi nadaljnji študij jezika potekal veliko hitreje, če bi se že zaposlil kot programer - takrat bi bil v tem okolju 8 ur na dan, 5 dni v tednu in bi se izredno hitro razvil.

Tako sem avgusta začel pošiljati svoj življenjepis. Z nekaj krajev so mi poslali testne naloge, po rezultatih katerih nisem prejel nobene ponudbe za delo - če pogledam nazaj, niti enkrat nisem presenečen - problem, ki sem ga postavil, sem morda rešil, a kakšen slab slog kodiranja, ki sem ga imel) To je mimogrede majhen minus CodeGyma - dokler je naloga rešena in so testi opravljeni, se naloga šteje, čeprav lahko vaša koda pusti veliko želenega. Dovolj je, da v Intellij IDEA namestite isti vtičnik Checkstyle, položaj pa bo drugačen - poudaril bo "dvomljive" točke v kodi, ki vam bodo omogočile, da napišete ne le delujočo, ampak tudi lepo, pravilno kodo.

Zaradi tega so skriptni jeziki idealni za hitre popravke in ne za velike projekte. Najprej so skriptni jeziki zasnovani kot posredniki pri drugih programih in ne kot samostojne enote. Ta funkcija, podobna lepilu, jih naredi tako privlačne za spletne aplikacije, kjer je komunikacija med programi ključnega pomena. Drug trend, ki je bil pred spletom, a ga je močno spodbudil, je premik k "objektno usmerjenemu" programiranju.

Zadevni predmeti so običajno priročni prikazi v računalniški kodi nasprotnih strank v resničnem svetu. Stroški plačevanja predmetov so v tem, da mora biti jezik opremljen z veliko knjižnico različnih razredov predmetov, zaradi česar je jezik okoren in bolj okoren za uporabo. Soglasje pa je, da koristi shranjevanja knjižnice objektov daleč odtehtajo stroške, zlasti v teh dneh, saj sta procesorska moč in pomnilnik tako obilna in poceni.

Kakor koli že, septembra so me poklicali na prvi razgovor. Prosto delovno mesto je vsebovalo nekaj takega - razvijalcu katere koli stopnje bomo ponudili plačo, ki ustreza spretnostim.
Na tem razgovoru so bile naloge približno naslednje - podan je bil del kode. Ali je pravilno napisano in kakšne težave bi lahko nastale?
Ne spomnim se, koliko od njih sem se pravilno odločil. Na splošno se je bilo treba spomniti na Null, skoraj vsa vprašanja so bila o tem - da ne smete dostopati do parametra metode, ne da bi ga najprej preverili (če je param! = Null).

V izjemnih primerih, ko je velikost težave, je mogoče knjižnice čim bolj zmanjšati. Druga prednost objektno usmerjenega programiranja je, da lahko uporabniške skupine ustvarijo in delijo nove razrede predmetov. Zaradi tega je objektno usmerjeno programiranje še posebej primerno za skupinsko naravo omrežja.

Ni presenetljivo, da je zdaj skoraj vsak programski jezik, ki ni bil objektno naravnan, zdaj. Medtem se sama filozofija objektno usmerjenega programiranja premika v več visoke ravni abstrakcija. Relativno nova in trendna razširitev tega koncepta je tako imenovani "programski vzorec", ki odraža osnovno strukturo uspešnega reševanja vedno nastajajočega problema pri razvoju programske opreme. Predloge se nanašajo na predmete kot na montažne opeke in malte.

Posledično so mi ponudili, da prvi mesec delam brezplačno (kot pripravništvo), nato plačo, ki je nižja (čeprav ne veliko) kot na delovnem mestu, kjer sem bila.

Dobro sem razumel, da ne bi smel pričakovati velikih predlogov, ker sem poznal malo teorije, prakso samo v CodeGymu, nič izkušenj itd. Zato sem se strinjal, da bom odšel čez 2 tedna (pravi čas za odpoved na starem mestu).

Medtem ko skriptiranje in objektno usmerjeno programiranje predstavljata pomembne nove trende, je bil največji premik v zadnjem desetletju v opredelitvi, kaj programski jezik v resnici je. Za uspeh teh jezikov je najpomembnejše, da so vgrajeni v okolje, ki se sooča z internetom. Na primer, prevajalci pravočasno zagotovijo, da lahko programček, ko ga prevedemo v strojno kodo, kasneje zaobide bajtno kodo... Seveda je za pridobitev zvestobe mladih programerjev potrebno več kot le pametna programska oprema.

Vzporedno s tem sem svoj življenjepis predložil drugemu podjetju. To podjetje je ponudilo naslednje:
- 2 meseca usposabljanja Java EE (2 -krat na teden po 4 ure)
- če pokažete dobre rezultate (uspešno zagovarjate svoj projekt, o katerem ste pisali ta dva meseca), potem vam ponudijo zaposlitev.

Podjetje je zelo dobro, tuje, znano, delovni pogoji pa odlični - z eno besedo, tja sem hotel veliko bolj kot tja, kjer so mi že dali ponudbo.
Njen izbor za usposabljanje je vključeval 3 stopnje:
1. Izvajanje praktičnih nalog doma.
2. V primeru uspeha ste vabljeni na računalniško testiranje v pisarni.
3. V primeru uspešnega testiranja boste na isti dan opravili razgovor.

Konceptualno oba jezika predstavljata zelo različne stave na prihodnost interneta. G. Hejlsberg, ki ni edini, ki želi povedati svoje mnenje, poudarja, da gre pri internetu za prenos podatkov, ne za obdelavo podatkov. Prvič, ne more izvajati matematičnih ali logičnih manipulacij s podatki.

Programer izdaja navodila računalniku na enak način, kot delavec na gradbišču kriči na svoje delavce. Vendar pa obstaja višja stopnja abstrakcije - na primer, arhitekti namesto izdajanja naročil porabijo čas za projektiranje stavbe. To je modelni jezik "velike slike", ki so ga sprejeli številni programerji, čeprav ni omejen le na programiranje.

S praktičnimi nalogami sem se spopadel brez težav - tukaj hvala za CodeGym in njihove naloge, po katerih so se te naloge zdele precej preproste. Na voljo so bile 3 naloge: za RegExp (Google je pomagal, ker jih sam nisem zdržal in se jih nisem spomnil), za algoritme (precej preproste, za hitrejše sklepanje) in za pisanje / branje iz datoteke (veliko jih je na tečaju CodeGym). Povabili so me na računalniško testiranje.

Do sedaj ta orodja niso bila prevedena neposredno v celoti delovni program... V naslednjem desetletju pričakujte celotno abecedno juho novih jezikov. Bolniki, ki merijo uspeh v smislu vrstic napisane kode, verjetno ne bodo simpatizirali s tem novim načinom razvoja programske opreme.

Na obzorju se programski jeziki soočajo z velikim izzivom, da bi internet postali pametnejši. Pred letom dni je Tim Berners-Lee, izumitelj svetovnega spleta, objavil manifest za pomenski splet. Njegova vizija je, da bi morali računalniki prepoznati pomen informacij na internetu glede na njihov kontekst in uporabnikom zagotoviti veliko pomembnejše informacije kot današnji spletni brskalniki.

Na testiranje sem se pripravil s pomočjo kvizualne spletne strani (http://www.quizful.net/job-role/junior-java-developer). Ti testi so veliko pomagali, nekatera vprašanja so se na koncu celo prekrila. Test sem uspešno opravil, začeli so me intervjuvati.

Verjetno v življenju tega intervjuja ne bom pozabil.

Oseba, ki me je intervjuvala, je želela slišati od mene samo osnove teorije Jave, na primer:
- kako se preverjene izjeme razlikujejo od nepreverjenih;
- katere metode ima razred Object in zakaj so potrebne;
- kaj so zbirke in zakaj so;
- in malo o večnitnosti.

Obstaja veliko načinov, kako bi se to lahko zgodilo. Seveda lahko nekateri pomenski podatki ležijo v samih podatkih. V tem je možnost jezikov, posebej zasnovanih za umetno inteligenco. Takšni jeziki obstajajo že desetletja. Tako kot pri Darwinovi teoriji je tudi odločitev, kaj je najbolje, odvisna od okolja, ki se nenehno spreminja. Kako hitro se lahko vse to zgodi? V naslednjem desetletju pričakujte celotno abecedno juho novih jezikov.

Programiranje v Litvi se je začelo gobeti po dežju. To ni čudno - programerjev trenutno primanjkuje, banke, različna zahodna kapitalska podjetja v Litvi le povečujejo lovišča za nadarjene programerje.

CodeGym je odličen tečaj, uči vas reševanja problemov in programiranja, vendar se je treba teorije (za razgovore) naučiti ločeno, v kar sem se prepričal, ko sem v teh vprašanjih plaval kot riba v akvariju.

V enem tednu sem temeljito preučil to vadnico in šel na ponovni razgovor na predvečer tistega dne, ko so me pričakovali na novem delovnem mestu. Očitno je bil tisti, ki me je intervjuval, najbolj zasvojen z mojo namenskostjo (vedel sem, da če se vpišem na to pripravništvo, je nadaljnje odvisno samo od mene - v dveh mesecih bi ugotovil vse, kar je potrebno). Kakor koli že, vstopil sem v to pripravništvo in nisem hotel iti v službo na kraj, kjer so mi prej ponudili.

Tečaji vas ne bodo razočarali, vendar pričakujejo, da bo naivno kupiti veliko denarja za poplačilo. Nekateri nadobudni programerji se delodajalcem izogibajo, ker morajo vložiti veliko časa in truda. Jankauskienė je zagotovila, da to borza dela reši s pripravo individualnega akcijskega načrta. Lahko se sprejme po diplomi iz matematike ali drugih natančnih znanosti in ima sistematično znanje.

Sveže programerje ne zanima vse

Ivanauskas je poudarila, da je vsako podjetje za začetnika programerja opredelilo drugačno definicijo. Smo programer začetnik z do dvema letoma izkušenj. Mi jih zaposlujemo in zdaj jih imamo veliko. Po njenem mnenju lahko mlajši programer dela po opravljenem petmesečnem tečaju programiranja, vendar temu strokovnjaku morda primanjkuje znanja.

V 2 mesecih smo se seznanili s številnimi temami iz Java EE, kot so servleti, JSP, mirovanje JSF, pomlad in še veliko, veliko več - zaradi pripravništva smo bili seznanjeni (imeli smo približno predstavo) o glavnem nizu Java EE tehnologij. Prav tako smo med pripravništvom napisali lasten projekt, ki so ga ob izhodu morali uspešno oddati v zaposlitev.

Kot navaja Rimkute, željo po programu običajno izrazijo ljudje, ki z delom niso zadovoljni ali ga sploh ne dobijo. Poleg tega se številni prijavljajo na tečaj programiranja za najboljše mesto, ki ga ponuja delodajalec, ali tistih, ki sanjajo o svojem poslu. Najpomembnejša pa je človekova pripravljenost in odnos do učnega procesa.

Začetnik lahko sreča pol tisoč evrov

Rezultat je odvisen od osebe. Potrebno je najmanj pet mesecev. Na koncu tečaja vas čaka strokovni izpit - tisti, ki se drži in drži in ga niti ne poskuša preizkusiti. Zdi se, da je odrasel, vendar se njegova mama prijavi in ​​poskrbi za obisk odraslega otroka. Mousavi, udeleženec programerskih tečajev. Trdil je, da lahko začetnik programer pričakuje mesečno plačo okoli 500 evrov, drugi pa lahko dobijo tudi višjo plačo, saj je vse odvisno od tega, kako oseba predstavlja delodajalca in kakšna je njihova motivacija.

Spomnim se svojih prvih občutkov, ko sem bil na prvem predavanju. Pogledal sem nalogo tega projekta (izšel je takoj na prvem predavanju) in niti približno nisem razumel, kje naj začnem in kako to narediti.

Spomnim se tudi, koliko me je stalo, da sem uspel. V teh dveh mesecih so bile skoraj vse misli v moji glavi, da sta uspešna zaposlitev in izpolnitev sanj v mojih rokah in nič več. Od nikogar drugega ni bilo odvisno, ali bom to zmogel. Samo od mene. Že sem zapustil službo, sedel sem skoraj brez denarja in res je bilo težko. Sedel sem zjutraj, sedel popoldne, sedel zvečer, vendar se nisem naveličal veselja - ne spomnim se, kdaj sem se nečemu posvetil s tako obsedenostjo. Tokrat mi je znova pomagalo spoznati, kako zelo uživam v programiranju in koliko bi rad delal na tem področju.

Poleg tega je predlagal, da je treba opozoriti, da so za uspeh v razvoju pomembne posebne značilnosti določenega načina, na primer osredotočanje pozornosti in osredotočenost na eno delo, ne glede na to, ali je oseba pridobila znanje s področja programiranja. na univerzi ali drugi izobraževalni ustanovi ni pomembno.

Poleg tega je predlagal, da je treba opozoriti, da so za uspeh v razvoju pomembne posebne značilnosti določenega načina, na primer osredotočanje pozornosti in osredotočenost na eno delo, ne glede na to, ali je oseba pridobila znanje s področja programiranja. na univerzi ali drugi izobraževalni ustanovi ni pomembno.

Na maturi sem predstavil svoj projekt. Zaščitil sem ga res dobro, očitno veliko bolje od pričakovanega in kot izjemo nisem bil zaposlen za prvo mesto, ampak takoj za mesto razvijalca srednje Java. Bilo je 9. decembra 2014. Nisem mogel verjeti, a ponudba za delo je bila pred mano na mojem monitorju. Programski inženir. To se je zgodilo.

15. decembra sem šel v službo. Nikoli nisem imel misli "prekleto, nočem iti v službo". Vsak dan, ko zjutraj odidem od doma, vem, zakaj hodim v službo, kaj bom počel in koliko si tega želim. To je noro veselo. Vredno je in vredno je bilo cene, ki jo je bilo treba plačati za uresničitev vaših sanj.

Vsem, ki resnično želite biti programer, želim, da gredo naprej pri doseganju svojega cilja. Je več kot resnična, zelo blizu je, a zanjo je treba plačati. Plačati z zapravljenim časom, živci, saj se naučiti nekaj iz nič res ni najlažji korak. CodeGym mi je pomagal narediti te prve korake z lahkoto in nisem se že na začetku umaknil od programiranja zaradi navidezne kompleksnosti in obilice teorije. Tako sem lahko svojo precej noro predstavo o radikalni spremembi na področju poklicne dejavnosti (tudi brez tehnične izobrazbe) pripeljal do konca.

In zagotovo lahko.

Ta razdelek zajema osnove objektno usmerjenega jezika. Java programiranje... Java ni samo jezik sam, ampak tudi platforma za ustvarjanje in izvajanje aplikacij, ki temeljijo na tem jeziku. Jezik se je prvotno imenoval Oak ("hrast"), razvil pa ga je James Gosling za programiranje potrošniških elektronskih naprav. Kasneje se je preimenoval v Java in je bil uporabljen za pisanje odjemalskih aplikacij in strežniške programske opreme.

Ta jezik je dobil ime po znamki kave Java, ki jo imajo radi nekateri programerji, zato uradni logotip jezika prikazuje skodelico kuhane kave.

Kar zadeva izgovorjavo v ruščini, sta se kot v številnih drugih oblikovala dve različni normi - izposojena angleščina ("dʒɑːvə" - "java") in tradicionalna nacionalna "java", ki ustrezata tradicionalni izgovorjavi imena otoka Java. Sun ohranja angleško govorečo izgovorjavo po vsem svetu. Včasih se slengovska beseda "krastača" uporablja tudi v vsakdanjem življenju (na primer slika krastače je na koledarjih skupine uporabnikov Java).

Objektno usmerjen programski jezik Java

Programski jezik Java je razvil Sun Microsystems in je objektno naravnan. Vir Java aplikacije prevedel prevajalnik javac v posebno bajtno kodo za izvajanje pod nadzorom navideznega stroja Java.

Navidezni stroj Java (JVM) je program, ki obdeluje bajtno kodo in posreduje navodila strojni opremi kot tolmač. Ena glavnih prednosti ta metoda Izvajanje programov je popolnoma neodvisno operacijski sistem in strojno opremo, ki omogoča izvajanje aplikacij Java na kateri koli napravi, za katero obstaja ustrezen navidezni stroj.

Druga pomembna lastnost tehnologije Java je prilagodljiv varnostni sistem, znotraj katerega izvajanje programa v celoti nadzira virtualni stroj. Vsa dejanja, ki kršijo dovoljenja, dodeljena programu (na primer poskus nepooblaščenega dostopa do podatkov ali povezave z drugim računalnikom), bodo program takoj prekinila.

Slabosti koncepta uporabe virtualnega stroja vključujejo zmanjšanje zmogljivosti, proti kateremu se borimo na različne načine:

  • uporaba tehnologije prevajanja bajt-kode v strojno kodo neposredno med delovanjem programa-JIT-tehnologija;
  • široka uporaba na primer programske kode (izvorne kode) v standardnih knjižnicah SWT;
  • strojno opremo, ki omogoča pospešeno obdelavo bajt kode, na primer tehnologijo Jazelle, ki jo podpirajo nekateri procesorji ARM.

Različice Java

Java 1.0

Razvoj Jave se je začel leta 1990. Leta 1996 prvi uradna različica- Java 1.0.

Java 1.2

Posodobljena specifikacija JDK 1.2 je bila razvita leta 1998 in je izšla pod imenom Java 2. Jezik se ni bistveno spremenil, vendar je platforma prejela številne dodatke:
  • Swing knjižnica za razvoj Uporabniški vmesnik;
  • nabor zbirk;
  • podpora za datoteke pravilnikov in digitalna potrdila uporabnikov;
  • knjižnica za ljudi s posebnimi potrebami;
  • Java 2D;
  • podpora tehnologije povleci in spusti;
  • popolna podpora Unicode, vključno z japonščino, kitajščino in korejščino;
  • podpora za predvajanje zvočnih datotek različnih formatov;
  • Prevajalnik JIT.

Java 5.0

Leta 2004 je izšla specifikacija Java 5.0. Od razvoja te različice se je uradno indeksiranje spremenilo; namesto Jave 1.5 bi bilo pravilneje klicati Javo 5.0. Sončevo notranje indeksiranje ostaja nespremenjeno - 1.x.

Manjše spremembe so vključene brez spreminjanja indeksiranja. Za to se uporablja beseda »Posodobi«, na primer posodobitev Java Development Kit 5.0 Update 25. Posodobitve naj bi vključevale popravke napak in majhne dodatke v API -ju JVM.

V različici Java 5.0 je bilo narejenih več temeljnih dodatkov:

  • naštete vrste naštej;
  • opombe - možnost dodajanja metapodatkov v besedilo programa, ki ne vplivajo na izvajanje kode, vendar jih je mogoče uporabiti za pridobivanje različnih informacij o kodi in njeni izvedbi;
  • metode z nedoločenim številom parametrov;
  • dovoljen je uvoz statičnih polj in metod;
  • v zbirki, ki jo lahko uporabite Iterator predmeti ( za vsakogar);
  • uporabo javadoc komentarji za samodejno pripravo dokumentacije;
  • splošna programska orodja generiki.

Java 6

Decembra 2006 je izšla še ena izdaja Java 6... Skupaj s to izdajo so bile izvedene tudi spremembe uradnega indeksiranja - namesto Jave 6.0 je različica navedena kot Java 6. Manjše spremembe, kot v prejšnja različica so vključene v redne posodobitve različic, kot je Java Standard Edition Development Kit 6 Update 25.

V različici Java 6 razvijalci so naredili naslednje velike spremembe, ki so jih "opazili":

  • Swing izboljšano delovanje OpenGL in DirectX;
  • dodan GifWriter za delo z datotekami .gif;
  • razredi-tokovi za branje in prenos stisnjenih podatkov so postali na voljo z možnostjo prenosa po omrežju;
  • arhiviranje - odstranjene so omejitve glede števila datotek v arhivu (prej 64 Kb), dolžina imena datoteke se je povečala (prej 256 znakov)
  • so bile hkrati odpravljene omejitve glede količine odprte datoteke(prej je bilo leto 2000).
  • organiziral sistem za upravljanje predpomnilnika in dodal podporo za parameter »no-cache« v zahtevi HTTP;
  • skupaj z že obstoječimi gregorijanskim in budističnim koledarjem je bila dodana podpora za japonski cesarski koledar;
  • strežnik Java HTTP Server lahko uporabite za ustvarjanje polnopravnega strežnika HTTP z minimalnimi zahtevanimi funkcionalnimi lastnostmi;
  • hitrost izračunov in hitrost V / I operacij sta se povečali.

Java 7

Izdaja različice za izdajo Java 7 je potekalo julija 2011. Na žalost v končni različici Java Standard Edition 7številne predhodno načrtovane spremembe niso bile vključene, k čemur so se odločili dodati Standardna različica Java 8.

V nova različica poimenovano Java Standard Edition 7 Poleg popravkov napak je bilo uvedenih več novosti:

  • dodan je bil nov, nekoliko hitrejši preverjevalnik tipa, imenovan preveritelj preverjanja tipa;
  • v zbirkah (nabori podatkov) dodani vmesniki za čakalne vrste;
  • sprememba nakladalnika razredov (razredni nakladalnik);
  • URLClassLoader - sprostite vire, ki jih hrani nalagalnik razredov, z uporabo metode close ();
  • JDBC posodobljen na izdajo 4.1, Rowset na različico 1.1;
  • dodana nova podoba naslednje generacije;
  • nio.2 - novi vmesniki za dostop do datotečnega sistema, prilagodljiva asinhrona IO interakcija, polnopravno delo z arhivi zip / jar kot pri datotečni sistem;
  • podpora za različico Unicode 6.0;
  • generično - spremenite sklepanje o vrsti pri ustvarjanju predmeta;
  • Področje uporabe - nastavitve uporabnika in grafičnega vmesnika so ločene; oblikovanje besedila in prikaz sporočila na zaslonu imata neodvisne "področne nastavitve".

Java 8

Izdaja različice za izdajo Java 8 marca 2014. Seznam novosti:

  • Popolna podpora za lambda izraze.
  • Ključna beseda privzeto v vmesnikih za podporo privzetih funkcij.
  • Sklici na metode.
  • Funkcionalni vmesniki (predikati, ponudniki itd.).
  • Tokovi za delo z zbirkami.
  • Nov API za delo z datumi.

Java tehnologije

Obstaja več glavnih družin tehnologij Java:

TehnologijaOpis
Java SE - Java Standard Edition Jedrna tehnologija Java, vključno s prevajalniki, API -ji, Java Runtime Okolje; uporablja za ustvarjanje namiznih aplikacij po meri.
Java EE - Java Enterprise Edition Tehnologija razvoja programske opreme na ravni podjetja. Uporablja se za razvoj spletnih aplikacij.
Java ME - Java Micro Edition Tehnologija za ustvarjanje programov za naprave z omejeno računalniško močjo, kot so mobilni telefoni.
JavaFX Tehnologija za ustvarjanje grafičnih vmesnikov za poslovne aplikacije in podjetja.
Kartica Java Tehnologija za ustvarjanje programov za aplikacije, ki se izvajajo na pametnih karticah in drugih napravah z zelo omejeno količino.

Orodja za razvoj Android, Java za Android

Java aktivno uporablja za ustvarjanje mobilne aplikacije za delovno okolje Android... V tem primeru se programi prevedejo v nestandardno bajtko, za njihovo uporabo v navidezni stroj Dalvik. Za takšno sestavo se uporablja dodatno orodje, ki ga je razvil Google - Komplet za razvoj programske opreme (SDK).

Aplikacije lahko razvijate tudi v Android Studio, NetBeans ali Eclipse z vtičnikom Orodja za razvoj Android (ADT) ali v IntelliJ IDEA. Različica JDK mora biti vsaj 5.0.