Introduktion til Java

⚡ Smart opsummering

Introduktion til Java forklarer et generelt, klassebaseret, objektorienteret programmeringssprog, der også fungerer som en computerplatform. Denne vejledning dækker Javas historie, versioner, funktioner, kernekomponenter (JDK, JVM, JRE), platformudgaver og bytecode-mekanismen, der gør Java et ægte skriv-én-gang, kør-hvor som helst sprog.

  • ☕ Kernedefinition: Java er et generelt, klassebaseret, objektorienteret programmeringssprog og en runtime-platform, der er konstrueret til bærbarhed og pålidelighed.
  • 🧩 Tre komponenter: Java Platformen omfatter JDK til udvikling, JVM til udførelse og JRE til runtime-support.
  • 📜 Historiske højdepunkter: Oprindeligt kaldet OAK i 1991, omdøbt Java i 1995 og opkøbt af Oracle fra Sun Microsystems i 2009.
  • 🌐 Fire udgaver: Java SE, Java EE (nu Jakarta EE), Java MIG, og JavaFX er målrettet desktops, virksomhedssystemer, indlejrede enheder og rich-klienter.
  • 🔁 Platformuafhængighed: Java kildekode kompilerer til bytekode, der kører på enhver JVM, hvilket muliggør ægte write-once, run-overalt-portabilitet på tværs af operativsystemer.

Introduktion til Java - Hvordan Java Virtuel maskine fungerer

Hvad er Java?

Java er et generelt, klassebaseret, objektorienteret programmeringssprog designet til minimale implementeringsafhængigheder. Det er også en computerplatform til applikationsudvikling. Java er hurtig, sikker og pålidelig, hvilket er grunden til, at den driver software på bærbare computere, datacentre, spillekonsoller, videnskabelige supercomputere, mobiltelefoner og indlejrede enheder. Som et multiplatform, netværkscentreret sprog, Java er fortsat et af de mest udbredte programmeringssprog i branchen og foretrækkes af de fleste organisationer til at bygge missionskritiske projekter.

Hvad er det Java Platform?

Java perron er en samling af programmer, der hjælper udviklere med at oprette og køre Java applikationer effektivt. Den samler en udførelsesmotor, en compiler og et sæt biblioteker, sammen med de specifikationer, der definerer, hvordan de fungerer sammen. James Gosling udviklede Java platform hos Sun Microsystems, og Oracle Corporation erhvervede det gennem Sun-opkøbet i 2009.

Denne video introducerer Java perron og forklarer hvorfor Java er både en platform og et programmeringssprog:

Klik link. hvis videoen ikke er tilgængelig.

Hvad er Java Anvendes til?

Her er nogle af de vigtigste anvendelser i den virkelige verden af Java:

  • Udviklingping Android apps.
  • Udvikling af virksomhedssoftware til store organisationer.
  • Driver en bred vifte af mobile enheder Java applikationer.
  • Kørsel af videnskabelige databehandlingsapplikationer.
  • Driver pipelines for big data-analyse.
  • Programmering af indlejrede hardwareenheder.
  • Server-side teknologier som Apache, JBoss, GlassFish og Tomcat.

Historien om Java Programmeringssprog

Her er de vigtige milepæle fra historien om Java Sprog:

  • Java sprog blev oprindeligt kaldt OAK.
  • Det blev oprindeligt udviklet til håndtering af bærbare enheder og set-top-bokse, hvor OAK var en kommerciel fiasko.
  • I 1995 omdøbte Sun sproget til “Java" og omfokuserede det for at drage fordel af det hurtigt voksende World Wide Web.
  • I 2009, blev Oracle Corporation købte Sun Microsystems og tog ejerskabet af tre centrale Sun-softwareaktiver: Java, MySQLog Solaris.

Java versioner

Her er en kort historie om Java versioner og deres udgivelsesdatoer, opdateret gennem den seneste langsigtede supportudgivelse:

Java Version Slip Dato
JDK Alpha og Beta 1995
JDK 1.0 23rd Jan 1996
JDK 1.1 19th februar 1997
J2SE 1.2 8th december 1998
J2SE 1.3 8th May 2000
J2SE 1.4 6th februar 2002
J2SE 5.0 30th september 2004
Java SE 6 11th december 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 september 2018
Java SE 12 19th Mar 2019
Java SE 13 17th september 2019
Java SE 14 17th Mar 2020
Java SE 15 15th september 2020
Java SE 16 16th Mar 2021
Java SE 17 (LTS) 14th september 2021
Java SE 18 22 marts 2022
Java SE 19 20th september 2022
Java SE 20 21 marts 2023
Java SE 21 (LTS) 19th september 2023
Java SE 22 19th Mar 2024
Java SE 23 17th september 2024
Java SE 24 18th Mar 2025
Java SE 25 (LTS) 16th september 2025

Java Funktionalitet

Her er nogle af de vigtigste Java Funktioner, der har holdt den relevant i næsten tre årtier:

  • Det er et af de nemmeste objektorienterede programmeringssprog at lære.
  • "Skriv én gang, kør hvor som helst" - kode kompileret på én maskine kører på næsten enhver computerplatform.
  • Java er platformuafhængig takket være sin bytecode-udførelsesmodel.
  • Det er designet fra bunden til objektorienterede applikationer.
  • Det er et flertrådet sprog med automatisk hukommelsesstyring (garbage collection).
  • Det blev skabt til internettets distribuerede miljø.
  • Det letter distribueret databehandling på grund af dets netværkscentrerede design.

Komponenter af Java Programmeringssprog

A Java programmør skriver kode i et menneskelæsbart sprog kaldet kildekodeCPU'en forstår aldrig kildekode direkte — CPU'er kører kun maskinkode, og den maskinkode varierer på tværs af CPU-familier. For at bygge bro over denne kløft, Java Platformen oversætter kildekode til en bærbar mellemliggende form. Alt dette sker inden for tre kernekomponenter: JDK, JVM og JRE.

Java Udviklingssæt (JDK)

JDK er et softwareudviklingsmiljø, der bruges til at bygge applets og Java applikationer. Den fulde form for JDK er Java Udviklingssæt. Java udviklere kan bruge det på Windows, macOS, Solarisog Linux. JDK hjælper dem med at kode og køre Java programmer. Det er muligt at installere mere end én JDK-version på samme computer.

Hvorfor bruge JDK?

  • JDK indeholder de værktøjer, der kræves for at skrive Java programmer og en JRE til at udføre dem.
  • Den indeholder en compiler (javac), Den Java programstarter, AppletViewer og lignende værktøjer.
  • Compileren konverterer kode skrevet i Java ind i bytekode.
  • Java programstarteren åbner en JRE, indlæser den nødvendige klasse og udfører dens hovedmetode.

Java Virtuel maskine (JVM)

Java Virtuel maskine (JVM) er en motor, der giver et køremiljø til at køre Java kode eller applikationer. Den konverterer Java bytekode til maskinsprog. JVM'en er en del af Java Runtime Environment (JRE). I andre programmeringssprog producerer compileren maskinkode til et bestemt system. Imidlertid Java compileren producerer kode til en virtuel maskine kendt som Java Virtuel maskine.

Hvorfor JVM?

  • JVM giver en platformsuafhængig måde at eksekvere på Java kildekode.
  • Den har adskillige biblioteker, værktøjer og frameworks tilgængelige lige fra starten.
  • Når du har kompileret en Java program, kan du køre det på enhver platform, hvilket sparer betydelig tid.
  • JVM leveres med en JIT (Just-In-Time) compiler, der konverterer bytekode til lavniveau-maskinsprog under kørsel, hvilket ofte får den til at køre hurtigere end en fortolket applikation.

Java Runtime Environment (JRE)

JRE er et stykke software designet til at køre anden software. Det indeholder klassebibliotekerne, loader-klassen og JVM. Kort sagt, hvis du kun vil køre en Java program (og ikke udvikle et), har du brug for JRE i stedet for den fulde JDK.

Hvorfor bruge JRE?

  • JRE indeholder klassebiblioteker, JVM og andre understøttende filer. Det inkluderer ikke udviklerværktøjer såsom en debugger eller compiler.
  • Den bruger vigtige pakkeklasser, herunder math, swing, util, lang, awtog runtime-biblioteker.
  • Hvis du skal løbe Java applets eller applikationer, skal JRE være installeret på dit system.

Forskellige typer af Java Platforme

Der er fire forskellige Java programmeringssprogsplatforme, der hver især er indstillet til et forskelligt implementeringsmål:

1. Java Platform, Standard Edition (Java SE): Java SE's API tilbyder Java programmeringssprogets kernefunktionalitet. Det definerer alt fra basistyper og objekter til klasser på højt niveau, der bruges til netværk, sikkerhed, databaseadgang, udvikling af grafisk brugergrænseflade (GUI) og XML-parsing.

2. Java Platform, Enterprise Edition (Jakarta EE, tidligere Java EE): Jakarta EE-platformen tilbyder et API- og runtime-miljø til udviklingping og kører meget skalerbare, store, flerlags, pålidelige og sikre netværksapplikationer. Oracle overførte platformen til Eclipse Foundation i 2017, som omdøbte det til Jakarta EE.

3. Java Platform, Micro Edition (Java MIG): Java ME-platformen tilbyder en API og en virtuel maskine med lille fodaftryk til kørsel Java applikationer på små enheder såsom funktionstelefoner og indlejrede controllere.

4. JavaFX: JavaFX er en platform til udviklingping avancerede internetapplikationer ved hjælp af en let brugergrænseflade-API. Den bruger hardwareaccelererede grafik- og mediemotorer, der hjælper Java Drag fordel af klienter med højere ydeevne, et moderne udseende og API'er på højt niveau til at oprette forbindelse til netværksforbundne datakilder.

For at forstå Java programmeringssprog, er vi nødt til at genoverveje nogle grundlæggende begreber om, hvordan et computerprogram kører kommandoer og udfører handlinger.

Hvad er en pc?

En computer er en elektronisk enhed, der er i stand til at udføre beregninger. Den består af en skærm, et tastatur, en mus og en hukommelse til at lagre information. Den vigtigste komponent er dog PROCESSOREN. Processoren udfører al computerens tænkning - men hvordan gør den rent faktisk den tænkning? Hvordan forstår den tekst, billeder og videoer?

Hvad er en pc - kernekomponenter
Hvad er pc?

Hvad er Assembly Sprog?

Computeren er en elektronisk enhed, så den forstår kun elektroniske signaler – binære signaler. Et elektronisk signal på 5 volt kan repræsentere det binære tal 1, mens 0 volt kan repræsentere det binære tal 0. Din pc bliver konstant bombarderet med disse signaler.

Binære signaler behandlet af computeren

Otte bits af disse signaler er grupperet sammen for at fortolke tekst, tal og symboler.

Otte-bit groupping til tekst og symboler

For eksempel identificeres #-tegnet af computeren som 10101010. På samme måde repræsenteres mønsteret for en "add"-funktion af 10000011.

Binær repræsentation af computerinstruktioner

Dette kaldes 8-bit computing. Moderne processorer er i stand til at afkode 64-bit instruktioner ad gangen. Så hvad har dette koncept at gøre med JavaLad os gennemgå et eksempel.

Forestil dig, at du vil bede computeren om at lægge to tal (1 + 2) sammen, der er repræsenteret af nogle binære tal (10000011). Hvordan kommunikerer du det til din computer? Du bruger assemblersprog til at få din kode udført.

"Assembly Sprog er den mest elementære form for softwareudviklingssprog."

Du udfører kommandoer i følgende format. Koden til at addere to tal i assembly-sprog ville se sådan ud:

Assembly Eksempel på sprogaddition med to tal

  • Gem nummer 1 på hukommelseslokation A.
  • Gem nummer 2 på hukommelseslokation B.
  • Læg indholdet af lokation A og B sammen.
  • Gem resultatet.

Tilbage i 1950'erne, da computere var enorme og strømkrævende, konverterede man assembly-kode til tilsvarende maskinkode (1'ere og 0'ere) ved hjælp af map-kode.ping ark. Koden blev derefter stanset ind i maskinkort og ført til computeren. Computeren læste disse koder og udførte programmet. Dette var en lang proces - indtil ASSEMBLEREN ankom for at automatisere konverteringen.

Hvad er Assembler og Compiler?

Med teknologiske fremskridt blev I/O-enheder opfundet. Du kunne skrive dit program direkte ind i pc'en ved hjælp af ASSEMBLER, som konverterer det til tilsvarende maskinkode (110001…) og sender det til din processor. Tilbage til vores 1 + 2-eksempel konverterer assembleren assembly-koden til maskinkode som output.

Assembler konverterer assemblerkode til maskinkode

Ud over assembly skal du også foretage kald til funktioner leveret af operativsystemet for at vise outputtet.

Assembleren alene er ikke nok; den har også brug for en COMPILER til at komprimere lang kildekode til mindre, optimerede bidder. Med softwareudviklingssprog på højere niveau krymper hele assembler-kodestykket ovenfor til en enkelt linje, f.eks. printf("%d", 1+2)Compileren konverterer din C-sprog kode til assemblerkode; assembleren konverterer det derefter til maskinkode transmitknyttet til processoren. Den mest almindelige processor, der bruges i pc'er, er Intel-processoren.

Compiler- og assembler-pipeline

Moderne compilere samler ofte assembleren, så de kan konvertere sprogkode på højere niveau direkte til maskinkode.

Forestil dig nu, Windows kører på en Intel-processor — kombinationen af ​​operativsystem plus processor kaldes en PLATFORM. Den mest almindelige platform er Windows på Intel, også kendt som Wintel-platformen. Andre populære platforme inkluderer AMD, Linux, PowerPC og macOS.

Med et skift af processor ændres også samlevejledningen. For eksempel:

  • "Add"-instruktionen på Intel kan kaldes ADDITION på AMD.
  • Eller “Math ADD” på PowerPC.

Og med en ændring i operativsystemet ændres niveauet og arten af ​​kald på OS-niveau også.

Som udvikler ønsker du, at din software skal fungere på alle platforme for at maksimere rækkevidden. Det betyder, at du bliver nødt til at købe separate compilere, der konverterer dine printf kommandoen i den native maskinkode for hvert mål.

Flere platforms compilere

Compilere er dyre, og der er altid en risiko for kompatibilitetsproblemer på tværs af operativsystemer. Det er ikke praktisk at købe og installere en separat compiler for hver OS-processor-kombination. Så hvad er alternativet? Indtast Java Sprog.

Hvordan virker Java Virker en virtuel maskine?

Ved anvendelse af Java Virtual Machine, dette problem kan løses. Men hvordan fungerer det på tværs af forskellige processorer og operativsystemer? Lad os gennemgå det trin for trin.

Hvordan Java Virtuel maskine fungerer trin for trin

Trin 1) Koden til at vise additionen af ​​to tal — System.out.println(1+2) — gemmes som en .java fil.

Trin 2) Brug af Java kompilator (javac), konverteres koden til mellemliggende kode kaldet bytekodeOutputtet er en .klasse fil.

Trin 3) Denne bytekode forstås ikke af nogen fysisk platform, kun af en virtuel platform kaldet Java Virtual Machine.

Trin 4) JVM'en findes i RAM'en i dit operativsystem. Når JVM'en modtager denne bytekode, identificerer den den platform, den kører på, og konverterer bytekoden til den native maskinkode undervejs.

Mens du arbejder på din pc eller surfer på nettet, når du ser Java-relaterede ikoner, kan du være sikker på, at JVM'en er indlæst i din RAM. Hvad gør Java attracDet afgørende er, at kompileret kode ikke kun kan køre på alle pc-platforme, men også på mobiltelefoner og andre elektroniske gadgets, der understøtter Java.

"Java er både et programmeringssprog og en platform.”

Hvordan er Java Platform uafhængig?

I modsætning til en C-compiler, Java compileren producerer ikke indbygget eksekverbar kode til en bestemt maskine. I stedet, Java producerer et unikt mellemformat kaldet bytekodeBytekoden udføres i henhold til reglerne i JVM-specifikationen, hvilket er grunden til Java er et platformsuafhængigt sprog.

Bytekode er forståelig for enhver JVM installeret på ethvert operativsystem. Kort sagt, Java Kildekoden kan køre på alle moderne operativsystemer uden rekompilering, hvilket er fundamentet for Java's løfte om "skriv én gang, løb hvor som helst".

Ofte Stillede Spørgsmål

JDK er et udviklingssæt, der indeholder compiler og værktøjer. JRE er runtime-miljøet, der indeholder den JVM og klassebiblioteker, der er nødvendige for at udføre Java programmer. JVM er den motor i JRE, der konverterer bytekode til native maskinkode under kørsel.

Ja. Java fortsat yderst relevant for virksomhedssystemer, Android apps, finansielle platforme, big data og mikrotjenester. Moderne udgivelser som f.eks. Java 21 og Java 25 LTS tilføjer poster, virtuelle tråde, mønstermatchning og forbedret ydeevne for at holde Java konkurrencedygtige.

Begyndere bør installere en LTS-udgivelse (Long-Term Support). Java SE 25, udgivet i september 2025, er den seneste LTS-version, med Java 21 og Java 17 stadig meget brugt. LTS-versioner modtager udvidede sikkerhedsrettelser og stabil support fra leverandører.

AI bruges med Java til maskinlæring i virksomheder, svindeldetektering, anbefalingsmotorer og chatbots. Biblioteker som DJL, Deeplearning4j og Tribuo bringer deep learning til JVM'en, mens AI-kodningsassistenter fremskynder Java refactoring og generering af enhedstest.

Ja. AI-kodningsassistenter forklarer Java syntaks, generere øvelser, debugge fejl og gennemgå kode i realtid. Begyndere drager fordel af interaktiv feedback, der fremhæver objektorienterede bedste praksisser, JVM-adfærd og almindelige fejl, som traditionelle lærebøger sjældent viser.

Opsummer dette indlæg med: