- Mikä on Java?
- Mikä on Java-alusta?
- Javan määritelmä ja merkitys
- Mihin Javaa käytetään?
- Java-ohjelmointikielen historia
- Java-versiot
- Java-ominaisuudet
- Java-ohjelmointikielen osat
- Java Development kit (JDK)
- Miksi käyttää JDK:ta?
- Java Virtual Machine (JVM):
- Miksi JVM?
- Java Runtime Environment (JRE)
- Miksi käyttää JRE:tä?
- Erilaisia Java-alustoja
- Mikä on tietokone?
- Mikä on Assembly Language?
- Mitä ovat Assembler ja Compiler?
- Miten Java-virtuaalikone toimii?
- Miten Java on alustariippumaton?
Mikä on Java?
Java on yleiskäyttöinen, luokkapohjainen, oliopohjainen ohjelmointikieli, joka on suunniteltu siten, että sillä on vähemmän riippuvuuksia toteutuksesta. Se on tietojenkäsittelyalusta sovelluskehitystä varten. Java on siis nopea, turvallinen ja luotettava. Sitä käytetään laajalti Java-sovellusten kehittämiseen kannettavissa tietokoneissa, datakeskuksissa, pelikonsoleissa, tieteellisissä supertietokoneissa, matkapuhelimissa jne.
Mikä on Java-alusta?
Java Platform on kokoelma ohjelmia, jotka auttavat ohjelmoijia kehittämään ja suorittamaan Java-ohjelmointisovelluksia tehokkaasti. Se sisältää suoritusmoottorin, kääntäjän ja joukon kirjastoja. Se on joukko tietokoneohjelmistoja ja määrittelyjä. James Gosling kehitti Java-alustan Sun Microsystemsillä, ja Oracle Corporation osti sen myöhemmin.
Tässä Java-oppaassa opit-
- Mikä on Java?
- Mikä on Java-alusta?
- Javan määritelmä ja merkitys
- Mihin Javaa käytetään?
- Javan ohjelmointikielen historia
- Javan versiot
- Javan ominaisuudet
- Javan ohjelmointikielen komponentit
- Javan eri alustatyypit
- Mikä on PC?
- Mitä on assembleri ja kääntäjä?
- Mitä ovat assembleri ja kääntäjä?
- Miten Java-virtuaalikone toimii?
- Miten Java-ohjelmointialusta on alustariippumaton?
Tämässä videossa tutustutaan Java-ohjelmointialustaan ja selitetään, miksi Java-ohjelmointialusta toimii alustana ja ohjelmointikielenä samalla.
Klikkaa tästä, jos videoon ei pääse käsiksi
Javan määritelmä ja merkitys
Java on monialustainen, oliosuuntautunut ja verkkokeskeinen kieli. Se on yksi käytetyimmistä ohjelmointikielistä. Javaa käytetään myös tietojenkäsittelyalustana.
Sitä pidetään yhtenä nopeista, turvallisista ja luotettavista ohjelmointikielistä, jota useimmat organisaatiot suosivat projekteissaan.
Mihin Javaa käytetään?
Tässä muutamia tärkeitä Java-sovelluksia:
- Sitä käytetään Android-sovellusten kehittämiseen
- Helpottaa luomaan yritysohjelmistoja
- Laaja valikoima mobiili java-sovelluksia
- Tieteelliset tietotekniikkasovellukset
- Käyttö Big Data -analytiikkaan
- Laitteistolaitteiden Java-ohjelmointi
- Käytetään palvelin-puolen teknologioihin, kuten Apache, JBoss, GlassFish, jne.
Java-ohjelmointikielen historia
Tässä tärkeitä merkkipaaluja Java-kielen historiasta:
- Javan kieli oli alun perin nimeltään OAK.
- Alun perin se kehitettiin kannettavien laitteiden ja digiboksien käsittelyä varten. Oak oli massiivinen epäonnistuminen.
- Vuonna 1995 Sun muutti nimen ”Javaksi” ja muokkasi kieltä hyödyntääkseen orastavaa www (World Wide Web) -kehitysliiketoimintaa.
- Myöhemmin, vuonna 2009, Oracle Corporation osti Sun Microsystemsin ja otti omistukseensa kolme Sunin keskeistä ohjelmisto-omaisuutta: Java, MySQL ja Solaris.
Java-versiot
Tässä on lyhyt historia kaikista Java-versioista julkaisupäivineen.
Java-versiot | Julkaisupäivä |
JDK Alpha ja Beta | 1995 |
JDK 1.0 | 23. tammikuuta 1996 |
JDK 1.1 | 19. helmikuuta 1997 |
J2SE 1.2 | 8. joulukuuta 1998 |
J2SE 1.3 | 8. toukokuuta 2000 |
J2SE 1.4 | 6. helmikuuta 2002 |
J2SE 5.0 | 30.9.2004 |
Java SE 6 | 11.12.2006 |
Java SE 7 | 28.7.2011 |
Java SE 8 | 18. maaliskuuta 2014 |
Java SE 9 | 21. syyskuuta 2017 |
Java SE 10 | 20. maaliskuuta 2018 |
Java SE 11 | 25. Syyskuu 2018 |
JAVA SE 12 | 19. Maaliskuu 2019 |
JAVA SE 13 | 17. Syyskuu 2019 |
JAVA SE 14 | 17. Maalisk. 2020 |
JAVA SE 15 | 15. syyskuuta 2020 (uusin Java-versio) |
Java-ominaisuudet
Seuraavassa on lueteltu joitakin tärkeitä Java-ominaisuuksia:
- Se on yksi helposti opittavista ohjelmointikielistä.
- Kirjoita koodi kerran ja suorita se lähes millä tahansa tietokonealustalla.
- Java on alustariippumaton. Joitakin yhdellä koneella kehitettyjä ohjelmia voidaan suorittaa toisella koneella.
- Java on suunniteltu oliosuuntautuneiden sovellusten rakentamiseen.
- Java on monisäikeinen kieli, jossa on automaattinen muistinhallinta.
- Java on luotu Internetin hajautettua ympäristöä varten.
- Helpottaa hajautettua tietojenkäsittelyä, koska se on verkkokeskeinen.
Java-ohjelmointikielen osat
Java-ohjelmoija kirjoittaa ohjelman ihmisen luettavalla kielellä, jota kutsutaan lähdekoodiksi. Siksi CPU tai sirut eivät koskaan ymmärrä millään ohjelmointikielellä kirjoitettua lähdekoodia.
Nämä tietokoneet tai sirut ymmärtävät vain yhtä asiaa, jota kutsutaan konekieleksi tai koodiksi. Nämä konekoodit toimivat CPU-tasolla. Siksi se olisi erilaista konekoodia muille CPU-malleille.
Konekoodista ei kuitenkaan tarvitse huolehtia, sillä ohjelmoinnissa on kyse lähdekoodista. Kone ymmärtää tämän lähdekoodin ja kääntää ne koneelle ymmärrettäväksi koodiksi, joka on suoritettavaa koodia.
Kaikki nämä toiminnot tapahtuvat seuraavien kolmen Java-alustan komponentin sisällä:
Java Development kit (JDK)
JDK on ohjelmistokehitysympäristö, jota käytetään applettien ja Java-sovellusten tekemiseen. JDK:n täydellinen muoto on Java Development Kit. Java-kehittäjät voivat käyttää sitä Windowsissa, macOS:ssä, Solariksessa ja Linuxissa. JDK auttaa heitä koodaamaan ja ajamaan Java-ohjelmia. Samaan tietokoneeseen on mahdollista asentaa useampi kuin yksi JDK-versio.
Miksi käyttää JDK:ta?
Tässä ovat tärkeimmät syyt JDK:n käyttöön:
- JDK sisältää työkalut, joita tarvitaan Java-ohjelmien kirjoittamiseen, ja JRE:n niiden suorittamiseen.
- Se sisältää kääntäjän (compiler), Java-sovelluksen käynnistäjän (launcher), Appletviewerin (Appletviewer) jne.
- Kääntäjä (compiler) muuntaa Javalla kirjoitetun koodin tavukoodiksi.
- Javasovelluksen käynnistin avaa JRE:n, lataa tarvittavan luokan ja suorittaa sen päämetodin.
Java Virtual Machine (JVM):
Java Virtual Machine (JVM) on moottori, joka tarjoaa ajoympäristön Java-koodin tai -sovellusten ajamiseen. Se muuntaa Javan tavukoodin konekieleksi. JVM on osa Javan ajoympäristöä (JRE). Muissa ohjelmointikielissä kääntäjä tuottaa konekoodin tietylle järjestelmälle. Java-kääntäjä tuottaa kuitenkin koodia virtuaalikoneelle, joka tunnetaan nimellä Java Virtual Machine.
Miksi JVM?
Tässä ovat tärkeät syyt JVM:n käyttöön:
- JVM tarjoaa alustariippumattoman tavan Java-lähdekoodin suorittamiseen.
- JVM:ssä on lukuisia kirjastoja, työkaluja ja kehyksiä.
- Kun Java-ohjelma on kerran suoritettu, se voidaan suorittaa millä tahansa alustalla ja säästää paljon aikaa.
- JVM:ssä on mukana JIT-kääntäjä (JIT, Just-in-Time), joka muuntaa Java-lähdekoodin matalan tason konekielelle. Näin ollen se toimii nopeammin kuin tavallinen sovellus.
Java Runtime Environment (JRE)
Java Runtime Environment (JRE)
JRE on ohjelmisto, joka on suunniteltu suorittamaan muita ohjelmistoja. Se sisältää luokkakirjastot, latausluokan ja JVM:n. Yksinkertaisesti sanottuna, jos haluat ajaa Java-ohjelmaa, tarvitset JRE:n. Jos et ole ohjelmoija, sinun ei tarvitse asentaa JDK:ta, vaan ainoastaan JRE:n voidaksesi ajaa Java-ohjelmia.
Miksi käyttää JRE:tä?
Tässä ovat tärkeimmät syyt JRE:n käyttöön:
- JRE sisältää luokkakirjastot, JVM:n ja muut tukitiedostot. Se ei sisällä mitään Java-kehitystyökaluja, kuten debuggeria, kääntäjää jne.
- Se käyttää tärkeitä pakettiluokkia, kuten math-, swing-, util-, lang-, awt- ja runtime-kirjastoja.
- Jos sinun täytyy ajaa Java-sovelmia, JRE on asennettava järjestelmääsi.
Erilaisia Java-alustoja
Java-ohjelmointikielen alustoja on neljää eri tyyppiä:
1. Java Platform, Standard Edition (Java SE): Java SE:n API tarjoaa Java-ohjelmointikielen ydintoiminnot. Se määrittelee kaikki tyypin ja objektin perustan korkean tason luokkiin. Sitä käytetään verkottumiseen, tietoturvaan, tietokantojen käyttöön, graafisen käyttöliittymän (GUI) kehittämiseen ja XML:n jäsennykseen.
2. Java Platform, Enterprise Edition (Java EE): Java EE -alusta tarjoaa API- ja ajoympäristön erittäin skaalautuvien, laajamittaisten, monitasoisten, luotettavien ja turvallisten verkkosovellusten kehittämiseen ja käyttämiseen.
3. Java Programming Language Platform, Micro Edition (Java ME): Java ME-alusta tarjoaa API:n ja pienikokoisen virtuaalikoneen, jossa Java-ohjelmointikielen sovelluksia ajetaan pienissä laitteissa, kuten matkapuhelimissa.
4. Java FX: JavaFX on alusta rikkaiden internet-sovellusten kehittämiseen kevyellä käyttöliittymä-API:llä. Se käyttää laitteistokohtaisesti nopeutettuja grafiikka- ja mediamoottoreita, jotka auttavat Javaa hyödyntämään suorituskykyisempiä asiakkaita ja nykyaikaista ulkoasua sekä korkean tason API-rajapintoja, joiden avulla voidaan muodostaa yhteyksiä verkotettuihin tietolähteisiin.
Ymmärtääksemme Java-ohjelmointikieltä meidän on ymmärrettävä joitakin peruskäsitteitä siitä, miten tietokoneohjelma voi suorittaa komennon ja suorittaa toiminnon.
Mikä on tietokone?
Tietokone on elektroninen laite, joka pystyy suorittamaan laskutoimituksia. Me kaikki tiedämme, että se koostuu näytöstä, näppäimistöstä, hiirestä ja muistista tietojen tallentamista varten. Mutta tietokoneen tärkein komponentti on PROSESSORI. Se tekee kaiken tietokoneen ajattelun, mutta kysymys kuuluu, miten tietokone tekee tämän ajattelun? Miten se ymmärtää tekstiä, kuvia, videoita ja niin edelleen?
Mikä on Assembly Language?
Tietokone on elektroninen laite, ja se ymmärtää vain elektronisia signaaleja eli binäärisignaaleja. Esimerkiksi 5 voltin elektroninen signaali voi edustaa binäärilukua 1, kun taas 0 volttia voi edustaa binäärilukua 0. PC:täsi pommitetaan siis jatkuvasti näillä signaaleilla.
Kahdeksan bittiä tällaisista signaaleista ryhmitellään yhteen tekstin, numeroiden ja symbolien tulkitsemiseksi.
Tietokone tunnistaa esimerkiksi #-symbolin muodossa 10101010. Vastaavasti funktion lisäämisen kuvio esitetään muodossa 10000011.
Tämä tunnetaan nimellä 8-bittinen laskenta. Nykypäivän prosessori pystyy purkamaan 64-bittistä aikaa. Mutta mikä on tämän käsitteen suhde ohjelmointikieleen JAVA? Ymmärtäkäämme nämä esimerkin avulla.
Asettele, että jos haluat käskeä tietokonetta laskemaan yhteen kaksi lukua (1+2), joita edustavat jotkin binääriluvut (10000011), miten aiot kertoa tämän tietokoneelle? Kyllä, aiomme käyttää assemblerikieltä saadaksemme koodimme suoritetuksi.
”Assembly-kieli on ohjelmistokehityskielten alkeellisin muoto.”
Aioimme antaa komennon tietokoneelle tässä muodossa, kuten alla näkyy. Koodisi kahden numeron yhteenlaskuun tällä kielellä olisi tässä järjestyksessä.
- Tallenna numero 1 muistipaikkaan sanotaan A
- Tallenna numero 2 muistipaikkaan sanotaan B
- Lisää muistipaikan A sisältö & B
- Tallenna tulokset
Mutta miten teemme tämän? 1950-luvulla, kun tietokoneet olivat valtavia ja kuluttivat paljon tehoa, assembler-koodi muunnettiin vastaavaksi konekoodiksi 1:n ja 0:n merkkeihin kartoituslevyjen avulla. Myöhemmin tämä koodi rei’itettiin konekortteihin ja syötettiin tietokoneeseen. Tietokone lukee nämä koodit ja suorittaa ohjelman. Tämä olisi pitkä prosessi, kunnes ASSEMBLER tuli avuksi.
Mitä ovat Assembler ja Compiler?
Tekniikan kehittyessä keksittiin i/o laitteet. Voit kirjoittaa ohjelmasi suoraan PC:hen ASSEMBLERin avulla. Se muuntaa sen vastaavaksi konekoodiksi (110001..) ja syöttää sen prosessorille. Palatakseni esimerkkimme yhteenlaskuun (1+2), assembler muuntaa tämän koodin konekoodiksi ja antaa tulosteen.
Sitä lukuun ottamatta sinun on myös tehtävä kutsuja luoda käyttöjärjestelmän tarjoamia funktioita näyttääksesi koodin tulosteen.
Mutta yksin assembleri ei osallistu tähän prosessiin, vaan se vaatii myös kääntäjän kääntämään pitkän koodin pieneksi koodinpätkäksi. Ohjelmistokehityskielten kehittymisen myötä tämä koko assembler-koodi voisi kutistua vain yhdeksi riviksi print f 1+2 A ohjelmalla nimeltä COMPILER. Sitä käytetään c-kielisen koodin muuntamiseen assembly-koodiksi. Assembler muuntaa sen vastaavaksi konekoodiksi. Tämä konekoodi välitetään prosessorille. Yleisin PC:ssä tai tietokoneissa käytetty prosessori on Intel-prosessori.
Nykyaikaiset kääntäjät ovat tosin mukana assemblerin kanssa, joka voi suoraan muuntaa korkeamman kielen koodin konekoodiksi.
Nyt jos oletetaan, että Windows-käyttöjärjestelmä toimii tällä Intelin prosessorilla, käyttöjärjestelmän ja prosessorin yhdistelmää kutsutaan PLATFORMiksi. Maailman yleisin alusta on Windows, ja Inteliä kutsutaan Wintel-alustaksi. Muita suosittuja alustoja ovat AMD ja Linux, Power PC ja Mac OS X.
Nyt prosessorin vaihtuessa myös assembly-ohjeet muuttuvat. Esim:
- Add-käsky Intelissä voi olla nimeltään ADDITION AMD:ssä
- TAI Math ADD Power PC:ssä
Ja käyttöjärjestelmän vaihtuessa myös OS-tason kutsujen taso ja luonne’ muuttuvat.
Kehittäjänä haluan ohjelmani toimivan kaikilla alustoilla maksimoidakseni tuloni. Minun täytyisi siis ostaa erillisiä kääntäjiä, jotka muuttavat print f-komentoni natiiviksi konekoodiksi.
Mutta kääntäjät tulevat kalliiksi, ja yhteensopivuusongelmien mahdollisuus on olemassa. Joten erillisen kääntäjän ostaminen ja asentaminen eri käyttöjärjestelmille ja prosessoreille ei ole mahdollista. Mikä siis voi olla vaihtoehtoinen ratkaisu? Java-kieli.
Miten Java-virtuaalikone toimii?
Javan virtuaalikonetta käyttämällä tämä ongelma voidaan ratkaista. Mutta miten se toimii eri prosessoreilla ja O.S. Ymmärretään tämä prosessi askel askeleelta.
Vaihe 1) Koodi kahden luvun yhteenlaskun näyttämiseksi on System.out.println(1+2), ja se tallennetaan .java-tiedostoksi.
Vaihe 2) Koodi muunnetaan java-kääntäjän avulla välikoodiksi, jota kutsutaan tavukoodiksi. Tuloksena on .class-tiedosto.
Vaihe 3) Tätä koodia ei ymmärrä mikään alusta, vaan ainoastaan virtuaalinen alusta nimeltä Java Virtual Machine.
Vaihe 4) Tämä virtuaalikone sijaitsee käyttöjärjestelmäsi RAM-muistissa. Kun Virtuaalikoneelle syötetään tätä tavukoodia, se tunnistaa alustan, jolla se työskentelee, ja muuntaa tavukoodin natiiviksi konekoodiksi.
Työskennellessäsi tietokoneellasi tai selatessasi Internetiä, aina kun näet jommankumman näistä kuvakkeista, voit olla varma, että java-virtuaalikone on ladattu RAM-muistiin. Mutta mikä tekee Javasta tuottoisan, on se, että käännetty koodi voi toimia kaikkien PC-alustojen lisäksi myös kännyköissä tai muissa Javaa tukevissa elektronisissa vempaimissa.
Siten
”Java on sekä ohjelmointikieli että alusta.”
Miten Java on alustariippumaton?
C-kääntäjän tavoin Java-kääntäjä ei tuota natiivia suoritettavaa koodia tietylle koneelle. Sen sijaan Java tuottaa ainutlaatuisen muodon, jota kutsutaan tavukoodiksi. Se suoritetaan virtuaalikoneen spesifikaatiossa määriteltyjen sääntöjen mukaisesti. Java on siis alustariippumaton kieli.
Bytecode on ymmärrettävissä mille tahansa JVM:lle, joka on asennettu mihin tahansa käyttöjärjestelmään. Lyhyesti sanottuna java-lähdekoodi voi toimia kaikissa käyttöjärjestelmissä.
Yhteenveto:
- Java on monialustainen, oliosuuntautunut ja verkkokeskeinen ohjelmointikieli Java on yleiskäyttöinen, luokkapohjainen, oliosuuntautunut ohjelmointikieli.
- Java Platform on kokoelma ohjelmia, jotka auttavat ohjelmoijia kehittämään ja ajamaan Java-sovelluksia tehokkaasti.
- Javan merkitys: Java on monialustainen ja verkkokeskeinen ohjelmointikieli.
- Sitä käytetään pääasiassa Android-sovellusten ja yritysohjelmistojen kehittämiseen.
- 2009 Oracle Corporation osti Sun Microsystemsin ja otti omistukseensa kolme Sunin keskeistä ohjelmisto-omaisuutta: Java, Solaris ja MySQL.
- Javan uusin versio julkaistiin 15. syyskuuta 2020
- Javan paras ominaisuus on, että se on yksi helpoimmista ohjelmointikielistä oppia.
- Neljä erilaista Java-ohjelmointikielen alustaa ovat: 1) Java Platform, Standard Edition (Java SE) 2) Java Platform, Enterprise Edition (Java EE) 3) Java Platform, Micro Edition (Java ME) 4) JavaFX
- Tietokone on elektroninen laite, joka kykenee suorittamaan laskutoimituksia.
- Tietokone ymmärtää vain elektronisia signaaleja eli binäärisignaaleja.
- Assembleri (assembleri) on edistyksellinen tekniikka, joka muuntaa lähdekoodin ytimen vastaavaksi konekoodiksi (110001..) ja syöttää sen prosessorille.