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.

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 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.
Otte bits af disse signaler er grupperet sammen for at fortolke tekst, tal og symboler.
For eksempel identificeres #-tegnet af computeren som 10101010. Pรฅ samme mรฅde reprรฆsenteres mรธnsteret for en "add"-funktion af 10000011.
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:
- 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.
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.
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.
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.
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".








