Uvod u Java

⚡ Pametni sažetak

Uvod u Java objašnjava opći, na klasama temeljen, objektno orijentiran programski jezik koji služi i kao računalna platforma. Ovaj vodič pokriva Javapovijest, verzije, značajke, ključne komponente (JDK, JVM, JRE), izdanja platforme i mehanizam bajtkoda koji ga čini Java pravi jezik u koji se može pisati samo jednom, a izvršavati bilo gdje.

  • ☕ Osnovna definicija: Java je programski jezik opće namjene, objektno orijentiran, temeljen na klasama i platforma za izvođenje, projektirana za prenosivost i pouzdanost.
  • 🧩 Tri komponente: The Java Platforma se sastoji od JDK-a za razvoj, JVM-a za izvršavanje i JRE-a za podršku pri izvođenju.
  • 📜 Najvažniji dijelovi povijesti: Izvorno nazvan OAK 1991., preimenovan Java 1995. godine, a stekla ga je Oracle od tvrtke Sun Microsystems 2009. godine.
  • 🌐 Četiri izdanja: Java JI, Java EE (sada Jakarta EE), Java JA i JavaFX cilja na stolna računala, poslovne sustave, ugrađene uređaje i bogate klijente.
  • 🔁 Neovisnost o platformi: Java Izvorni kod se kompajlira u bajtkod koji se izvršava na bilo kojem JVM-u, omogućujući istinsku prenosivost između operativnih sustava, s mogućnošću jednokratnog pisanja i izvršavanja bilo gdje.

Uvod u Java - Kako Java Virtualni stroj radi

Što je Java?

Java je programski jezik opće namjene, baziran na klasama, objektno orijentiran, dizajniran za minimalne implementacijske ovisnosti. Također je računalna platforma za razvoj aplikacija. Java je brz, siguran i pouzdan, zbog čega pokreće softver na prijenosnim računalima, podatkovnim centrima, igraćim konzolama, znanstvenim superračunalima, mobitelima i ugrađenim uređajima. Kao višeplatformski, mrežno-centrični jezik, Java ostaje jedan od najšire prihvaćenih programskih jezika u industriji i većina organizacija ga preferira za izgradnju projekata kritičnih za misiju.

Što je Java Platforma?

The Java Platforma je skup programa koji pomaže programerima u stvaranju i pokretanju Java učinkovito upravlja aplikacijama. Objedinjuje izvršni mehanizam, kompajler i skup biblioteka, zajedno sa specifikacijama koje definiraju kako oni međusobno djeluju. James Gosling razvio je Java platforma u Sun Microsystemsu i Oracle Korporacija ga je preuzela putem akvizicije Suna 2009. godine.

Ovaj video predstavlja Java platforma i objašnjava zašto Java je i platforma i programski jezik:

Kliknite ovdje ako video nije dostupan.

Što je Java Koristi za?

Evo nekih od najvažnijih primjena u stvarnom svijetu Java:

  • Razvojping Android aplikacije.
  • Izrada poslovnog softvera za velike organizacije.
  • Omogućuje širok raspon mobilnih uređaja Java aplikacija.
  • Pokretanje znanstvenih računalnih aplikacija.
  • Pokretanje procesa analize velikih podataka.
  • Programiranje ugrađenih hardverskih uređaja.
  • Tehnologije na strani poslužitelja kao što su Apache, JBoss, GlassFish i Tomcat.

Povijest Java Programski jezik

Ovdje su važne znamenitosti iz povijesti Java Jezik:

  • The Java jezik se u početku zvao HRAST.
  • Izvorno je razvijen za rukovanje prijenosnim uređajima i set-top boxovima, gdje je OAK bio komercijalni neuspjeh.
  • Godine 1995. Sun je preimenovao jezik u „Java"i preusmjerio ga kako bi iskoristio prednosti brzorastućeg World Wide Weba."
  • U 2009, Oracle Korporacija je kupila Sun Microsystems i preuzela vlasništvo nad tri ključna Sun softverska sredstva: Java, MySQLi Solaris.

Java verzije

Evo kratke povijesti Java verzije i njihovi datumi izdanja, ažurirani putem najnovijeg izdanja dugoročne podrške:

Java Verzija Datum objave
JDK alfa i beta 1995
JDK1.0 23. siječnja 1996
JDK1.1 19th Feb 1997
J2SE 1.2 8th Dec 1998
J2SE 1.3 XNUMIX svibnja 8
J2SE 1.4 6th Feb 2002
J2SE 5.0 30th Sep 2004
Java SE 6 11th Dec 2006
Java SE 7 28th Srpanj 2011
Java JI 8 (LTS) 18th Mar 2014
Java SE 9 21st rujan 2017
Java SE 10 20th Mar 2018
Java JI 11 (LTS) 25th Sep 2018
Java SE 12 19th Mar 2019
Java SE 13 17th Sep 2019
Java SE 14 17th Mar 2020
Java SE 15 15th Sep 2020
Java SE 16 16th Mar 2021
Java JI 17 (LTS) 14th Sep 2021
Java SE 18 22. ožujka 2022
Java SE 19 20th Sep 2022
Java SE 20 21. ožujka 2023
Java JI 21 (LTS) 19th Sep 2023
Java SE 22 19th Mar 2024
Java SE 23 17th Sep 2024
Java SE 24 18th Mar 2025
Java JI 25 (LTS) 16th Sep 2025

Java Značajke

Evo nekih od najvažnijih Java značajke koje ga održavaju relevantnim gotovo tri desetljeća:

  • To je jedan od najlakših objektno orijentiranih programskih jezika za učenje.
  • „Napiši jednom, pokreni bilo gdje“ — kod kompiliran na jednom računalu izvodi se na gotovo svakoj računalnoj platformi.
  • Java neovisan je o platformi zahvaljujući svom modelu izvršavanja bajtkoda.
  • Dizajniran je od temelja za objektno orijentirane aplikacije.
  • To je višenitni jezik s automatskim upravljanjem memorijom (skupljanjem smeća).
  • Stvoren je za distribuirano okruženje interneta.
  • Omogućuje distribuirano računanje zbog svog mrežno-centričnog dizajna.

Komponente Java Programski jezik

A Java Programer piše kod u jeziku koji je čitljiv ljudima, a koji se zove Izvorni kodCPU nikada ne razumije izvorni kod izravno - CPU-i izvršavaju samo strojni kod, a taj se strojni kod razlikuje među obiteljima CPU-a. Kako bi se premostio taj jaz, Java Platforma prevodi izvorni kod u prenosivi međuoblik. Sve se to događa unutar tri ključne komponente: JDK-a, JVM-a i JRE-a.

Java Razvojni komplet (JDK)

JDK je okruženje za razvoj softvera koje se koristi za izradu apleta i Java aplikacije. Puni oblik JDK je Java Komplet za razvoj. Java programeri ga mogu koristiti na Windows, macOS, Solarisi Linux. JDK im pomaže u kodiranju i pokretanju Java programa. Moguće je instalirati više od jedne JDK verzije na isto računalo.

Zašto koristiti JDK?

  • JDK sadrži alate potrebne za pisanje Java programe i JRE za njihovo izvršavanje.
  • Uključuje kompajler (javac) Je Java pokretač aplikacija, AppletViewer i slični uslužni programi.
  • Kompajler pretvara kod napisan u Java u bajtkod.
  • The Java pokretač aplikacija otvara JRE, učitava potrebnu klasu i izvršava svoju glavnu metodu.

Java Virtualni stroj (JVM)

The Java Virtualni stroj (JVM) je motor koji pruža okruženje za izvođenje za vožnju Java kod ili aplikacije. Pretvara Java bajtkod u strojni jezik. JVM je dio Java Runtime Environment (JRE). U drugim programskim jezicima, kompajler proizvodi strojni kod za određeni sustav. Međutim, Java kompajler stvara kod za virtualni stroj poznat kao Java Virtualni stroj.

Zašto JVM?

  • JVM pruža način izvođenja neovisan o platformi Java izvorni kod.
  • Ima brojne biblioteke, alate i okvire dostupne odmah nakon instalacije.
  • Nakon što sastavite Java program, možete ga pokrenuti na bilo kojoj platformi, što značajno štedi vrijeme.
  • JVM dolazi s JIT (Just-In-Time) kompajlerom koji pretvara bajtkod u strojni jezik niske razine tijekom izvođenja, često čineći da se izvršava brže od interpretirane aplikacije.

Java Runtime Environment (JRE)

JRE je softver dizajniran za pokretanje drugog softvera. Sadrži biblioteke klasa, klasu za učitavanje i JVM. Jednostavno rečeno, ako želite pokrenuti samo Java program (a ne razvoj istog), potreban vam je JRE umjesto punog JDK-a.

Zašto koristiti JRE?

  • JRE sadrži biblioteke klasa, JVM i ostale prateće datoteke. Ne uključuje alate za razvojne programere poput programa za ispravljanje pogrešaka ili kompajlera.
  • Koristi važne klase paketa, uključujući math, swing, util, lang, awti biblioteke za vrijeme izvođenja.
  • Ako morate trčati Java aplete ili aplikacije, JRE mora biti instaliran na vašem sustavu.

Različite vrste Java Platforme

Postoje četiri različita Java platforme programskih jezika, svaka prilagođena različitom cilju implementacije:

1. Java Platforma, standardno izdanje (Java JI): Java SE-ov API nudi Java Osnovna funkcionalnost programskog jezika. Definira sve, od osnovnih tipova i objekata do klasa visoke razine koje se koriste za umrežavanje, sigurnost, pristup bazama podataka, razvoj grafičkog korisničkog sučelja (GUI) i parsiranje XML-a.

2. Java Platforma, Enterprise izdanje (Jakarta EE, prije Java EE): Platforma Jakarta EE nudi API i okruženje za izvođenje za razvojping i pokretanje visoko skalabilnih, velikih, višeslojnih, pouzdanih i sigurnih mrežnih aplikacija. Oracle prenio je platformu na Eclipse Foundation 2017. godine, koja ga je preimenovala u Jakarta EE.

3. Java Platforma, mikro izdanje (Java MI): The Java ME platforma nudi API i virtualni stroj malih dimenzija za pokretanje Java aplikacije na malim uređajima kao što su obični mobiteli i ugrađeni kontroleri.

4. JavaFX: JavaFX je platforma za razvojping bogate internetske aplikacije koristeći lagani API korisničkog sučelja. Koristi hardverski ubrzanu grafiku i medijske mehanizme koji pomažu Java iskoristite prednosti klijenata s višim performansama, modernog izgleda i dojma te visokorazinskih API-ja za povezivanje s mrežnim izvorima podataka.

Da se razumijemo Java programskog jezika, moramo ponovno proučiti neke osnovne koncepte o tome kako računalni program izvršava naredbe i radnje.

Što je PC?

Računalo je elektronički uređaj sposoban za izvršavanje izračuna. Sastoji se od monitora, tipkovnice, miša i memorije za pohranu informacija. Najvažnija komponenta je, međutim, PROCESOR. Procesor obavlja sav misaoni proces računala - ali kako on to zapravo čini? Kako razumije tekst, slike i videozapise?

Što je računalo - osnovne komponente
Što je PC?

Što je Assembly Jezik?

Računalo je elektronički uređaj, pa razumije samo elektroničke signale - binarne signale. Elektronički signal od 5 volti može predstavljati binarni broj 1, dok 0 volti može predstavljati binarni broj 0. Vaše računalo je kontinuirano bombardirano tim signalima.

Binarni signali obrađeni računalom

Osam bitova ovih signala grupira se zajedno kako bi se interpretirao tekst, brojevi i simboli.

Osam-bitna grupaping za tekst i simbole

Na primjer, računalo identificira simbol # kao 10101010. Slično tome, uzorak za funkciju "zbrajanja" predstavljen je s 10000011.

Binarni prikaz računalnih instrukcija

To se naziva 8-bitno računanje. Moderni procesori mogu dekodirati 64-bitne instrukcije odjednom. Pa kakve veze ovaj koncept ima s... JavaPogledajmo jedan primjer.

Pretpostavimo da želite reći računalu da zbroji dva broja (1 + 2) predstavljena nekim binarnim brojevima (10000011). Kako to komunicirate svom računalu? Koristite asemblerski jezik za izvršavanje koda.

"Assembly Jezik je najelementarniji oblik jezika za razvoj softvera.”

Naredbe se izdaju u sljedećem formatu. Kod za zbrajanje dvaju brojeva u asemblerskom jeziku izgledao bi ovako:

Assembly primjer zbrajanja dvaju brojeva u jeziku

  • Pohrani broj 1 na memorijsku lokaciju A.
  • Pohrani broj 2 na memorijsku lokaciju B.
  • Dodajte sadržaj lokacija A i B.
  • Spremite rezultat.

Pedesetih godina prošlog stoljeća, kada su računala bila ogromna i zahtjevna za energijom, asemblerski kod biste pretvorili u odgovarajući strojni kod (jedinice i nule) koristeći map.ping listova. Kod je zatim urezan u kartice stroja i ubačen u računalo. Računalo je čitalo te kodove i izvršavalo program. To je bio dug proces - sve dok nije stigao ASSEMBLER kako bi automatizirao pretvorbu.

Što su Asembler i Compiler?

S napretkom tehnologije, izumljeni su I/O uređaji. Program ste mogli upisati izravno u računalo pomoću ASSEMBLERA, koji ga pretvara u odgovarajući strojni kod (110001…) i šalje ga procesoru. Vraćajući se na naš primjer 1 + 2, asembler pretvara asemblerski kod u strojni kod kao izlaz.

Asembler pretvara asemblerski kod u strojni kod

Osim asemblera, morate pozivati ​​i funkcije operacijskog sustava kako biste prikazali izlaz.

Sam asembler nije dovoljan; potreban mu je i KOMPILER za komprimiranje dugog izvornog koda u manje, optimizirane dijelove. S jezicima za razvoj softvera više razine, cijeli gornji asemblerski isječak smanjuje se na jedan redak, kao što je printf(“%d”, 1+2)Kompajler pretvara vaš C jezik kod u asemblerski kod; asembler ga zatim pretvara u strojni kod transmitvezano uz procesor. Najčešći procesor koji se koristi u računalima je Intelov procesor.

Cjevovod kompajlera i asemblera

Moderni kompajleri često uključuju asembler kako bi mogli izravno pretvoriti kod višeg jezika u strojni kod.

Sada, pretpostavimo Windows radi na Intelovom procesoru — kombinacija operativnog sustava i procesora naziva se PLATFORMA. Najčešća platforma je Windows na Intelu, poznatoj i kao Wintel platforma. Druge popularne platforme uključuju AMD, Linux, PowerPC i macOS.

S promjenom procesora mijenjaju se i asemblerske upute. Na primjer:

  • Naredba "dodavanje" na Intelu se može nazvati ADDITION na AMD-u.
  • Ili "Matematički ZBROJ" na PowerPC-u.

A s promjenom operativnog sustava, mijenjaju se i razina i priroda poziva na razini operativnog sustava.

Kao programer, želite da vaš softver radi na svakoj platformi kako biste maksimalno povećali doseg. To znači da biste morali kupiti zasebne kompajlere koji pretvaraju vaše printf naredbu u izvorni strojni kod za svaki cilj.

Kompajleri za više platformi

Kompajleri su skupi i uvijek postoji rizik od problema s kompatibilnošću između operativnih sustava. Kupnja i instaliranje zasebnog kompajlera za svaku kombinaciju OS-a i procesora nije praktično. Pa koja je alternativa? Unesite Java Jezik.

Kako Java Rad virtualnog stroja?

Upotrebom Java Virtualni stroj, ovaj se problem može riješiti. Ali kako funkcionira na različitim procesorima i operativnim sustavima? Prođimo kroz to korak po korak.

Kako Java Virtualni stroj radi korak po korak

Korak 1) Kod za prikaz zbrajanja dvaju brojeva — System.out.println(1+2) — sprema se kao .java file.

Korak 2) Korištenje Java kompajler (javac), kod se pretvara u međukod koji se naziva bajtIzlaz je .razred file.

Korak 3) Ovaj bajtkod ne razumije nijedna fizička platforma, već samo virtualna platforma koja se zove Java Virtualni stroj.

Korak 4) JVM se nalazi u RAM-u vašeg operativnog sustava. Kada JVM primi ovaj bajtkod, on identificira platformu na kojoj se izvodi i u hodu pretvara bajtkod u izvorni strojni kod.

Dok radite na računalu ili pregledavate web, kad god vidite Javaikone povezane s -, možete biti sigurni da je JVM učitan u vašu RAM memoriju. Što čini Java attracPrednost je u tome što se kompajlirani kod može izvoditi ne samo na svakoj PC platformi, već i na mobitelima i drugim elektroničkim uređajima koji podržavaju Java.

"Java je programski jezik, ali i platforma.”

Kako je Java Neovisan o platformi?

Za razliku od C kompajlera, Java kompajler ne proizvodi izvorni izvršni kod za određeni stroj. Umjesto toga, Java stvara jedinstveni međuformat koji se naziva bajtBajtkod se izvršava prema pravilima navedenim u JVM specifikaciji, zbog čega Java je jezik neovisan o platformi.

Bajtkod je razumljiv bilo kojem JVM-u instaliranom na bilo kojem operativnom sustavu. Ukratko, Java Izvorni kod može se izvoditi na svakom modernom operativnom sustavu bez ponovnog kompiliranja, što je temelj Javaobećanje "napiši jednom, pokreni bilo gdje".

Pitanja i odgovori

JDK je razvojni komplet koji sadrži kompajler i alate. JRE je okruženje za izvođenje koje uključuje JVM i biblioteke klasa potrebne za izvršavanje. Java programa. JVM je mehanizam unutar JRE-a koji pretvara bajtkod u izvorni strojni kod tijekom izvođenja.

Da. Java ostaje vrlo relevantan za poslovne sustave, Android aplikacije, financijske platforme, veliki podaci i mikroservisi. Moderna izdanja kao što su Java 21 i Java 25 LTS dodaje zapise, virtualne niti, usklađivanje uzoraka i poboljšane performanse kako bi se održalo Java konkurentni.

Početnici bi trebali instalirati izdanje s dugoročnom podrškom (LTS). Java SE 25, objavljena u rujnu 2025., najnovija je LTS verzija s Java 21 i Java 17 se još uvijek široko koristi. LTS verzije dobivaju proširene sigurnosne zakrpe i stabilnu podršku od dobavljača.

Umjetna inteligencija se koristi s Java za strojno učenje u poduzećima, otkrivanje prijevara, mehanizme za preporuke i chatbotove. Biblioteke poput DJL-a, Deeplearning4j-a i Tribuo-a donose duboko učenje u JVM, dok AI asistenti za kodiranje ubrzavaju Java refaktoriranje i generiranje jediničnih testova.

Da. Asistenti za AI kodiranje objašnjavaju Java sintaksu, generiranje vježbi, otklanjanje pogrešaka i pregled koda u stvarnom vremenu. Početnici imaju koristi od interaktivnih povratnih informacija koje ističu najbolje prakse objektno orijentiranog programiranja, ponašanje JVM-a i uobičajene pogreške koje se rijetko pojavljuju u tradicionalnim udžbenicima.

Sažmite ovu objavu uz: