Java (programski jezik) — definicija, značilnosti in uporaba

Java – definicija, ključne značilnosti in uporaba: objektno usmerjen, platformno neodvisen programski jezik, LTS različice, uporaba na Androidu, strežnikih in v podjetjih.

Avtor: Leandro Alegsa

Java je ime programskega jezika, ki ga je ustvarilo podjetje Sun Microsystems. To podjetje je odkupila korporacija Oracle, ki ga še naprej posodablja in prispeva tudi v odprtokodni projekt OpenJDK. Po letu 2017 je razvoj Jave organiziran v polletnem izdajnem ciklu; nekatere različice pa so označene kot LTS (Long Term Support) in imajo daljšo podporo. Med pomembnejše LTS različice sodijo Java 8, Java 11 (izdana 25. septembra 2018) in Java 17 (LTS, september 2021), pozneje pa je izšla tudi Java 21 (LTS, september 2023). Java 8 ostaja zelo razširjena zaradi združljivosti in dolgoletne podpore, medtem ko številna podjetja in razvijalci prehajajo na novejše LTS različice ali na gradnje OpenJDK.

Java, ki se je v času razvoja imenovala Oak, je objektno usmerjena, kar pomeni, da temelji na predmetih, ki sodelujejo med seboj in omogočajo, da programi opravljajo svoje naloge. Njena sintaksa je sorodna jezikom C, C++ ali C#, vendar kode iz teh jezikov običajno ni mogoče neposredno uporabiti v Javi brez prilagoditev. Java združuje statno tipiziranje, podporo za razrede in vmesnike, generike, anotacije, lambda-izraze in bogat standardni razredni paket (JDK). V novejših različicah so bile dodane funkcionalnosti, kot so modularni sistem (Java 9), lokalna inferenca tipov (var, Java 10), records, pattern matching, text blocks in druge izboljšave, ki poenostavljajo pisanje in vzdrževanje kode.

Java deluje v številnih različnih operacijskih sistemih, vključno z Androidom, najbolj priljubljenim mobilnim operacijskim sistemom na svetu. Zaradi načela "write once, run anywhere" je Java neodvisna od platforme: prevajalnik Jave (javac) izvorno kodo prevede v bitečko kodo (bytecode), ki jo nato izvaja Java Virtual Machine (JVM). JVM interpretira ali s pomočjo JIT (Just-In-Time) prevajalnika prevaja bytecode v strojno kodo, kar omogoča kombinacijo prenosljivosti in visoke učinkovitosti. Java ponuja tudi sistem za upravljanje pomnilnika z avtomatskim zbiralcem smeti (GC) — obstaja več zbirk smeti (npr. G1, ZGC, Shenandoah), ki se razlikujejo po zmogljivostih in namenom uporabe.

Pomembne sestavine Java-ekosistema so JDK (Java Development Kit), ki vsebuje orodja za razvijalce (prevajalnik, orodja za paketiranje, dokumentiranje itd.), in JRE (Java Runtime Environment), ki vsebuje JVM in knjižnice za izvajanje aplikacij. Obstajajo različne distribucije JDK/JRE (Oracle JDK, OpenJDK in drugi komercialni ali odprtokodni gradniki), zato je pri izbiri pomembno upoštevati licenčne pogoje in podporo.

Tipične uporabe Jave vključujejo:

  • razvoj strežniških/enterprise aplikacij (s pomočjo ogrodij kot sta Spring in Jakarta EE),
  • web-aplikacije in servisi (servlet strežniki kot Tomcat, Jetty),
  • razvoj mobilnih aplikacij za Android (kjer se še naprej uporablja Java-koda, a Google pogosto priporoča Kotlin kot alternativni jezik),
  • big data rešitve in porazdeljene aplikacije (Hadoop, Spark),
  • namizne aplikacije (Swing, JavaFX) in vgrajene sisteme,
  • visoko-frekvenčno finančno programiranje, znanstvene aplikacije in orodja za avtomatizacijo.

V okolju Jave je razvit širok ekosistem orodij in ogrodij, med katerimi so orodja za avtomatizacijo gradnje (Maven, Gradle), priljubljena razvojna okolja (IntelliJ IDEA, Eclipse, NetBeans) in številne knjižnice za testiranje, serializacijo, varnost in integracijo. Java je znana po močni poudarjenosti združljivosti navzdol: nova različica običajno omogoča zagon stare kode brez ali z majhnimi spremembami.

Prednosti Jave so prenosljivost, zrelost in obsežen ekosistem, stabilnost, bogata zbirka knjižnic in orodij ter aktivna skupnost. Omejitve pogosto omenjajo višjo porabo pomnilnika in daljši čas zagonov v primerjavi z nekaterimi lahkimi jezikovnimi rešitvami, pa tudi občasno bolj verbosen zapis koder v primerjavi s sodobnejšimi jeziki. Alternativni jeziki, kot sta Kotlin ali Scala, delujejo na JVM in omogočajo drugačen slog programiranja ob ohranitvi interoperabilnosti z Java-knjižnicami.

Če se želite začeti učiti Javo ali posodobiti obstoječe znanje, je smiselno delati z najnovejšo LTS različico (za stabilnost v produkcijskem okolju) ali z gradnjami OpenJDK in spremljati uradne vire, dokumentacijo ter skupnostne vodiče in vaje.

Koncepti Java

Java je bila razvita za doseganje petih glavnih ciljev. Ti so:

  • Java mora biti enostavna za učenje, objektno usmerjena in porazdeljena.
  • Java mora biti varna in močna.
  • Java ne sme biti odvisna od nobene računalniške arhitekture ali platforme.
  • Java mora dobro delovati.
  • Java bi morala imeti možnost, da se zanjo napiše prevajalnik, podpira vzporednost in uporablja dinamično tipizacijo.

 

Platforma Java

Platforma Java se nanaša na skupino programskih izdelkov podjetja Sun Microsystems. Platforma se uporablja za razvoj in izvajanje programov Java. Platforma vključuje izvajalni mehanizem (imenovan virtualni stroj Java), ki programom Java omogoča, da na različnih računalniških sistemih počnejo isto stvar.

Ta zmožnost razvijanja programske opreme na eni platformi in njenega izvajanja na drugih platformah se imenuje "medplatformna zmožnost".

Primer programa Java

Primer programa Java "Hello World":

/** * To je preprost program v Javi.   * Na zaslonu prikaže "Hello World!".   */ razred HelloWorld { public static void main(String[] args) { System. out. println("Hello World!"); } }

Vrste programov Java

Obstaja več vrst programov Java, ki se izvajajo različno:

  • Java Applet - majhen program, napisan v jeziku Java, ki se prenese s spletnega mesta in izvede v spletnem brskalniku v odjemalčevem računalniku.
  • Aplikacija - izvaja se v odjemalskem računalniku. Če je spletna, jo je treba pred zagonom prenesti.
  • Datoteka JAR (arhiv Java) - uporablja se za pakiranje datotek Java v eno datoteko (skoraj enako kot datoteka .zip).
  • Servlet - deluje v spletnem strežniku in pomaga ustvarjati spletne strani.
  • Aplikacija Swing - uporablja se za izdelavo aplikacije z grafičnim uporabniškim vmesnikom (okna, gumbi, meniji itd.).
  • EJB - deluje v spletnem strežniku in se uporablja za razvoj velikih in zapletenih spletnih mest.

Prednosti

Java se pogosto uporablja za učenje programiranja za študente kot prvi jezik, vendar jo še vedno uporabljajo tudi strokovnjaki.

  • Java zahteva, da je vsaka spremenljivka inicializirana. Nekateri starejši jeziki, kot je C, dovoljujejo neinicializirane spremenljivke, kar lahko povzroči naključne napake s skrivnostnimi napakami.
  • Java zahteva, da vsaka metoda deklarira tip vrnitve - metoda mora vedno vrniti vrednost, razen če je njen tip vrnitve void. To preprečuje tudi napake.
  • Java ima velik nabor razredov in metod, programski vmesnik Java API, ki ga je mogoče uporabljati, ne da bi bilo treba razviti toliko kode "od začetka".
  • Za razliko od C so primitivni tipi Jave, kot je int, vedno enako veliki po številu bitov, kar pripomore k medplatformni združljivosti.
  • Včasih je veljalo, da je Java počasnejša od C, vendar je to v zadnjih letih postalo manj pomembno, saj so računalniki hitrejši.
  • Java ima obravnavo izjem, ki od programerja zahteva, da obravnava pogoje za napake, kot so vhodne/izhodne napake.
  • Kodo, sestavljeno na eni platformi Java, je mogoče zagnati na drugih platformah, ki podpirajo Javo, ne da bi spremenili izvorno kodo ali bajtno kodo. To pomeni, da lahko nekdo pripravi program v Javi za računalnik z operacijskim sistemom Windows in ga zažene na računalniku z operacijskim sistemom Linux ali Mac.

Kritika

Tudi program Java je bil kritiziran. Nekatere od teh kritik so:

  • Generiki so bili v Javo dodani tako, da je obstoječa koda še vedno delovala. To je bilo storjeno z brisanjem tipov. To pomeni, da se med sestavljanjem izbriše dejanski tip generičnega argumenta. To lahko povzroči, da se prevajalnik Jave včasih obnaša na nepričakovane načine.
  • Java nima tipov celih števil brez predznaka, ki jih jeziki, kot je C, pogosto uporabljajo. To tudi pomeni, da med programi v C in Javi ni mogoče neposredno izmenjevati številskih podatkov. Tudi kriptografija se do neke mere zanaša na takšne tipe; zaradi tega je v Javi težje pisati programe, ki uporabljajo kriptografijo.
  • Organizacija IEEE je opredelila standard za aritmetiko s plavajočo vejico, IEE 754. Java podpira le del funkcij tega standarda.

Vprašanja in odgovori

V: Kako se imenuje programski jezik, ki ga je ustvaril Sun Microsystems?


O: Programski jezik, ki ga je ustvaril Sun Microsystems, se imenuje Java.

V: Kdo trenutno podpira in posodablja Javo?


O: Oracle Corporation trenutno podpira in posodablja Javo.

V: Katere so trenutne različice dolgoročne podpore (LTS) Jave?


O: Trenutne različice Jave z dolgoročno podporo (LTS) so različice 17, 11 in 8.

V: Kdaj je bila izdana najnovejša različica Jave?


O: Najnovejša različica Jave, različica 19, je bila izdana septembra 2022.

V: Ali poleg družbe Oracle obstaja še kakšno drugo podjetje, ki podpira program Java?


O: Da, tudi Eclipse Adoptium podpira Javo vsaj do maja 2026 za različico 8 in vsaj do septembra 2027 za različico 17.

V: Kakšno vrsto kode uporablja Java?


O: Java uporablja objektno usmerjeno kodo, kar pomeni, da temelji na predmetih, ki delujejo skupaj, da programi opravijo svoje delo. Na videz je podobna jezikom C, C++ ali C#, vendar koda, napisana v teh jezikih, v večini primerov ne bo delovala brez sprememb.

V: Kako je Java neodvisna od platforme?


O: Java je neodvisna od platforme tako, da prevajalnik namesto strojne kode kodo pretvori v posebno obliko, imenovano bajtokoda. To pomeni, da lahko bajtokodo ob izvajanju programa interpretira poseben program, imenovan virtualni stroj, ki jo prevede v strojno kodo, tako da lahko deluje na različnih operacijskih sistemih, kot je Android.


Iskati
AlegsaOnline.com - 2020 / 2025 - License CC3