Introduksjon til Java
โก Smart oppsummering
Introduksjon til Java forklarer et generelt, klassebasert, objektorientert programmeringssprรฅk som ogsรฅ fungerer som en dataplattform. Denne veiledningen dekker Javas historie, versjoner, funksjoner, kjernekomponenter (JDK, JVM, JRE), plattformutgaver og bytekodemekanismen som lager Java et ekte skriv-รฉn-gang-, kjรธr-hvor som helst-sprรฅk.

Hva er Java?
Java er et generelt, klassebasert, objektorientert programmeringssprรฅk designet for minimale implementeringsavhengigheter. Det er ogsรฅ en databehandlingsplattform for applikasjonsutvikling. Java er raskt, sikkert og pรฅlitelig, og det er derfor det driver programvare pรฅ bรฆrbare datamaskiner, datasentre, spillkonsoller, vitenskapelige superdatamaskiner, mobiltelefoner og innebygde enheter. Som et nettverkssentrisk sprรฅk for flere plattformer, Java er fortsatt et av de mest brukte programmeringssprรฅkene i bransjen og foretrekkes av de fleste organisasjoner for รฅ bygge forretningskritiske prosjekter.
Hva er den Java Plattform?
Ocuco Java Plattform er en samling av programmer som hjelper utviklere med รฅ lage og kjรธre Java applikasjoner effektivt. Den samler en utfรธrelsesmotor, en kompilator og et sett med biblioteker, sammen med spesifikasjonene som definerer hvordan de fungerer sammen. James Gosling utviklet Java plattformen hos Sun Microsystems, og Oracle Corporation kjรธpte det opp gjennom Sun-oppkjรธpet i 2009.
Denne videoen introduserer Java plattform og forklarer hvorfor Java er bรฅde en plattform og et programmeringssprรฅk:
Klikk her. hvis videoen ikke er tilgjengelig.
Hva er Java Brukt til?
Her er noen av de viktigste bruksomrรฅdene i den virkelige verden Java:
- Utviklingping Android apps.
- Bygging av bedriftsprogramvare for store organisasjoner.
- Driver et bredt spekter av mobiler Java applikasjoner.
- Kjรธrer vitenskapelige databehandlingsapplikasjoner.
- Driver analyseprosesser for stordata.
- Programmering av innebygde maskinvareenheter.
- Serversideteknologier som Apache, JBoss, GlassFish og Tomcat.
Historien om Java Programmeringssprรฅk
Her er de viktigste landemerkene fra historien til Java Sprรฅk:
- Ocuco Java sprรฅk ble opprinnelig kalt OAK.
- Den ble opprinnelig utviklet for hรฅndtering av bรฆrbare enheter og set-top-bokser, der OAK var en kommersiell fiasko.
- I 1995 ga Sun sprรฅket nytt navn til ยซJavaog fokuserte det pรฅ nytt for รฅ dra nytte av det raskt voksende verdensveven.
- I 2009, Oracle Corporation kjรธpte Sun Microsystems og tok eierskap av tre viktige Sun-programvareressurser: Java, MySQLog Solaris.
Java versjoner
Her er en kort historie om Java versjoner og utgivelsesdatoer, oppdatert gjennom den nyeste langsiktige stรธtteutgivelsen:
| Java Versjon | Utgivelsesdato |
|---|---|
| JDK Alpha og Beta | 1995 |
| JDK1.0 | 23 januar 1996 |
| JDK1.1 | 19th Feb 1997 |
| J2SE 1.2 | 8th desember 1998 |
| J2SE 1.3 | 8th mai 2000 |
| J2SE 1.4 | 6th Feb 2002 |
| J2SE 5.0 | 30th Sep 2004 |
| Java SE 6 | 11th desember 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 Funksjoner
Her er noen av de viktigste Java funksjoner som har holdt den relevant i nesten tre tiรฅr:
- Det er et av de enkleste objektorienterte programmeringssprรฅkene รฅ lรฆre.
- ยซSkriv รฉn gang, kjรธr hvor som helstยป โ kode kompilert pรฅ รฉn maskin kjรธrer pรฅ nesten hvilken som helst dataplattform.
- Java er plattformuavhengig takket vรฆre sin bytekode-utfรธrelsesmodell.
- Den er designet fra grunnen av for objektorienterte applikasjoner.
- Det er et flertrรฅdet sprรฅk med automatisk minnehรฅndtering (sรธppeltรธmming).
- Den ble laget for det distribuerte miljรธet pรฅ internett.
- Det forenkler distribuert databehandling pรฅ grunn av sin nettverkssentriske design.
Komponenter av Java Programmeringssprรฅk
A Java programmerer skriver kode i et menneskelig lesbart sprรฅk som kalles kildekodenCPU-en forstรฅr aldri kildekoden direkte โ CPU-er kjรธrer bare maskinkode, og den maskinkoden er forskjellig pรฅ tvers av CPU-familier. For รฅ bygge bro over dette gapet, Java Plattformen oversetter kildekode til en bรฆrbar mellomliggende form. Alt dette skjer i tre kjernekomponenter: JDK, JVM og JRE.
Java Utviklingssett (JDK)
JDK er et programvareutviklingsmiljรธ som brukes til รฅ bygge applets og Java applikasjoner. Den fullstendige formen for JDK er Java Utviklingssett. Java utviklere kan bruke den pรฅ Windows, macOS, Solarisog Linux. JDK hjelper dem med รฅ kode og kjรธre Java programmer. Det er mulig รฅ installere mer enn รฉn JDK-versjon pรฅ samme datamaskin.
Hvorfor bruke JDK?
- JDK inneholder verktรธyene som kreves for รฅ skrive Java programmer og en JRE for รฅ kjรธre dem.
- Den inkluderer en kompilator (
javac), Den Java programstarter, AppletViewer og lignende verktรธy. - Kompilatoren konverterer kode skrevet i Java inn i bytekode.
- Ocuco Java programstarter รฅpner en JRE, laster den nรธdvendige klassen og kjรธrer hovedmetoden.
Java Virtuell maskin (JVM)
Ocuco Java Virtuell maskin (JVM) er en motor som gir et kjรธremiljรธ for รฅ kjรธre Java kode eller applikasjoner. Den konverterer Java bytekode til maskinsprรฅk. JVM-en er en del av Java Runtime Environment (JRE). I andre programmeringssprรฅk produserer kompilatoren maskinkode for et bestemt system. Imidlertid Java kompilatoren produserer kode for en virtuell maskin kjent som Java Virtuell maskin.
Hvorfor JVM?
- JVM gir en plattformuavhengig mรฅte รฅ utfรธre Java kildekode.
- Den har en rekke biblioteker, verktรธy og rammeverk tilgjengelig rett ut av boksen.
- Nรฅr du har kompilert en Java programmet kan du kjรธre det pรฅ hvilken som helst plattform, noe som sparer betydelig tid.
- JVM leveres med en JIT (Just-In-Time)-kompilator som konverterer bytekode til lavnivรฅ maskinsprรฅk under kjรธretid, noe som ofte gjรธr at den kjรธrer raskere enn et tolket program.
Java Runtime Environment (JRE)
JRE er et program som er utviklet for รฅ kjรธre annen programvare. Det inneholder klassebibliotekene, loader-klassen og JVM. Enkelt sagt, hvis du bare vil kjรธre en Java program (og ikke utvikle et), trenger du JRE i stedet for hele JDK-en.
Hvorfor bruke JRE?
- JRE inneholder klassebiblioteker, JVM og andre stรธttefiler. Den inkluderer ikke utviklerverktรธy som feilsรธkingsprogram eller kompilator.
- Den bruker viktige pakkeklasser, inkludert
math,swing,util,lang,awtog kjรธretidsbiblioteker. - Hvis du mรฅ lรธpe Java appleter eller applikasjoner, mรฅ JRE vรฆre installert pรฅ systemet ditt.
Ulike typer Java Plattformer
Det er fire forskjellige Java programmeringssprรฅkplattformer, hver innstilt pรฅ et annet distribusjonsmรฅl:
1. Java Plattform, standardutgave (Java SE): Java SEs API tilbyr Java programmeringssprรฅkets kjernefunksjonalitet. Det definerer alt fra basistyper og objekter til klasser pรฅ hรธyt nivรฅ som brukes til nettverk, sikkerhet, databasetilgang, utvikling av grafisk brukergrensesnitt (GUI) og XML-parsing.
2. Java Plattform, Enterprise Edition (Jakarta EE, tidligere Java EE): Jakarta EE-plattformen tilbyr et API og kjรธretidsmiljรธ for utviklingping og kjรธrer svรฆrt skalerbare, storskala, flerlags, pรฅlitelige og sikre nettverksapplikasjoner. Oracle overfรธrte plattformen til Eclipse Foundation i 2017, som omdรธpte det til Jakarta EE.
3. Java Plattform, Micro Edition (Java MEG): Ocuco Java ME-plattformen tilbyr et API og en virtuell maskin med liten fotavtrykk for kjรธring Java applikasjoner pรฅ smรฅ enheter som funksjonstelefoner og innebygde kontrollere.
4. JavaFX: JavaFX er en plattform for utviklingping rike internettapplikasjoner ved hjelp av et lett brukergrensesnitt-API. Den bruker maskinvareakselerert grafikk og mediemotorer som hjelper Java dra nytte av klienter med hรธyere ytelse, et moderne utseende og preg, og API-er pรฅ hรธyt nivรฅ for tilkobling til nettverkstilkoblede datakilder.
For รฅ forstรฅ Java programmeringssprรฅk, mรฅ vi se pรฅ noen grunnleggende konsepter om hvordan et dataprogram kjรธrer kommandoer og utfรธrer handlinger.
Hva er en PC?
En datamaskin er en elektronisk enhet som kan utfรธre beregninger. Den bestรฅr av en skjerm, tastatur, mus og minne for รฅ lagre informasjon. Den viktigste komponenten er imidlertid PROSESSOREN. Prosessoren utfรธrer all datamaskinens tenkning โ men hvordan gjรธr den egentlig den tenkningen? Hvordan forstรฅr den tekst, bilder og videoer?

Hva er Assembly Sprรฅk?
Datamaskinen er en elektronisk enhet, sรฅ den forstรฅr bare elektroniske signaler โ binรฆre signaler. Et elektronisk signal pรฅ 5 volt kan representere binรฆrt tall 1, mens 0 volt kan representere binรฆrt tall 0. PC-en din blir kontinuerlig bombardert med disse signalene.
ร tte biter av disse signalene er gruppert sammen for รฅ tolke tekst, tall og symboler.
For eksempel identifiseres #-tegnet av datamaskinen som 10101010. Pรฅ samme mรฅte representeres mรธnsteret for en ยซlegg tilยป-funksjon av 10000011.
Dette er kjent som 8-bit databehandling. Moderne prosessorer er i stand til รฅ dekode 64-bit instruksjoner om gangen. Sรฅ hva har dette konseptet รฅ gjรธre med JavaLa oss se pรฅ et eksempel.
Anta at du vil be datamaskinen om รฅ legge sammen to tall (1 + 2) representert av noen binรฆre tall (10000011). Hvordan kommuniserer du dette til datamaskinen din? Du bruker assemblersprรฅk for รฅ fรฅ koden din utfรธrt.
"Assembly Sprรฅk er den mest elementรฆre formen for programvareutviklingssprรฅk."
Du bruker kommandoer i fรธlgende format. Koden for รฅ addere to tall i assemblersprรฅk vil se slik ut:
- Lagre nummer 1 pรฅ minneplassering A.
- Lagre nummer 2 pรฅ minneplassering B.
- Legg sammen innholdet i lokasjonene A og B.
- Lagre resultatet.
Tilbake pรฅ 1950-tallet, da datamaskiner var enorme og strรธmkrevende, konverterte du monteringskode til tilsvarende maskinkode (1-ere og 0-ere) ved hjelp av map.ping ark. Koden ble deretter stanset inn i maskinkort og matet til datamaskinen. Datamaskinen leste disse kodene og kjรธrte programmet. Dette var en lang prosess โ helt til ASSEMBLEREN kom for รฅ automatisere konverteringen.
Hva er Assembler og Compiler?
Med teknologiske fremskritt ble I/O-enheter oppfunnet. Du kunne skrive programmet ditt direkte inn i PC-en ved hjelp av ASSEMBLER, som konverterer det til tilsvarende maskinkode (110001โฆ) og sender det til prosessoren din. For รฅ gรฅ tilbake til vรฅrt 1 + 2-eksempel, konverterer assembleren assemblerkoden til maskinkode som utdata.
Utover montering mรฅ du ogsรฅ kalle til operativsystemleverte funksjoner for รฅ vise utdataene.
Assembleren alene er ikke nok; den trenger ogsรฅ en KOMPILER for รฅ komprimere lang kildekode til mindre, optimaliserte biter. Med programvareutviklingssprรฅk pรฅ hรธyere nivรฅ krymper hele assembler-kodebiten ovenfor til รฉn enkelt linje, for eksempel printf(โ%dโ, 1+2)Kompilatoren konverterer din C-sprรฅk kode til assemblerkode; assembleren konverterer deretter dette til maskinkode transmitknyttet til prosessoren. Den vanligste prosessoren som brukes i PC-er er Intel-prosessoren.
Moderne kompilatorer pakker ofte assembleren sammen slik at de kan konvertere sprรฅkkode pรฅ hรธyere nivรฅ direkte til maskinkode.
Nรฅ, anta Windows kjรธrer pรฅ en Intel-prosessor โ kombinasjonen av operativsystem og prosessor kalles en PLATTFORM. Den vanligste plattformen er Windows pรฅ Intel, ogsรฅ kjent som Wintel-plattformen. Andre populรฆre plattformer inkluderer AMD, Linux, PowerPC og macOS.
Med en endring av prosessor endres ogsรฅ monteringsanvisningen. For eksempel:
- ยซLegg tilยป-instruksjonen pรฅ Intel kan kalles ADDITION pรฅ AMD.
- Eller ยซMatematikk ADDยป pรฅ PowerPC.
Og med en endring i operativsystemet endres ogsรฅ nivรฅet og naturen til OS-nivรฅkall.
Som utvikler รธnsker du at programvaren din skal fungere pรฅ alle plattformer for รฅ maksimere rekkevidden. Det betyr at du mรฅ kjรธpe separate kompilatorer som konverterer printf kommandoen i den innebygde maskinkoden for hvert mรฅl.
Kompilatorer er dyre, og det er alltid en risiko for kompatibilitetsproblemer pรฅ tvers av operativsystemer. Det er ikke praktisk รฅ kjรธpe og installere en separat kompilator for hver OS-prosessor-kombinasjon. Sรฅ hva er alternativet? Skriv inn Java Sprรฅk.
Hvordan gjรธr Java Virtuell maskin fungerer?
Ved รฅ bruke Java Virtuell maskin, dette problemet kan lรธses. Men hvordan fungerer det pรฅ tvers av forskjellige prosessorer og operativsystemer? La oss gรฅ gjennom det trinn for trinn.
Trinn 1) Koden for รฅ vise addisjonen av to tall โ System.out.println(1+2) โ er lagret som en .java filen.
Trinn 2) Bruke Java kompilator (javac), blir koden konvertert til mellomliggende kode kalt BytecodeUtgangen er en .klasse filen.
Trinn 3) Denne bytekoden forstรฅs ikke av noen fysisk plattform, bare av en virtuell plattform kalt Java Virtuell maskin.
Trinn 4) JVM-en ligger i RAM-en i operativsystemet ditt. Nรฅr JVM-en mates med denne bytekoden, identifiserer den plattformen den kjรธrer pรฅ og konverterer bytekoden til den opprinnelige maskinkoden pรฅ farten.
Mens du jobber pรฅ PC-en eller surfer pรฅ nettet, nรฅr du ser Java-relaterte ikoner, kan du vรฆre sikker pรฅ at JVM-en er lastet inn i RAM-en din. Hva gjรธr Java attracDet viktigste er at kompilert kode kan kjรธres ikke bare pรฅ alle PC-plattformer, men ogsรฅ pรฅ mobiltelefoner og andre elektroniske dingser som stรธtter Java.
"Java er et programmeringssprรฅk sรฅ vel som en plattform.ยป
Hvordan er Java Plattformuavhengig?
I motsetning til en C-kompilator, Java kompilatoren produserer ikke innfรธdt kjรธrbar kode for en bestemt maskin. I stedet, Java produserer et unikt mellomformat kalt BytecodeBytekoden kjรธres i henhold til reglene som er angitt i JVM-spesifikasjonen, og det er derfor Java er et plattformuavhengig sprรฅk.
Bytekode er forstรฅelig for enhver JVM installert pรฅ ethvert operativsystem. Kort sagt, Java kildekoden kan kjรธres pรฅ alle moderne operativsystemer uten rekompilering, som er grunnlaget for Javasitt lรธfte om รฅ ยซskrive รฉn gang, lรธpe hvor som helstยป.








