Movatterモバイル変換


[0]ホーム

URL:


Mine sisu juurde
Vikipeedia
Otsing

Java

Allikas: Vikipeedia
 See artikkel räägib programmeerimiskeelest. Saare kohta vaata artiklitJaava, skriptikeele kohta loeJavaScript

Java
Faililaiend.java, .class, .jar, .jnlp
Paradigmaimperatiivne,struktureeritud,objektorienteeritud (klassipõhine)
Väljalaskeaeg1995
LoojaSun Microsystems (James Gosling)
ArendajaOracle Corporation
Viimane väljalaseJava SE 25 (16.09.2025) Muuda Vikiandmetes
Tüüpiminestaatiline,tugev,turvaline,nominatiivne,manifesteeritud
Implementatsioonidmitmed
DialektidGeneric Java,Pizza
Mõjutatud keeltestAda 83,C++,C#,Delphi Object Pascal,Eiffel,Generic Java,Mesa,Modula-3,Objective-C,UCSD Pascal,Smalltalk
Mõjutanud keeliAda 2005,C#,Clojure,D,ECMAScript,Groovy,J#,PHP,Scala,JavaScript,Python,BeanShell
OSmitmeplatvormne
LitsentsGNU GPL,Java Community Process
VeebilehtJava veebileht

Java on platvormist sõltumatuobjektorienteeritudprogrammeerimiskeel.

Esimese Java versiooni avaldasSun Microsystems 1995. aastal.20. aprillil2009 omandas SuniOracle Corporation[1], kellest sai Java keele peamine arendaja. Programmeerimiskeele arengut koordineerib formaalseltJava Community Process (JCP), arendusotsused kinnitavad kaks Java kogukonna valitud esindajast koosnevat täitevkomiteed. Täitevkomiteede liikmed on suured ettevõtted.

Javalähtekood (.java; java-failid)kompileeritaksebaitkoodi (.class; class-failidesse), mida oskab käivitada igaJava virtuaalmasin (JVM) sõltumata platvormist. Tänapäeval sisaldab JVM reaalajalist kompilaatorit (JIT), mis programmi käivitamisel kompileerib baitkoodimasinkoodiks ja töötab otse protsessoril, vajaduseta baitkoodi jooksvaltinterpreteerida. Mõned kompilaatorid (naguGCJ jaGraalVM) võimaldavad Java lähtekoodi või baitkoodi otse käivitatavaks programmiks kompileerida. Leidub ka riistvara, mis suudab Java baitkoodi otse käivitada.

Et käivitada Java programme, läheb arvutis vajaJRE-d (Java käivituskeskkonda), mille saab tasuta Oracle'i veebilehelt.

Ajalugu

[muuda |muuda lähteteksti]
Java maskott Duke

Java projekti algatasidJames Gosling, Mike Sheridan jaPatrick Naughton1991. aastal.[2] Algul mõeldi Javat kasutada interaktiivse televisiooni tarbeks, kuid tollase kaabeltelevisiooni jaoks olid sellised ideed liiga omast ajast ees.[3] Programmeerimiskeel pidi esialgu saama nimeks Oaktamme järgi, mis Goslingi kontori akna all kasvas. Hiljem kasutati ka nime Green ja lõpuks võeti kasutusele nimi Java Jaava kohvi järgi, mida keele loojad väidetavalt suurtes kogustes tarbisid.[4] Goslingi eesmärk oli rakendadavirtuaalmasinat ja luua keel, mille süntaks sarnaneksC/C++ omaga.[5]

Esimese versiooni, Java 1.0, avaldas Sun Microsystems 1995. aastal. Uue programmeerimiskeele reklaamimiseks kasutati lööklauset "Kirjuta üks kord, käivita igal pool" (inglise keeleswrite once, run anywhere ehk WORA), mis tähendas, et kord kirjutatud programmi saab ilma lisavaevata kasutada kõigil populaarsetel platvormidel. Üsna pea lisati suuremateleveebibrauseritele võimalus käitada Java rakendeid – aplette (applet) – ja Java muutus kiiresti populaarseks. Alates Java 2 väljalaskmisest (alul J2SE 1.2) võeti kasutusele eri konfiguratsioonid eri kasutajate jaoks: standardväljalase, ärirakendusetele orienteeritud versioon ja mobiilsete seadmete versioon. Alates2006. aastast on kasutusel tähised Java SE, Java EE ja Java ME.

Sun Microsystems kontakteerus 1997. aastal standardiorganisatsioonigaISO/IEC JTC1 ja hiljemEcma Internationaliga, et kinnitada Java formaalne standard, kuid hiljem loobus sellest.[6] Javal on siiski olemasde facto standard, mida kontrollibJava Community Process.[7]

Sun avaldas 13. novembril 2006 suure osa Javastvaba jaavatud lähtekoodiga tarkvaranaGNU GPL litsentsi alusel. See protsess lõppes 8. mail 2007, kui Sun oli kogu Java põhikoodi vabasse kasutusse andnud. Avaldamata jäi väike osa koodist, mille autoriõigused ei kuulunud Sunile.[8]

Suni asepresident Rich Green ütles, et Suni ideaalne roll Java arengul on nagu evangelistil.[9] 2009.–2010. aastal Suni omandanud Oracle ütles, et nad haldavad Java tehnoloogiat ja toetavad Java kogukonda pidevalt.[viide?] Java tarkvara on kasutusel paljudes seadmetessülearvutitestandmekeskusteni jamängukonsoolidest teaduslikesuperarvutiteni. Igal aastal laaditakse Java keskkonda Java Runtime Environment alla 930 miljonit korda ja Javat kasutatakse 3 miljardis mobiiltelefonis.[10] James Gosling lahkus Oracle'ist 2. aprillil 2010.[11]

Võrdlus teiste keeltega

[muuda |muuda lähteteksti]

Peamised Java eelised

[muuda |muuda lähteteksti]
  • Platvormist sõltumatu ja suur levik serveritest kuni tänapäeva mobiilideni
  • Kõikehaarav teekide kogu (mis on põhjalikult dokumenteeritud)
  • Automaatne mäluhaldus
  • Automaatne kirjutatud koodi elektrooniline dokumenteerimine
  • Suur kasutajaskond
  • Hästi välja arenenud vaba tarkvara ja tööstus

Siinkohal tuleb aru saada, et pea kõik, mis on öeldud Java kohta, kehtib kaJVM-i kohta. Spetsiaalselt JVM-i jaoks on välja töötatud sellised keeled naguScala,Groovy jaClojure. Kuid leidub ka teiste keelte kohendatud versioone, näiteks JRuby (Ruby), Jython (Python), Resin (PHP), Rhino (JavaScript) jne.

Kiiruse miinused

[muuda |muuda lähteteksti]
  • Massiivi elemendi juurdepääsu aeg on aeglasem kui programmeerimiskeeles C. See on tingitud asjaolust, et Java kontrollib massiivi piire ehk seda, kas mäluaadress, mille poole soovitakse pöörduda, üldse kuulub massiivi (väldib mälulekke võimalust).
  • Kasutab rohkem mälu kui programmeerimiskeel C. See on tingitud asjaolust, et Java võimaldab ülikiiret mälu hõlmamist ja vabastamist.[viide?]
  • Programmi käivitamine võtab aega, eriti on seda tähele panna lihtprogrammide puhul, mille töö aeg on alla 20 ms. See on tingitud asjaolust, et JVM tuleb töökorda seada.
  • Ei võimalda viitadel põhinevaid häkke ja arhitektuuripõhist erifunktsionaalsust.[viide?]
  • Ei võimalda riistvaralist tuge vaid positiivsetele arvudele.[viide?]

Kiiruse plussid

[muuda |muuda lähteteksti]
  • Java on enamus programmeerimiskeeltest kiirem pea kõigis aspektides. See on tingitud asjaolust, et Java kasutajaskond on ülisuur ning ta on kohanenud oma kasutajate oskuste järgi.[viide?]
  • Java lõimeliste programmid, mis on sünkroonitud, on kiired ning nende kirjutamine ei pruugi olla aeganõudev protsess. See on tingitud asjaolust, et keele loomise ajal disainiti see sisse. Tänapäeva personaalarvutitel ja serveritel mis on mitmetuumalised loetakse selle tõttu JRE-l põhinevad keeli kõige kiiremateks.[viide?]
  • Mälu hõlmamine ja vabastamine on ülikiire. See on tingitud asjaolust, kuidas mäluhaldus on disainitud.[viide?]
  • Objekti loomine ja funktsionaalsuse poole pöördumine on ülikiire. See on tingitud asjaolust, et keele loomise ajal disainiti see sisse, kuid ei lisatud hiljem, nagu C++ puhul.
  • Massiivi kopeerimine on ülikiire. See on tingitud asjaolust, et selleks on JVM arhitektuuripoolne assambler käsitsi optimeeritud.[viide?]
  • Staatiliste ja privaatsete meetodite poole pöördumise aega peaaegu ei eksisteeri. See on tingitud asjaolust, et JIT on suuteline leidma ja eemaldama meetodi poole pöördumise, kui see on võimalik (see ei ole võimalik vaid erijuhtudel). Kompileeritavate keelte puhul ei ole see võimalik.[viide?]

J2EE

[muuda |muuda lähteteksti]

Java 2 Enterprise Edition on mitmekihiliste kommertslahenduste arendamiseks loodud raamistik. J2EE eesmärk on lihtsustada jastandardiseerida suure koormustaluvusega (palju kasutajaid) ja keerulise äriloogikaga veebirakendusi. Selline veebirakendus peab olema võimeline töötama samaaegselt mitme serveri peal (klaster), peab toetama mitmekihilist arhitektuuri (kasutajaliides, äriloogika ja andmebaas) ning peab olema lihtne arendada ja hallata.

Programm "Hello World"

[muuda |muuda lähteteksti]

Javas kuuluvad meetodid klassi, ning klassi nimi määrab ka faili nime – mis antud juhul peab olema 'HelloWorld.java'. Javas eksisteerib nähtavus ja varjestamine, ning eksisteerivad tasemed on 'public', 'private', 'protected' ja 'ei midagi' ehk (package private). Meetod 'main' on erimeetod, mis käivitatakse, kui antud klassi jooksutatakse kui rakendust. Tähtis on tähele panna, et meetodit käitataks staatilises (static) kontekstis, st meetod on omane ja ühtne kõigile klassi elementidele, kuid see tähendab ka, et tal pole juurdepääsuõigust elementidele, mis ei ole staatilised.

"Hello World" Javas:

publicclassHelloWorld{publicstaticvoidmain(Stringargs[]){System.out.println("Hello World!");}}

Et staatiline meetod saaks klassi mittestaatilisi elemente ja meetodeid kasutada, peab klassist uue elemendi looma (Seda pole siiamaani tehtud. Põhjus on, et seda pole alati vaja ja staatiliste meetodite kutsumine on odav.). Lisaks 'System.out.println' tundub pikk, ning seda saab lühendada, kui importida Systeemi klassist staatiline element väljundvoog.

"Hello world" programm Javas, luues uue elemendi klassist:

import staticjava.lang.System.out;publicclassHelloWorld{publicstaticvoidmain(Stringargs[]){newHelloWorld();}{out.println("Hello World!");}}

Vaata ka

[muuda |muuda lähteteksti]

Viited

[muuda |muuda lähteteksti]
  1. Brian Caulfield (20. aprill 2009)."Oracle To Buy Sun".Forbes (Inglise keel). Vaadatud 30. mail 2012.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  2. Jon Byous."JAVA TECHNOLOGY: THE EARLY YEARS".Internet archive waybackmachine (Inglise keel). Sun Developer Network.Originaali arhiivikoopia seisuga 20. aprill 2005. Vaadatud 30. mail 2012.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  3. "The History of Java Technology" (Inglise keel). Oracle Corporation. Vaadatud 30. mail 2012.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  4. Java Kasutatud: 30. mai 2012
  5. Heinz Kabutz (15. juuli 2003)."Once Upon an Oak ..." (Inglise keel). Artima Network. Vaadatud 30. mail 2012.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  6. Tineke M. Egyedi (2001)."Why JavaTM Was – Not – Standardized Twice"(PDF).Proceedings of the 34th Hawaii International Conference on System Sciences – 2001 (Inglise keel). Vaadatud 30. mail 2012.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  7. ""Java Community Process website" (Inglise keel). Jcp.org. Vaadatud 30. mail 2012.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  8. China Martens (8. mai 2007)."JAVAONE: Sun – The bulk of Java is open sourced".itworld.com (Inglise keel).Originaali arhiivikoopia seisuga 29. september 2012. Vaadatud 30. mail 2012.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  9. "Sun's Evolving Role as Java Evangelist" (Inglise keel). O'Reilly Media. 17. aprill 2002. Vaadatud 30. mail 2012.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  10. "Learn About Java Technolog".java.com (Inglise keel). Vaadatud 30. mail 2012.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  11. James Gosling (9. aprill 2010)."Time to move on..."On a New Road (Inglise keel).Originaali arhiivikoopia seisuga 5. november 2010. Vaadatud 30. mail 2012.{{netiviide}}: CS1 hooldus: tundmatu keel (link)

Välislingid

[muuda |muuda lähteteksti]
Pildid, videod ja helifailid Commonsis:Java
Pärit leheküljelt "https://et.wikipedia.org/w/index.php?title=Java&oldid=6600759"
Kategooriad:
Peidetud kategooriad:

[8]ページ先頭

©2009-2026 Movatter.jp