Bevezetés a Java

⚡ Okos összefoglaló

Bevezetés a Java egy általános célú, osztályalapú, objektumorientált programozási nyelvet ismertet, amely számítási platformként is szolgál. Ez az oktatóanyag a következőket tárgyalja: Javatörténete, verziói, funkciói, alapvető összetevői (JDK, JVM, JRE), platformkiadásai és a bájtkód mechanizmusa, amely létrehozza Java egy valódi, egyszer írható, bárhol futtatható nyelv.

  • Alapvető definíció: Java egy általános célú, osztályalapú, objektumorientált programozási nyelv és futásidejű platform, amelyet a hordozhatóság és a megbízhatóság szem előtt tartásával terveztek.
  • 🧩 Három összetevő: Az Java A platform magában foglalja a fejlesztéshez szükséges JDK-t, a végrehajtáshoz szükséges JVM-et és a futásidejű támogatáshoz szükséges JRE-t.
  • 📜 Történelem kiemelt pontjai: Eredetileg OAK néven 1991-ben, átnevezve Java 1995-ben, majd felvásárolta a Oracle a Sun Microsystemstől 2009-ben.
  • 🌐 Négy kiadás: Java SE, Java EE (ma Jakarta EE), Java ÉN, és JavaAz FX célzott asztali számítógépeket, vállalati rendszereket, beágyazott eszközöket és gazdag funkcionalitású klienseket kínál.
  • 🔁 Platformfüggetlenség: Java A forrás bájtkóddá fordul, amely bármely JVM-en fut, lehetővé téve az egyszer írható, bárhol futtatható hordozhatóságot az operációs rendszerek között.

Bevezetés a Java - Hogyan Java Virtuális gép működik

Mi a Java?

Java egy általános célú, osztályalapú, objektumorientált programozási nyelv, amelyet minimális implementációs függőségekre terveztek. Emellett egy számítási platform alkalmazásfejlesztéshez. Java gyors, biztonságos és megbízható, ezért laptopokon, adatközpontokban, játékkonzolokon, tudományos szuperszámítógépeken, mobiltelefonokon és beágyazott eszközökön futó szoftvereket működtet. Többplatformos, hálózatközpontú nyelvként Java továbbra is az egyik legszélesebb körben elterjedt programozási nyelv az iparágban, és a legtöbb szervezet előnyben részesíti kritikus fontosságú projektek építéséhez.

Mi a Java Felület?

Az Java Emelvény olyan programok gyűjteménye, amelyek segítik a fejlesztőket a létrehozásban és a futtatásban Java alkalmazások hatékony kezelését. Magában foglal egy végrehajtó motort, egy fordítót és egy sor könyvtárat, valamint azokat a specifikációkat, amelyek meghatározzák azok együttműködését. James Gosling fejlesztette ki a Java platform a Sun Microsystemsnél, és Oracle A Corporation 2009-ben a Sun felvásárlásán keresztül szerezte meg.

Ez a videó bemutatja a Java emelvény és elmagyarázza, miért Java platform és programozási nyelv is egyben:

Kattints itt ha a videó nem elérhető.

Mi a Java Használt?

Íme néhány a legfontosabb valós alkalmazások közül Java:

  • Fejlesztőping Android apps.
  • Vállalati szoftverek fejlesztése nagyvállalatok számára.
  • Széles körű mobileszközök működtetése Java alkalmazásokat.
  • Tudományos számítástechnikai alkalmazások futtatása.
  • Big data elemzési folyamatok irányítása.
  • Beágyazott hardvereszközök programozása.
  • Szerveroldali technológiák, mint például az Apache, a JBoss, a GlassFish és a Tomcat.

A történelem Java Programozási nyelv

Íme a történelem fontosabb mérföldkövei Java nyelv:

  • Az Java a nyelvet kezdetben OAK-nak hívták.
  • Eredetileg hordozható eszközök és set-top boxok kezelésére fejlesztették ki, ahol az OAK kereskedelmi kudarcba fulladt.
  • 1995-ben a Sun átnevezte a nyelvet „Java„…és átfókuszálta, hogy kihasználja a gyorsan növekvő világháló előnyeit.”
  • A 2009, Oracle A Corporation megvásárolta a Sun Microsystems céget, és három kulcsfontosságú Sun szoftvereszköz tulajdonjogát vette át: Java, MySQLés Solaris.

Java változatok

Íme egy rövid történet a Java verziók és megjelenési dátumaik, frissítve a legújabb hosszú távú támogatási kiadással:

Java Változat Release Date
JDK alfa és béta 1995
1.0 JDK 23. január 1996
1.1 JDK 19th Február 1997
J2SE 1.2 8th Dec 1998
J2SE 1.3 8th május 2000
J2SE 1.4 6th Február 2002
J2SE 5.0 30th szept 2004
Java SE 6 11th Dec 2006
Java SE 7 28th július 2011
Java SE 8 (LTS) 18th Mar 2014
Java SE 9 21st szeptember 2017
Java SE 10 20th Mar 2018
Java SE 11 (LTS) 25th szept 2018
Java SE 12 19th Mar 2019
Java SE 13 17th szept 2019
Java SE 14 17th Mar 2020
Java SE 15 15th szept 2020
Java SE 16 16th Mar 2021
Java SE 17 (LTS) 14th szept 2021
Java SE 18 22. március 2022
Java SE 19 20th szept 2022
Java SE 20 21st Mar 2023
Java SE 21 (LTS) 19th szept 2023
Java SE 22 19th Mar 2024
Java SE 23 17th szept 2024
Java SE 24 18th Mar 2025
Java SE 25 (LTS) 16th szept 2025

Java Jellemzők

Íme néhány a legfontosabbak közül Java jellemzők, amelyek közel három évtizeden át relevánsak maradtak:

  • Ez az egyik legkönnyebben elsajátítható objektumorientált programozási nyelv.
  • „Egyszer írható, bárhol futtatható” – az egyetlen gépen fordított kód szinte bármilyen számítástechnikai platformon futtatható.
  • Java platformfüggetlen a bájtkód-végrehajtási modelljének köszönhetően.
  • A nulláról objektumorientált alkalmazásokhoz tervezték.
  • Ez egy többszálú nyelv automatikus memóriakezeléssel (szemétgyűjtéssel).
  • Az internet elosztott környezetére hozták létre.
  • Hálózatközpontú kialakítása miatt megkönnyíti az elosztott számítástechnikát.

Alkatrészei a Java Programozási nyelv

A Java A programozó ember által olvasható nyelven ír kódot, az úgynevezett forráskódA CPU soha nem érti közvetlenül a forráskódot – a CPU-k csak gépi kódot futtatnak, és ez a gépi kód CPU-családonként eltérő. Ennek a szakadéknak az áthidalására a Java A platform a forráskódot hordozható köztes formába fordítja. Mindez három fő komponensen belül történik: a JDK-n, a JVM-en és a JRE-n.

Java Fejlesztői készlet (JDK)

A JDK egy szoftverfejlesztési környezet, amelyet kisalkalmazások és Java alkalmazások. A JDK teljes formája Java Fejlesztőkészlet. Java a fejlesztők használhatják Windows, macOS, Solarisés Linux. A JDK segít nekik a kódolásban és a futtatásban Java programokat. Lehetőség van egynél több JDK-verzió telepítésére ugyanarra a számítógépre.

Miért érdemes JDK-t használni?

  • A JDK tartalmazza az íráshoz szükséges eszközöket Java programok és egy JRE a végrehajtásukhoz.
  • Tartalmaz egy fordítót (javac), A Java alkalmazásindító, AppletViewer és hasonló segédprogramok.
  • A fordítóprogram átalakítja a nyelven írt kódot. Java bájtkódba.
  • Az Java Az alkalmazásindító megnyit egy JRE-t, betölti a szükséges osztályt, és végrehajtja a fő metódusát.

Java Virtuális gép (JVM)

Az Java Virtuális gép (JVM) egy olyan motor, amely futási környezetet biztosít a vezetéshez Java kód vagy alkalmazások. Átalakítja Java bájtkód gépi nyelvre. A JVM a Java Futási környezet (JRE). Más programozási nyelvekben a fordító gépi kódot állít elő egy adott rendszerhez. Azonban a Java A fordítóprogram kódot készít egy virtuális géphez, amelyet az ún. Java Virtuális gép.

Miért JVM?

  • A JVM platformfüggetlen végrehajtási módot biztosít Java forráskód.
  • Számos könyvtárral, eszközzel és keretrendszerrel rendelkezik, amelyek azonnal használhatók.
  • Miután összeállítottál egy Java programot bármilyen platformon futtathatja, ami jelentős időt takarít meg.
  • A JVM egy JIT (Just-In-Time) fordítóval érkezik, amely futásidőben alacsony szintű gépi kóddá alakítja a bájtkódot, így gyakran gyorsabban fut, mint egy interpretált alkalmazás.

Java Futási környezet (JRE)

A JRE egy olyan szoftver, amelyet más szoftverek futtatására terveztek. Tartalmazza az osztálykönyvtárakat, a betöltő osztályt és a JVM-et. Egyszerűen fogalmazva, ha csak egyet szeretnél futtatni Java programozásához (és nem fejlesztéséhez) JRE-re van szükséged a teljes JDK helyett.

Miért érdemes JRE-t használni?

  • A JRE osztálykönyvtárakat, a JVM-et és egyéb támogató fájlokat tartalmaz. Nem tartalmaz fejlesztői eszközöket, például hibakeresőt vagy fordítót.
  • Fontos csomagosztályokat használ, beleértve a math, swing, util, lang, awtés futásidejű könyvtárak.
  • Ha futni kell Java kisalkalmazások vagy alkalmazások esetén a JRE-t telepíteni kell a rendszerre.

Különböző típusú Java Platformok

Négy különböző Java programozási nyelvi platformok, mindegyik más telepítési célra hangolva:

1. Java Platform, Standard Edition (Java SE): Java Az SE API kínálja a Java A programozási nyelv alapvető funkcióit határozza meg. Mindent meghatároz az alaptípusoktól és objektumoktól kezdve a hálózatépítéshez, biztonsághoz, adatbázis-hozzáféréshez, grafikus felhasználói felület (GUI) fejlesztéséhez és XML-elemzéshez használt magas szintű osztályokig.

2. Java Platform, Enterprise Edition (Jakarta EE, korábban Java EE): A Jakarta EE platform API-t és futásidejű környezetet kínál fejlesztéshezping és nagymértékben skálázható, nagyméretű, többszintű, megbízható és biztonságos hálózati alkalmazások futtatása. Oracle áthelyezte a platformot a Eclipse Foundation 2017-ben, amely Jakarta EE névre keresztelte át.

3. Java Platform, Micro Edition (Java NEKEM): Az Java Az ME platform API-t és kis helyigényű virtuális gépet kínál a futtatáshoz Java alkalmazások kis eszközökön, például hagyományos telefonokon és beágyazott vezérlőkön.

4. JavaFX: JavaAz FX egy fejlesztői platform.ping gazdag internetes alkalmazások könnyűsúlyú felhasználói felület API-t használnak. Hardvergyorsított grafikát és médiamotorokat használ, amelyek segítenek Java Használja ki a nagyobb teljesítményű kliensek, a modern megjelenés és érzet, valamint a magas szintű API-k előnyeit a hálózati adatforrásokhoz való csatlakozáshoz.

Megérteni a Java programozási nyelvben újra át kell tekintenünk néhány alapvető fogalmat arról, hogyan futtat parancsokat és hajt végre műveleteket egy számítógépes program.

Mi az a PC?

A számítógép egy elektronikus eszköz, amely képes számítások elvégzésére. Monitorból, billentyűzetből, egérből és az információk tárolására szolgáló memóriából áll. A legfontosabb alkotóelem azonban a PROCESSZOR. A processzor végzi a számítógép összes gondolkodási feladatát – de hogyan is csinálja ezt a gondolkodást? Hogyan értelmezi a szöveget, a képeket és a videókat?

Mi az a PC – alapvető összetevők
Mi az a PC?

Mi a Assembly Nyelv?

A számítógép egy elektronikus eszköz, így csak elektronikus jeleket – bináris jeleket – ért. Egy 5 voltos elektronikus jel az 1-es bináris számot jelentheti, míg a 0 volt a 0-ás bináris számot. A számítógéped folyamatosan ilyen jelekkel bombázódik.

Számítógép által feldolgozott bináris jelek

Ezen jelek nyolc bitjét csoportosítják a szöveg, számok és szimbólumok értelmezéséhez.

Nyolcbites grouping szöveghez és szimbólumokhoz

Például a # szimbólumot a számítógép 10101010-ként azonosítja. Hasonlóképpen, az „összeadás” függvény mintáját 10000011 jelöli.

Számítógépes utasítások bináris ábrázolása

Ezt 8 bites számítástechnikának nevezik. A modern processzorok képesek egyszerre 64 bites utasításokat dekódolni. Mi köze ennek a koncepciónak a... JavaNézzünk egy példát.

Tegyük fel, hogy azt szeretnéd utasítani a számítógépnek, hogy adjon össze két számot (1 + 2), amelyeket bináris számok (10000011) képviselnek. Hogyan kommunikálod ezt a számítógépeddel? Assembly nyelven futtatod a kódot.

"Assembly A nyelv a szoftverfejlesztési nyelvek legelemibb formája.”

A parancsokat a következő formátumban kell kiadni. Az assembly nyelven két szám összeadásához szükséges kód így nézne ki:

Assembly nyelvi két szám összeadása példa

  • Tárolja az 1-es számot az A memóriahelyen.
  • Tárolja a 2-es számot a B memóriahelyen.
  • Add össze az A és B helyszínek tartalmát.
  • Tárolja az eredményt.

Az 1950-es években, amikor a számítógépek hatalmasak és energiafalóak voltak, az assembly kódot a megfelelő gépi kóddá (1-esek és 0-sok) alakították át a map használatával.ping lapokat. A kódot ezután gépi kártyákba lyukasztották, és betáplálták a számítógépbe. A számítógép beolvasta ezeket a kódokat, és végrehajtotta a programot. Ez egy hosszú folyamat volt – amíg meg nem érkezett az ÖSSZESZERELŐ, hogy automatizálja az átalakítást.

Mi az Assembler és Compiler?

A technológia fejlődésével megjelentek az I/O eszközök. A programot közvetlenül a PC-be lehetett írni az ASSEMBLER segítségével, amely a megfelelő gépi kóddá (110001…) alakítja át, és a processzornak továbbítja. Visszatérve az 1 + 2 példánkhoz, az assembler az assembly kódot gépi kóddá alakítja kimenetként.

Az assembler assembly kódot gépi kóddá alakítja

Az assemblyen túl az operációs rendszer által biztosított függvényeket is meg kell hívni a kimenet megjelenítéséhez.

Az assembler önmagában nem elég; szüksége van egy FORDÍTÓRA is, amely a hosszú forráskódot kisebb, optimalizált darabokra tömöríti. Magasabb szintű szoftverfejlesztő nyelveknél a fenti assembly kódrészlet egyetlen sorra zsugorodik, például printf(„%d”, 1+2)A fordítóprogram átalakítja a C nyelv kódot assembly kóddá alakít; az assembly ezután gépi kóddá alakítja transmita processzorhoz van kötve. A PC-kben leggyakrabban használt processzor az Intel processzor.

Fordító és assembler folyamat

A modern fordítóprogramok gyakran beépítik az assemblert, hogy a magasabb szintű nyelvi kódot közvetlenül gépi kóddá alakíthassák.

Most, tegyük fel, Windows Intel processzoron fut – az operációs rendszer és a processzor kombinációját PLATFORMNAK nevezik. A leggyakoribb platform a Windows Intel processzorokon, más néven Wintel platformon. Más népszerű platformok közé tartozik az AMD, Linux, PowerPC és macOS.

A processzor változásával az összeszerelési utasítások is megváltoznak. Például:

  • Az Intel processzorokon az „add” utasítás AMD processzorokon ADDITION utasításnak is nevezhető.
  • Vagy „Math ADD” a PowerPC-n.

Az operációs rendszer változásával az operációs rendszer szintű hívások szintje és jellege is megváltozik.

Fejlesztőként azt szeretnéd, hogy a szoftvered minden platformon működjön a maximális elérés érdekében. Ez azt jelenti, hogy külön fordítóprogramokat kellene vásárolnod, amelyek konvertálják a printf parancsot a natív gépi kódba minden célponthoz.

Több platformos fordítók

A fordítóprogramok drágák, és mindig fennáll a kompatibilitási problémák kockázata az operációs rendszerek között. Nem praktikus minden operációs rendszer-processzor kombinációhoz külön fordítóprogramot vásárolni és telepíteni. Mi a másik lehetőség? Írja be a... Java nyelv.

Hogyan működik a Java Virtuális gép működik?

A Java Virtuális gép, ez a probléma megoldható. De hogyan működik ez különböző processzorokon és operációs rendszereken? Nézzük meg lépésről lépésre.

Hogyan Java A virtuális gép működése lépésről lépésre

Step 1) Két szám összeadásának megjelenítésére szolgáló kód — System.out.println(1+2) — mentésre kerül .java fájlt.

Step 2) az Java fordító (javac), a kódot köztes kóddá alakítják, amelyet bájtkódotA kimenet egy .osztály fájlt.

Step 3) Ezt a bájtkódot egyetlen fizikai platform sem érti, csak egy virtuális platform, az úgynevezett Java Virtuális gép.

Step 4) A JVM az operációs rendszer RAM-jában található. Amikor a JVM megkapja ezt a bájtkódot, azonosítja a platformot, amelyen fut, és menet közben átalakítja a bájtkódot natív gépi kóddá.

Miközben a számítógépén dolgozik vagy böngészik az interneten, valahányszor látja Javakapcsolódó ikonok, biztos lehet benne, hogy a JVM betöltődött a RAM-ba. Java attraclényege, hogy a lefordított kód nemcsak minden PC platformon futtatható, hanem mobiltelefonokon és más elektronikus eszközökön is, amelyek támogatják Java.

"Java „egy programozási nyelv is egyben platform is.”

Mennyire jobb az Java Platformfüggetlen?

Egy C fordítóval ellentétben a Java A fordító nem állít elő natív végrehajtható kódot egy adott géphez. Helyette, Java egy egyedi köztes formátumot hoz létre, az úgynevezett bájtkódotA bájtkód a JVM specifikációban lefektetett szabályok szerint fut, ezért Java egy platformfüggetlen nyelv.

A bájtkódot bármely JVM megérti, bármilyen operációs rendszerre telepítve. Röviden, Java a forráskód minden modern operációs rendszeren futtatható újrafordítás nélkül, ami a program alapja Java„egyszer írhatsz, bárhová futtathatsz” ígérete.

GYIK

A JDK egy fejlesztőkészlet, amely fordítót és eszközöket tartalmaz. A JRE egy futásidejű környezet, amely magában foglalja a végrehajtáshoz szükséges JVM-et és osztálykönyvtárakat. Java programok. A JVM a JRE-n belüli motor, amely futásidőben a bájtkódot natív gépi kóddá alakítja.

Igen. Java továbbra is kiemelten releváns a vállalati rendszerek számára, Android alkalmazások, pénzügyi platformok, big data és mikroszolgáltatások. Modern kiadások, mint például Java 21 és Java A 25 LTS rekordokat, virtuális szálakat, mintaillesztést és jobb teljesítményt ad hozzá a megőrzéshez Java versenyképes.

A kezdőknek telepíteniük kell egy hosszú távú támogatású (LTS) kiadást. Java Az SE 25, amely 2025 szeptemberében jelent meg, a legújabb LTS verzió, a következővel: Java 21 és Java A 17-es verziót még mindig széles körben használják. Az LTS verziók kiterjesztett biztonsági javításokat és stabil támogatást kapnak a gyártóktól.

A mesterséges intelligenciát a következőkkel használják: Java vállalati gépi tanuláshoz, csalásészleléshez, ajánlómotorokhoz és chatbotokhoz. Az olyan könyvtárak, mint a DJL, a Deeplearning4j és a Tribuo, mélytanulást biztosítanak a JVM-nek, míg a mesterséges intelligencia által vezérelt kódolási asszisztensek felgyorsítják a folyamatot. Java refaktorálás és egységtesztek generálása.

Igen. A mesterséges intelligencia által fejlesztett kódolóasszisztensek elmagyarázzák Java szintaxist, gyakorlófeladatokat generálhat, hibákat kereshet, és valós időben áttekintheti a kódot. A kezdők interaktív visszajelzésekből profitálhatnak, amelyek rávilágítanak az objektumorientált legjobb gyakorlatokra, a JVM viselkedésére és a hagyományos tankönyvek által ritkán feltárt gyakori hibákra.

Foglald össze ezt a bejegyzést a következőképpen: