Java-ohjelmointikieli: määritelmä, ominaisuudet ja LTS-versiot

Java: määritelmä, keskeiset ominaisuudet ja LTS-versiot (Java 8, 11, 17). Alustariippumaton olio‑ohjelmoinnin selkeä ja ajantasainen opas.

Tekijä: Leandro Alegsa

Java on Sun Microsystemsin luoman ohjelmointikielen nimi. Tämän yrityksen osti Oracle Corporation, joka pitää sitä edelleen ajan tasalla. Uusin versio on Java 14, joka julkaistiin maaliskuussa 2020. Lisäksi ainoat tuetut versiot ovat, viimeisin Long Term Support (LTS) -versio Java 11, joka julkaistiin 25. syyskuuta 2018; ja Oracle julkaisi "vanhalle" Java 8 LTS:lle viimeisen ilmaisen "julkisen päivityksen". Seuraava suunniteltu LTS-versio on Java 17 (LTS), joka on tarkoitus julkaista syyskuussa 2021.

Java, jota kutsuttiin Oakiksi, kun sitä vielä kehitettiin, on oliopohjainen eli se perustuu objekteihin, jotka toimivat yhdessä, jotta ohjelmat tekevät työnsä. Java-koodi näyttää C:ltä, C++:lta tai C#:lta, mutta näillä kielillä kirjoitettu koodi ei useimmissa tapauksissa toimi Javassa ilman muutoksia.

Java toimii monissa eri käyttöjärjestelmissä, kuten Androidissa, maailman suosituimmassa mobiilikäyttöjärjestelmässä (vaikka Java on edelleen käytössä Androidissa, jopa sen valmistaja Google ei enää suosi Javaa; nyt Kotlin on heidän suosikkikielensä, jota voidaan käyttää myös kaiken Java-koodin kanssa). Tämä tekee Javasta alustariippumattoman. Se tekee tämän tekemällä Javan kääntäjän muuttamaan koodin Java-bytekoodiksi konekoodin sijaan. Tämä tarkoittaa, että kun ohjelma suoritetaan, Java Virtual Machine tulkitsee tavukoodin ja kääntää sen konekoodiksi.

Lyhyt yhteenveto ja historia

Java julkaistiin 1990-luvun puolivälissä ja siitä tuli nopeasti suosittu erityisesti palvelinpuolen sovelluksissa, yritysjärjestelmissä ja sulautetuissa järjestelmissä. Reference-implementaationa toimii OpenJDK, ja Oracle JDK on yksi kaupallisista jakeluista. Oracle ei ole ainoa tarjonnan tarjoaja: useat muut toimittajat (esim. Eclipse Adoptium, Amazon Corretto, Azul, BellSoft) tarjoavat omia, tuettuja JDK-jakeluitaan.

Keskeiset ominaisuudet

  • Oliopohjaisuus: Java perustuu luokkiin ja objekteihin, mikä auttaa järjestämään koodin ja tukee uudelleenkäyttöä.
  • Alustariippumattomuus: Java-koodi käännetään tavukoodiksi (bytecode), jota Java Virtual Machine (JVM) ajaa eri alustoilla — periaate tunnetaan nimellä "Write Once, Run Anywhere".
  • Automaattinen muistinhallinta: Roskankeräys (garbage collection) huolehtii käyttämättömästä muistista, mikä vähentää muistivuotojen määrää verrattuna manuaaliseen hallintaan.
  • Monisäikeisyys ja rinnakkaisuus: Java tarjoaa vahvat työkalut säikeiden hallintaan ja rinnakkaisohjelmointiin. Uudemmat projektit kuten Project Loom tarjoavat kevyempiä (virtuaali)säikeitä kokeiluun ja tulevaisuuteen.
  • Laaja kirjasto ja ekosysteemi: Java API kattaa laajan joukon toiminnallisuuksia — verkotus, tietokantayhteydet, XML/JSON-käsittely, graafinen käyttöliittymä ja paljon muuta. Työkalut kuten Maven ja Gradle hallitsevat riippuvuuksia ja rakennusprosessia.
  • Vahva tyypitys ja turvallisuus: Kielen tyyppijärjestelmä ja JVM-ajonaikaiset tarkistukset parantavat sovellusten turvallisuutta ja vakautta.

Miten Java toimii lyhyesti

Java-lähdekoodi käännetään ensin tavukoodiksi (.class-tiedostoiksi). Tämä tavukoodi on abstrakti, alustariippumaton muoto. Java Virtual Machine (JVM) lataa tavukoodin ja suorittaa sen joko tulkkaamalla tai kääntämällä sitä JIT-kääntäjän (Just-In-Time) avulla konekoodiksi suorituksen aikana — tämä yhdistelmä tarjoaa hyvän suorituskyvyn ja siirrettävyyden. JVM:ssä on myös roskankeräin, joka vapauttaa käyttämättömiä olioita automaattisesti.

Versiot ja LTS (Long Term Support)

Oracle ja OpenJDK -yhteisö siirtyivät kuuden kuukauden julkaisusykliin Java 9 jälkeen; tämä tarkoittaa, että uusia ominaisuusversioita tulee usein, mutta LTS-versiot tarjoavat pidempää tukea ja vakaammat alustat tuotantokäyttöön. Merkittäviä LTS-versioita viime vuosilta:

  • Java 8 (LTS) — laajasti käytetty, julkaistu 2014
  • Java 11 (LTS) — julkaistu 25. syyskuuta 2018
  • Java 17 (LTS) — julkaistu syyskuussa 2021
  • Java 21 (LTS) — julkaistu syyskuussa 2023 (nykyinen LTS, suosittu tuotantokäytössä)

Monet organisaatiot valitsevat yhden näistä LTS-versioista ja saavat ylläpitopäivityksiä joko Oraclelta tai muilta JDK-toimittajilta. Lisäksi monet uudet kieliominaisuudet tulevat ensin esikatselu- tai incubator-tilassa ennen vakauttamista.

Käyttökohteet ja ekosysteemi

Javaa käytetään laajalti eri aloilla:

  • Palvelin- ja yrityssovellukset (esim. web-palvelimet, mikropalvelut, ERP-järjestelmät)
  • Android-sovelluskehitys (Android käyttää omaa ajonaikaansa mutta kieli ja monet kirjastot ovat yhteydessä Javaan; Google suosittelee Kotlinia, mutta Java on edelleen tuettu)
  • Sulautetut järjestelmät ja IoT
  • Tieteellinen laskenta ja big data -ekosysteemi (esim. Hadoop, Spark integroituvat Java- ja JVM-ekosysteemeihin)
  • Työkalut ja kehitysympäristöt (IDE:t kuten IntelliJ IDEA, Eclipse, NetBeans; rakennus- ja testityökalut)

Miksi valita Java?

Java sopii hyvin projekteihin, joissa tarvitaan korkeaa alustariippumatonta luotettavuutta, laajaa kirjasto- ja työkalutukea sekä hyvää suorituskykyä tuotanto-oloissa. LTS-versiot tarjoavat yrityksille vakaan pohjan pitkän elinkaaren sovelluksille.

Yhteenveto

Java on pitkäikäinen, laajalti tuettu ja jatkuvasti kehittyvä ohjelmointikieli ja alusta. Sen vahvuuksia ovat suuri ekosysteemi, alustariippumattomuus JVM:n avulla, automaattinen muistinhallinta ja laaja valikoima kirjastoja sekä työkaluja. Samalla sen kehitys on nopeampaa kuin ennen, koska ominaisuudet julkaistaan tiheämmin — mutta tuotantoympäristöissä kannattaa yleensä suosia LTS-jakeluita ja tukea toimittajalta.

Java-käsitteet

Java kehitettiin viiden päätavoitteen saavuttamiseksi. Nämä ovat:

  • Javan pitäisi olla helposti opittava, objektikeskeinen ja hajautettu.
  • Javan pitäisi olla turvallinen ja vahva.
  • Javan ei pitäisi olla riippuvainen mistään tietokonearkkitehtuurista tai alustasta.
  • Javan pitäisi toimia hyvin.
  • Javalle pitäisi voida kirjoittaa tulkki, ja sen pitäisi tukea rinnakkaisuutta ja käyttää dynaamista tyypitystä.

 

Java-alusta

Java-alustalla tarkoitetaan Sun Microsystemsin ohjelmistotuotteiden ryhmää. Alustaa käytetään Java-ohjelmien kehittämiseen ja suorittamiseen. Alusta sisältää suoritusmoottorin (jota kutsutaan Java Virtual Machine -ohjelmakoneeksi), jonka avulla Java-ohjelmat voivat tehdä samaa asiaa eri tietokonejärjestelmissä.

Tätä kykyä kehittää ohjelmistoja yhdelle alustalle ja käyttää niitä muilla alustoilla kutsutaan "alustarajat ylittäviksi kyvyiksi".

Esimerkki Java-ohjelmasta

Esimerkki "Hello World" Java-ohjelmasta:

/** * Tämä on yksinkertainen Java-ohjelma.   * Se näyttää "Hello World!" ruudulla.   */ class HelloWorld { public static void main(String[] args) { System. out. println("Hello World!"); } }

Java-ohjelmatyypit

On olemassa monenlaisia Java-ohjelmia, jotka toimivat eri tavoin:

  • Java Applet - pieni Java-kielellä kirjoitettu ohjelma, joka ladataan verkkosivustolta ja suoritetaan asiakastietokoneen verkkoselaimessa.
  • Sovellus - suoritetaan asiakastietokoneessa. Jos se on verkossa, se on ladattava ennen sen suorittamista.
  • JAR-tiedosto (Java-arkisto) - käytetään Java-tiedostojen paketoimiseen yhteen tiedostoon (lähes täsmälleen kuten .zip-tiedosto).
  • Servlet - toimii verkkopalvelimella ja auttaa luomaan verkkosivuja.
  • Swing-sovellus - käytetään sellaisen sovelluksen rakentamiseen, jossa on graafinen käyttöliittymä (ikkunat, painikkeet, valikot jne.).
  • EJB - toimii verkkopalvelimella ja sitä käytetään suurten, monimutkaisten verkkosivustojen kehittämiseen.

Edut

Javaa käytetään yleisesti opiskelijoiden ohjelmoinnin opettamiseen ensimmäisenä kielenä, mutta sitä käyttävät edelleen myös ammattilaiset.

  • Java edellyttää, että jokainen muuttuja alustetaan. Joissakin vanhemmissa kielissä, kuten C:ssä, muuttujat voidaan jättää alustamatta, mikä voi aiheuttaa satunnaisia epäonnistumisia ja salaperäisiä vikoja.
  • Java edellyttää, että jokainen metodi ilmoittaa paluutyypin - metodin on aina palautettava arvo, paitsi jos sen paluutyyppi on void. Tämä estää myös virheet.
  • Javassa on suuri joukko luokkia ja metodeja, Java API, joita voi käyttää ilman, että tarvitsee kehittää niin paljon koodia "tyhjästä".
  • Toisin kuin C:ssä, Javan primitiiviset tyypit, kuten int, ovat aina samankokoisia bittien lukumäärän suhteen, mikä auttaa saavuttamaan alustarajat ylittävän yhteensopivuuden.
  • Javaa pidettiin ennen hitaampana kuin C:tä, mutta se on menettänyt merkityksensä viime vuosina, koska tietokoneet ovat nopeampia.
  • Javassa on poikkeuskäsittely, joka edellyttää ohjelmoijalta virheolosuhteiden, kuten tulo- ja lähtövirheiden, käsittelyä.
  • Yhdellä Java-alustalla käännettyä koodia voidaan ajaa muilla alustoilla, jotka tukevat Javaa, muuttamatta lähdekoodia tai tavukoodia. Tämä tarkoittaa, että henkilö voi tehdä Java-ohjelman Windows-tietokoneelle ja saada sen toimimaan Linux- tai Mac-tietokoneella.

Kritiikki

Javaa on myös kritisoitu. Joitakin kritiikin kohteita ovat:

  • Generics lisättiin Javaan siten, että olemassa oleva koodi pysyi edelleen käynnissä. Tämä tehtiin käyttämällä tyypin poistoa. Tämä tarkoittaa, että kääntämisen aikana geneerisen argumentin todellinen tyyppi poistetaan. Tämä voi johtaa siihen, että Java-tulkki käyttäytyy toisinaan odottamattomalla tavalla.
  • Javalla ei ole merkitsemättömiä kokonaislukutyyppejä, joita C:n kaltaiset kielet käyttävät paljon. Tämä tarkoittaa myös sitä, että numeerista dataa ei voi vaihtaa suoraan C- ja Java-ohjelmien välillä. Kryptografia perustuu myös jossain määrin tällaisiin tyyppeihin; tämä vaikeuttaa kryptografiaa käyttävien sovellusten kirjoittamista Javassa.
  • IEEE on määritellyt standardin liukulukuaritmetiikalle, IEE 754. Java tukee vain osaa tämän standardin ominaisuuksista.

Kysymyksiä ja vastauksia

K: Mikä on Sun Microsystemsin luoman ohjelmointikielen nimi?


V: Sun Microsystemsin luoman ohjelmointikielen nimi on Java.

K: Kuka tällä hetkellä tukee ja pitää Javaa ajan tasalla?


V: Oracle Corporation tukee ja pitää Javaa ajan tasalla.

K: Mitkä ovat Javan nykyiset pitkäaikaisen tuen (LTS) versiot?


V: Javan nykyiset pitkäaikaisen tuen (LTS) versiot ovat versio 17, 11 ja 8.

K: Milloin Javan uusin versio julkaistiin?


V: Javan uusin versio, versio 19, julkaistiin syyskuussa 2022.

K: Onko Oraclen lisäksi muita yrityksiä, jotka tukevat Javaa?


V: Kyllä, myös Eclipse Adoptium tukee Javaa ainakin toukokuuhun 2026 asti version 8 osalta ja ainakin syyskuuhun 2027 asti version 17 osalta.

K: Millaista koodia Java käyttää?


V: Java käyttää oliopohjaista koodia, mikä tarkoittaa, että se perustuu objekteihin, jotka toimivat yhdessä, jotta ohjelmat tekevät työnsä. Se näyttää samankaltaiselta kuin C, C++ tai C#, mutta näillä kielillä kirjoitettu koodi ei useimmissa tapauksissa toimi ilman muutoksia.

K: Miten Java tekee itsestään alustariippumattoman?


V: Java tekee itsestään alustariippumattoman, kun kääntäjä muuttaa koodin konekoodin sijasta erityiseen muotoon, jota kutsutaan bytekoodiksi. Tämä tarkoittaa, että kun ohjelma suoritetaan, tavukoodin voi tulkita erityinen ohjelma, jota kutsutaan virtuaalikoneeksi, joka kääntää sen konekoodiksi, jotta se voi toimia eri käyttöjärjestelmissä, kuten Androidissa.


Etsiä
AlegsaOnline.com - 2020 / 2025 - License CC3