Introduktion till Java

⚡ Smart sammanfattning

Introduktion till Java förklarar ett generellt, klassbaserat, objektorienterat programmeringsspråk som även fungerar som en datorplattform. Denna handledning täcker Javas historia, versioner, funktioner, kärnkomponenter (JDK, JVM, JRE), plattformsutgåvor och bytekodmekanismen som gör Java ett verkligt skrivbart engångsspråk som du kan köra var som helst.

  • Kärndefinition: Java är ett allmänt, klassbaserat, objektorienterat programmeringsspråk och en runtime-plattform konstruerad för portabilitet och tillförlitlighet.
  • 🧩 Tre komponenter: Ocuco-landskapet Java Plattformen består av JDK för utveckling, JVM för exekvering och JRE för runtime-stöd.
  • 📜 Historiska höjdpunkter: Ursprungligen kallad OAK 1991, omdöpt Java år 1995, och förvärvades av Oracle från Sun Microsystems år 2009.
  • 🌐 Fyra utgåvor: Java SE, Java EE (nu Jakarta EE), Java MIG, och JavaFX riktar sig mot stationära datorer, företagssystem, inbyggda enheter och avancerade klienter.
  • 🔁 Plattformsoberoende: Java källkod kompilerar till bytekod som körs på valfri JVM, vilket möjliggör verklig skriv-en-gång-portabilitet och kör-var-som-helst-portabilitet mellan operativsystem.

Introduktion till Java - Hur Java Virtuella maskiner fungerar

Vad är Java?

Java är ett allmänt, klassbaserat, objektorienterat programmeringsspråk utformat för minimala implementeringsberoenden. Det är också en datorplattform för applikationsutveckling. Java är snabb, säker och pålitlig, vilket är anledningen till att den driver programvara på bärbara datorer, datacenter, spelkonsoler, vetenskapliga superdatorer, mobiltelefoner och inbyggda enheter. Som ett nätverkscentrerat språk för flera plattformar, Java är fortfarande ett av de mest använda programmeringsspråken i branschen och föredras av de flesta organisationer för att bygga verksamhetskritiska projekt.

Vad är det Java Plattform?

Ocuco-landskapet Java plattform är en samling program som hjälper utvecklare att skapa och köra Java applikationer effektivt. Den kombinerar en exekveringsmotor, en kompilator och en uppsättning bibliotek, tillsammans med specifikationerna som definierar hur de samverkar. James Gosling utvecklade Java plattform hos Sun Microsystems, och Oracle Corporation förvärvade det genom Sun-förvärvet 2009.

Den här videon introducerar Java plattform och förklarar varför Java är både en plattform och ett programmeringsspråk:

Klicka här. om videon inte är tillgänglig.

Vad är Java Används för?

Här är några av de viktigaste tillämpningarna i verkligheten av Java:

  • Utvecklaping Android appar.
  • Bygga företagsprogramvara för stora organisationer.
  • Drivs av ett brett utbud av mobila enheter Java tillämpningar.
  • Köra vetenskapliga beräkningsapplikationer.
  • Driva pipelines för stordataanalys.
  • Programmering av inbyggda hårdvaruenheter.
  • Serversidestekniker som Apache, JBoss, GlassFish och Tomcat.

Historik om Java PROGRAMMERINGSSPRÅK

Här är de viktiga landmärkena från historien om Java språk:

  • Ocuco-landskapet Java språket kallades från början OAK.
  • Den utvecklades ursprungligen för att hantera bärbara enheter och set-top-boxar, där OAK var ett kommersiellt misslyckande.
  • År 1995 döpte Sun om språket till “Java” och omfokuserade den för att dra nytta av den snabbt växande World Wide Web.
  • 2009, Oracle Corporation förvärvade Sun Microsystems och tog ägandet av tre viktiga Sun-programtillgångar: Java, MySQLoch Solaris.

Java versioner

Här är en kortfattad historia om Java versioner och deras utgivningsdatum, uppdaterade genom den senaste långsiktiga supportversionen:

Java Version Utgivningsdatum
JDK Alpha och Beta 1995
JDK1.0 23rd Jan 1996
JDK1.1 19: e februari 1997
J2SE 1.2 8th dec 1998
J2SE 1.3 8th maj 2000
J2SE 1.4 6: e februari 2002
J2SE 5.0 30th Sep 2004
Java SE 6 11th dec 2006
Java SE 7 28th juli 2011
Java SE 8 (LTS) 18th Mar 2014
Java SE 9 21st september 2017
Java SE 10 20th Mar 2018
Java SE 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 SE 17 (LTS) 14th Sep 2021
Java SE 18 22 mars 2022
Java SE 19 20th Sep 2022
Java SE 20 21st mar 2023
Java SE 21 (LTS) 19th Sep 2023
Java SE 22 19th Mar 2024
Java SE 23 17th Sep 2024
Java SE 24 18th Mar 2025
Java SE 25 (LTS) 16th Sep 2025

Java Funktioner

Här är några av de viktigaste Java funktioner som har hållit den relevant i nästan tre decennier:

  • Det är ett av de enklaste objektorienterade programmeringsspråken att lära sig.
  • ”Skriv en gång, kör var som helst” – kod som kompilerats på en maskin körs på nästan vilken datorplattform som helst.
  • Java är plattformsoberoende tack vare sin bytekodsexekveringsmodell.
  • Den är designad från grunden för objektorienterade applikationer.
  • Det är ett flertrådat språk med automatisk minneshantering (sophantering).
  • Den skapades för internets distribuerade miljö.
  • Det underlättar distribuerad databehandling på grund av sin nätverkscentrerade design.

Komponenter i Java PROGRAMMERINGSSPRÅK

A Java programmerare skriver kod i ett läsbart språk som kallas källkodProcessorn förstår aldrig källkod direkt – processorer kör bara maskinkod, och den maskinkoden skiljer sig åt mellan olika processorfamiljer. För att överbrygga denna klyfta, Java Plattformen översätter källkod till en portabel mellanliggande form. Allt detta sker inom tre kärnkomponenter: JDK, JVM och JRE.

Java Utvecklingspaket (JDK)

JDK är en mjukvaruutvecklingsmiljö som används för att bygga applets och Java applikationer. Den fullständiga formen av JDK är Java Utvecklings paket. Java utvecklare kan använda det på Windows, macOS, Solarisoch Linux. JDK hjälper dem att koda och köra Java program. Det är möjligt att installera mer än en JDK-version på samma dator.

Varför använda JDK?

  • JDK innehåller de verktyg som krävs för att skriva Java program och en JRE för att köra dem.
  • Den innehåller en kompilator (javac), Den Java programstartaren, AppletViewer och liknande verktyg.
  • Kompilatorn konverterar kod skriven i Java in i bytekod.
  • Ocuco-landskapet Java programstartaren öppnar en JRE, laddar den nödvändiga klassen och kör dess huvudmetod.

Java Virtuell maskin (JVM)

Ocuco-landskapet Java Virtuell maskin (JVM) är en motor som ger en körmiljö för att köra Java kod eller applikationer. Den konverterar Java bytekod till maskinspråk. JVM är en del av Java Runtime Environment (JRE). I andra programmeringsspråk producerar kompilatorn maskinkod för ett visst system. Däremot Java kompilatorn producerar kod för en virtuell maskin som kallas Java Virtuell maskin.

Varför JVM?

  • JVM tillhandahåller ett plattformsoberoende sätt att exekvera Java källkod.
  • Den har många bibliotek, verktyg och ramverk tillgängliga direkt ur lådan.
  • När du väl har kompilerat en Java programmet kan du köra det på vilken plattform som helst, vilket sparar avsevärt tid.
  • JVM levereras med en JIT (Just-In-Time)-kompilator som konverterar bytekod till lågnivåmaskinspråk vid körning, vilket ofta gör att den körs snabbare än en tolkad applikation.

Java Runtime Environment (JRE)

JRE är en programvara som är utformad för att köra annan programvara. Den innehåller klassbiblioteken, loader-klassen och JVM. Enkelt uttryckt, om du bara vill köra en Java program (och inte utveckla ett), behöver du JRE snarare än hela JDK.

Varför använda JRE?

  • JRE innehåller klassbibliotek, JVM och andra stödfiler. Det inkluderar inte utvecklarverktyg som felsökare eller kompilatorer.
  • Den använder viktiga paketklasser inklusive math, swing, util, lang, awtoch runtime-bibliotek.
  • Om du måste springa Java appletar eller applikationer måste JRE vara installerat på ditt system.

Olika typer av Java Plattformar

Det finns fyra distinkta Java programmeringsspråkplattformar, var och en inställd på ett annat distributionsmål:

1. Java Plattform, Standard Edition (Java SE): Java SE:s API erbjuder Java programmeringsspråkets kärnfunktionalitet. Det definierar allt från bastyper och objekt till högnivåklasser som används för nätverk, säkerhet, databasåtkomst, utveckling av grafiskt användargränssnitt (GUI) och XML-parsning.

2. Java Plattform, Enterprise Edition (Jakarta EE, tidigare Java EE): Jakarta EE-plattformen erbjuder ett API och en runtime-miljö för utvecklingping och köra mycket skalbara, storskaliga, flernivåiga, tillförlitliga och säkra nätverksapplikationer. Oracle överförde plattformen till Eclipse Foundation år 2017, vilket omdöpte det till Jakarta EE.

3. Java Plattform, Micro Edition (Java MIG): Ocuco-landskapet Java ME-plattformen erbjuder ett API och en virtuell maskin med liten yta för körning Java applikationer på små enheter som funktionstelefoner och inbyggda styrenheter.

4. JavaFX: JavaFX är en plattform för utvecklingping avancerade internetapplikationer med hjälp av ett lättviktigt användargränssnitts-API. Den använder hårdvaruaccelererade grafik- och mediemotorer som hjälper Java dra nytta av klienter med högre prestanda, ett modernt utseende och känsla och API:er på hög nivå för att ansluta till nätverksanslutna datakällor.

För att förstå Java programmeringsspråk behöver vi se över några grundläggande koncept för hur ett datorprogram kör kommandon och utför åtgärder.

Vad är en PC?

En dator är en elektronisk apparat som kan utföra beräkningar. Den består av en bildskärm, ett tangentbord, en mus och ett minne för att lagra information. Den viktigaste komponenten är dock PROCESSORN. Processorn utför allt datorns tänkande – men hur gör den egentligen det tänkandet? Hur förstår den text, bilder och videor?

Vad är en PC - kärnkomponenter
Vad är PC?

Vad är Assembly Språk?

Datorn är en elektronisk apparat, så den förstår bara elektroniska signaler – binära signaler. En 5-volts elektronisk signal kan representera binärt tal 1, medan 0 volt kan representera binärt tal 0. Din dator bombarderas kontinuerligt med dessa signaler.

Binära signaler bearbetade av dator

Åtta bitar av dessa signaler grupperas för att tolka text, siffror och symboler.

Åtta-bitars groupping för text och symboler

Till exempel identifieras #-tecknet av datorn som 10101010. På liknande sätt representeras mönstret för en "addera"-funktion av 10000011.

Binär representation av datorinstruktioner

Detta kallas 8-bitars databehandling. Moderna processorer kan avkoda 64-bitars instruktioner åt gången. Så vad har detta koncept att göra med JavaLåt oss gå igenom ett exempel.

Anta att du vill be datorn att addera två tal (1 + 2) som representeras av några binära tal (10000011). Hur kommunicerar du det till din dator? Du använder assemblerspråk för att få din kod exekverad.

"Assembly Språk är den mest elementära formen av mjukvaruutvecklingsspråk."

Du utfärdar kommandon i följande format. Koden för att addera två tal i assemblerspråk skulle se ut så här:

Assembly exempel på språkadderering av två tal

  • Lagra nummer 1 på minnesplats A.
  • Lagra nummer 2 på minnesplats B.
  • Lägg ihop innehållet i platserna A och B.
  • Spara resultatet.

På 1950-talet, när datorer var enorma och strömslukande, konverterade man assemblerkod till motsvarande maskinkod (1:or och 0:or) med hjälp av mappning.ping ark. Koden stansades sedan in i maskinkort och matades in i datorn. Datorn läste dessa koder och körde programmet. Detta var en lång process – tills ASSEMBLERARE anlände för att automatisera konverteringen.

Vad är Assembler och Compiler?

Med tekniska framsteg uppfanns I/O-enheter. Du kunde skriva ditt program direkt i datorn med hjälp av ASSEMBLER, som konverterar det till motsvarande maskinkod (110001…) och matar det till din processor. För att återgå till vårt 1 + 2-exempel konverterar assemblern assemblerkoden till maskinkod som utdata.

Assembler konverterar assemblerkod till maskinkod

Utöver assembler måste du också göra anrop till funktioner som tillhandahålls av operativsystemet för att visa utdata.

Assemblern ensam räcker inte; den behöver också en KOMPILER för att komprimera lång källkod till mindre, optimerade bitar. Med programvaruutvecklingsspråk på högre nivå krymper hela assembler-kodavsnittet ovan till en enda rad, t.ex. printf("%d", 1+2)Kompilatorn konverterar din C-språk kod till assemblerkod; assemblern omvandlar sedan den till maskinkod transmitkopplad till processorn. Den vanligaste processorn som används i datorer är Intel-processorn.

Kompilator- och assemblerpipeline

Moderna kompilatorer paketerar ofta assemblern så att de kan konvertera språkkod på högre nivå direkt till maskinkod.

Anta nu Windows körs på en Intel-processor — kombinationen av operativsystem och processor kallas en PLATTFORM. Den vanligaste plattformen är Windows på Intel, även känd som Wintel-plattformen. Andra populära plattformar inkluderar AMD, Linux, PowerPC och macOS.

Med ett byte av processor ändras även monteringsanvisningarna. Till exempel:

  • Instruktionen ”add” på Intel kan kallas ADDITION på AMD.
  • Eller ”Math ADD” på PowerPC.

Och med ett byte av operativsystem ändras även nivån och karaktären av anrop på operativsystemnivå.

Som utvecklare vill du att din programvara ska fungera på alla plattformar för att maximera räckvidden. Det innebär att du skulle behöva köpa separata kompilatorer som konverterar dina printf kommandot i den ursprungliga maskinkoden för varje mål.

Kompilatorer med flera plattformar

Kompilatorer är dyra, och det finns alltid en risk för kompatibilitetsproblem mellan operativsystem. Att köpa och installera en separat kompilator för varje OS-processorkombination är inte praktiskt. Så vad är alternativet? Ange Java språk.

Hur gör det Java Fungerar en virtuell maskin?

Med hjälp av Java Virtuell maskin, detta problem kan lösas. Men hur fungerar det med olika processorer och operativsystem? Låt oss gå igenom det steg för steg.

Hur Java Virtuell maskin fungerar steg för steg

Steg 1) Koden för att visa additionen av två tal — System.out.println(1+2) — sparas som en .java fil.

Steg 2) Använda Java kompilator (javac), konverteras koden till mellanliggande kod som kallas bytekodUtgången är en .klass fil.

Steg 3) Denna bytekod förstås inte av någon fysisk plattform, bara av en virtuell plattform som kallas Java Virtuell maskin.

Steg 4) JVM:n finns i operativsystemets RAM-minne. När JVM:n matas med denna bytekod identifierar den plattformen den körs på och konverterar bytekoden till den ursprungliga maskinkoden direkt.

När du arbetar på din dator eller surfar på webben, när du ser Java-relaterade ikoner, kan du vara säker på att JVM:n är laddad i ditt RAM-minne. Vad gör Java attracDet viktiga är att kompilerad kod kan köras inte bara på alla PC-plattformar utan även på mobiler och andra elektroniska prylar som stöder Java.

"Java är ett programmeringsspråk såväl som en plattform.”

Hur är Java Plattformsoberoende?

Till skillnad från en C-kompilator, Java kompilatorn producerar inte inbyggd körbar kod för en viss maskin. I stället, Java producerar ett unikt mellanformat som kallas bytekodBytekoden exekveras enligt reglerna i JVM-specifikationen, vilket är anledningen till att Java är ett plattformsoberoende språk.

Bytekod är förståelig för alla JVM installerade på alla operativsystem. Kort sagt, Java källkoden kan köras på alla moderna operativsystem utan omkompilering, vilket är grunden för Javas löfte "skriv en gång, spring var som helst".

Vanliga frågor

JDK är utvecklingspaketet som innehåller kompilator och verktyg. JRE är runtime-miljön som inkluderar JVM och klassbibliotek som behövs för att köra Java program. JVM är motorn i JRE som konverterar bytekod till maskinkod vid körning.

Ja. Java är fortfarande mycket relevant för företagssystem, Android appar, finansiella plattformar, big data och mikrotjänster. Moderna utgåvor som Java 21 och Java 25 LTS lägger till poster, virtuella trådar, mönstermatchning och förbättrad prestanda för att hålla Java konkurrenskraftig.

Nybörjare bör installera en LTS-version (Long-Term Support). Java SE 25, släppt i september 2025, är den senaste LTS-versionen, med Java 21 och Java 17 används fortfarande flitigt. LTS-versioner får utökade säkerhetsuppdateringar och stabilt stöd från leverantörer.

AI används med Java för maskininlärning på företag, bedrägeriupptäckt, rekommendationsmotorer och chattrobotar. Bibliotek som DJL, Deeplearning4j och Tribuo ger djupinlärning till JVM, medan AI-kodningsassistenter snabbar upp Java refactoring och generering av enhetstester.

Ja. AI-kodningsassistenter förklarar Java syntax, generera övningsuppgifter, felsöka fel och granska kod i realtid. Nybörjare drar nytta av interaktiv feedback som belyser objektorienterade bästa praxis, JVM-beteende och vanliga misstag som traditionella läroböcker sällan lyfter fram.

Sammanfatta detta inlägg med: