Introduktion till Java

Vad รคr Java?

Java รคr ett allmรคnt klassbaserat, objektorienterat programmeringssprรฅk designat fรถr att ha mindre implementeringsberoende. Det รคr en datorplattform fรถr applikationsutveckling. Java รคr dรคrfรถr snabb, sรคker och pรฅlitlig. Det anvรคnds ofta fรถr att utveckla Java applikationer i bรคrbara datorer, datacenter, spelkonsoler, vetenskapliga superdatorer, mobiltelefoner, etc.

Vad รคr Java Plattform?

Java plattform รคr en samling program som hjรคlper programmerare att utveckla och kรถra Java programmera applikationer effektivt. Den innehรฅller en exekveringsmotor, en kompilator och en uppsรคttning bibliotek. Det รคr en uppsรคttning datorprogramvara och specifikationer. James Gosling utvecklade Java plattform pรฅ Sun Microsystems och Oracle Corporation fรถrvรคrvade det senare.

Den hรคr videon introducerar Java plattformoch fรถrklarar varfรถr Java รคr en plattform sรฅvรคl som ett programmeringssprรฅk.

Klicka hรคr. om videon inte รคr tillgรคnglig

Java Definition och betydelse

Java รคr ett flerplattforms-, objektorienterat och nรคtverkscentrerat sprรฅk. Det รคr ett av de mest anvรคnda programmeringssprรฅken. Java anvรคnds ocksรฅ som en datorplattform.

Det anses vara ett av de snabba, sรคkra och pรฅlitliga programmeringssprรฅken som fรถredras av de flesta organisationer fรถr att bygga sina projekt.

Vad รคr Java anvรคnds fรถr?

Hรคr รคr nรฅgra viktiga Java applikationer:

  • Det anvรคnds fรถr att utveckla Android appar
  • Hjรคlper dig att skapa Enterprise Software
  • Brett utbud av mobila java-applikationer
  • Vetenskapliga datortillรคmpningar
  • Anvรคnd fรถr Big Data Analytics
  • Java Programmering av hรฅrdvaruenheter
  • Anvรคnds fรถr Server-Side Technologies som Apache, JBoss, GlassFish, etc.

Historien om Java PROGRAMMERINGSSPRร…K

Hรคr finns viktiga landmรคrken frรฅn historien om Java sprรฅk:

  • Ocuco-landskapet Java sprรฅket kallades frรฅn bรถrjan OAK.
  • Ursprungligen utvecklades den fรถr att hantera bรคrbara enheter och set-top-boxar. Ek var ett stort misslyckande.
  • 1995 bytte Sun namnet till "Javaโ€ och modifierade sprรฅket fรถr att dra fรถrdel av den spirande utvecklingsverksamheten www (World Wide Web).
  • Later2009, 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 kort historik รถver alla Java versioner med dess releasedatum.

Java versioner 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 18th Mar 2014
Java SE 9 21st september 2017
Java SE 10 20th Mar 2018
JAVA SE 11 25th Sep 2018
JAVA SE 12 19th Mar 2019
JAVA SE 13 17th Sep 2019
JAVA SE 14 17th Mar 2020
JAVA SE 15 15 september 2020 (senast Java Version)

Java Funktioner

Hรคr รคr nรฅgra viktiga Java funktioner:

  • Det รคr ett av de lรคttanvรคnda programmeringssprรฅken att lรคra sig.
  • Skriv kod en gรฅng och kรถr den pรฅ nรคstan vilken datorplattform som helst.
  • Java รคr plattformsoberoende. Vissa program utvecklade i en maskin kan kรถras i en annan maskin.
  • Den รคr designad fรถr att bygga objektorienterade applikationer.
  • Det รคr ett flertrรฅdigt sprรฅk med automatisk minneshantering.
  • Den รคr skapad fรถr den distribuerade miljรถn pรฅ Internet.
  • Underlรคttar distribuerad datoranvรคndning eftersom den รคr nรคtverkscentrerad.

Komponenter av Java PROGRAMMERINGSSPRร…K

A Java Programmerare skriver ett program pรฅ ett lรคsbart sprรฅk som kallas kรคllkod. Dรคrfรถr fรถrstรฅr CPU eller chips aldrig kรคllkoden som รคr skriven i nรฅgon programmeringssprรฅk. Dessa datorer eller chips fรถrstรฅr bara en sak, som kallas maskinsprรฅk eller kod. Dessa maskinkoder kรถrs pรฅ CPU-nivรฅ. Dรคrfรถr skulle det vara olika maskinkoder fรถr andra CPU-modeller.

Du behรถver dock inte oroa dig fรถr maskinkoden, eftersom programmering handlar om kรคllkoden. Maskinen fรถrstรฅr denna kรคllkod och รถversรคtter den till maskinbegriplig kod, som รคr en kรถrbar kod.

Alla dessa funktioner sker i fรถljande 3 Java plattformskomponenter:

Java Utvecklingskit (JDK)

JDK รคr en mjukvaruutvecklingsmiljรถ som anvรคnds fรถr att gรถra applets och Java applikationer. Den fullstรคndiga formen av JDK รคr Java Utvecklings paket. Java utvecklare kan anvรคnda det pรฅ Windows, macOS, Solaris, och 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?

Hรคr รคr de frรคmsta anledningarna till att anvรคnda JDK:

  • JDK innehรฅller verktyg som krรคvs fรถr att skriva Java program och JRE fรถr att kรถra dem.
  • Den innehรฅller en kompilator, Java programstartare, Appletviewer, etc.
  • Kompilator konverterar inskriven kod Java till bytekod.
  • Java programstartaren รถppnar en JRE, laddar den nรถdvรคndiga klassen och kรถr dess huvudmetod.

Java Virtuell maskin (JVM):

Java Virtuell maskin (JVM) รคr en motor som ger en kรถrtidsmiljรถ fรถr att driva Java Kod eller applikationer. Det konverterar Java bytekod till maskinsprรฅk. JVM รคr en del av Java Kรถr miljรถ (JRE). I andra programmeringssprรฅk producerar kompilatorn maskinkod fรถr ett visst system. Men den Java kompilatorn producerar kod fรถr en virtuell maskin som kallas Java Virtuell maskin.

Varfรถr JVM?

Hรคr รคr de viktiga anledningarna till att anvรคnda JVM:

  • JVM tillhandahรฅller ett plattformsoberoende sรคtt att exekvera Java kรคllkod.
  • Den har mรฅnga bibliotek, verktyg och ramverk.
  • Nรคr du vรคl har kรถrt en Java programmet kan du kรถra pรฅ vilken plattform som helst och spara mycket tid.
  • JVM kommer med JIT (Just-in-Time) kompilator som konverterar Java kรคllkod till maskinsprรฅk pรฅ lรฅg nivรฅ. Dรคrfรถr gรฅr den snabbare รคn en vanlig applikation.

Java Runtime Environment (JRE)

JRE รคr en mjukvara som รคr designad fรถr att kรถra annan programvara. Den innehรฅller klassbiblioteken, loaderklassen och JVM. Enkelt uttryckt, om du vill kรถra en Java program behรถver du JRE. Om du inte รคr en programmerare behรถver du inte installera JDK, utan bara JRE fรถr att kรถra Java program.

Varfรถr anvรคnda JRE?

Hรคr รคr de frรคmsta anledningarna till att anvรคnda JRE:

  • JRE innehรฅller klassbibliotek, JVM och andra stรถdjande filer. Den innehรฅller inget verktyg fรถr Java utveckling som en debugger, kompilator, etc.
  • Den anvรคnder viktiga paketklasser som matematik, swing, util, lang, awt och runtime-bibliotek.
  • Om du mรฅste springa Java applets, mรฅste JRE installeras i ditt system.

Olika typer av Java Plattformar

Det finns fyra olika typer av Java programmeringssprรฅksplattformar:

1. Java Plattform, Standard Edition (Java SE): Java SE:s API erbjuder Java programmeringssprรฅkets kรคrnfunktionalitet. Den definierar all grund fรถr typ och objekt fรถr hรถgnivรฅklasser. Den anvรคnds fรถr nรคtverk, sรคkerhet, databasรฅtkomst, utveckling av grafiskt anvรคndargrรคnssnitt (GUI) och XML-analys.

2. Java Plattform, Enterprise Edition (Java EE): Ocuco-landskapet Java EE-plattformen erbjuder en API och runtime-miljรถ fรถr att utveckla och kรถra mycket skalbara, storskaliga, flernivรฅer, pรฅlitliga och sรคkra nรคtverksapplikationer.

3. Java Programming Language Platform, Micro Edition (Java MIG): Ocuco-landskapet Java ME-plattformen erbjuder ett API och en liten virtuell maskin som kรถrs Java programmeringssprรฅksapplikationer pรฅ smรฅ enheter, som mobiltelefoner.

4. Java FX: JavaFX รคr en plattform fรถr att utveckla rika internetapplikationer med hjรคlp av ett lรคtt anvรคndargrรคnssnitt API. Den anvรคnder hรฅrdvaruaccelererade grafik- och mediamotorer som hjรคlper Java dra fรถrdel av klienter med hรถgre prestanda och ett modernt utseende och hรถgnivรฅ-API:er fรถr att ansluta till nรคtverksanslutna datakรคllor.

Att fรถrstรฅ Java programmeringssprรฅk mรฅste vi fรถrstรฅ nรฅgot grundlรคggande koncept fรถr hur ett datorprogram kan kรถra ett kommando och utfรถra รฅtgรคrden.

Vad รคr en PC?

En dator รคr en elektronisk enhet som kan utfรถra berรคkningar. Vi vet alla att den bestรฅr av en bildskรคrm, tangentbord, mus och minne fรถr att lagra information. Men den viktigaste komponenten i datorn รคr en PROCESSOR. Detta gรถr allt att tรคnka pรฅ dator, men frรฅgan รคr hur datorn gรถr detta tรคnkande? Hur fรถrstรฅr den texten, bilderna, videorna etc.?

Vad รคr PC
Vad รคr PC?

Vad รคr Assembly Sprรฅk?

Datorn รคr en elektronisk enhet, och den kan bara fรถrstรฅ elektroniska signaler eller binรคra signaler. Till exempel kan den elektroniska 5-voltssignalen representera binรคrt nummer 1, medan 0 volt kan representera binรคrt nummer 0. Sรฅ din dator bombarderas kontinuerligt med dessa signaler.

Vad รคr Assembly Sprรฅk

ร…tta bitar av sรฅdana signaler รคr grupperade fรถr att tolka text, numeriska och symboler.

Vad รคr Assembly Sprรฅk

Till exempel identifieras #-symbolen av datorn som 10101010. Pรฅ liknande sรคtt representeras mรถnstret fรถr att lรคgga till en funktion av 10000011.

Vad รคr Assembly Sprรฅk

Detta รคr kรคnt som 8-bitars berรคkning. Dagens processor kan avkoda 64-bitars tid. Men vad รคr fรถrhรฅllandet mellan detta koncept och programmeringssprรฅket JAVA? Lรฅt oss fรถrstรฅ dessa som ett exempel.

Anta att om du vill sรคga รฅt datorn att lรคgga till tvรฅ tal (1+2) representerade av nรฅgra binรคra tal (10000011), hur ska du berรคtta detta fรถr din dator? Ja, vi kommer att anvรคnda assemblersprรฅk fรถr att fรฅ vรฅr kod exekverad.

"Assembly Sprรฅk รคr den mest elementรคra formen av mjukvaruutvecklingssprรฅk."

Vi kommer att ge kommandot till en dator i detta format, som visas nedan. Din kod fรถr att lรคgga till tvรฅ siffror pรฅ detta sprรฅk skulle vara i denna ordning.

Vad รคr Java plattform

  • Lagra nummer 1 pรฅ minnesplatsen, sรคg A
  • Lagra nummer 2 pรฅ minnesplatsen, sรคg B
  • Lรคgg till innehรฅll frรฅn plats A och B
  • Spara resultat

Men hur ska vi gรถra detta? Tillbaka pรฅ 1950-talet, nรคr datorer var enorma och fรถrbrukade mycket strรถm, konverterade du din monteringskod till motsvarande maskinkod till 1 och 0:or med hjรคlp av kartlรคggningsblad. Later, kommer denna kod att stansas in i maskinkorten och matas till datorn. Datorn kommer att lรคsa dessa koder och kรถra programmet. Detta skulle vara en lรฅng process sedan tills ASSEMBLER kom fรถr att hjรคlpa till.

Vad รคr Assembler och Compiler?

Med framsteg inom tekniken uppfanns i/o-enheter. Du kan skriva in ditt program direkt i datorn med ASSEMBLER. Den konverterar den till motsvarande maskinkod (110001..) och matar den till din processor. Fรถr att komma tillbaka till vรฅrt exempeltillรคgg av (1+2), kommer assemblern att konvertera denna kod till maskinkod och utdata.

Vad รคr Assembler och Compiler

Fรถrutom detta mรฅste du ocksรฅ ringa samtal fรถr att skapa Operating System tillhandahรฅller funktioner fรถr att visa kodens utdata.

Men ensam montรถren รคr inte involverad i denna process; det krรคver ocksรฅ att kompilatorn kompilerar den lรฅnga koden till en liten bit av koder. Med framsteg inom mjukvaruutvecklingssprรฅk kan hela den hรคr monteringskoden krympa till bara en rad skriv ut f 1+2 A med programvaran som heter COMPILER. Den anvรคnds fรถr att konvertera din c sprรฅk kod till monteringskod. Montรถren omvandlar den till motsvarande maskinkod. Denna maskinkod kommer att รถverfรถras till processorn. Den vanligaste processorn som anvรคnds i PC eller datorer รคr Intel-processorn.

Vad รคr Assembler och Compiler

ร„ven om dagens kompilatorer levereras med assembler kan de direkt konvertera din hรถgre sprรฅkkod till maskinkod.

Antag nu att Windows operativsystem kรถrs pรฅ denna Intel-processor, en kombination av Operating System plus processorn kallas PLATTFORM. Den vanligaste plattformen i vรคrlden รคr Windows, och Intel kallas Wintel-plattformen. De andra populรคra plattformarna รคr AMD och Linux, Power PC och Mac OS X.

Nu, med en fรถrรคndring av processorn, kommer monteringsinstruktionerna ocksรฅ att รคndras. Till exempel:

  • Lรคgg till instruktion i Intel kan kallas ADDITION fรถr AMD
  • ELLER Math ADD fรถr Power PC

Och, med en fรถrรคndring i OperaSystem, OS-nivรฅ samtals nivรฅ och karaktรคr kommer ocksรฅ att fรถrรคndras.

Som utvecklare vill jag att mitt program ska fungera pรฅ alla plattformar fรถr att maximera mina intรคkter. Sรฅ jag skulle behรถva kรถpa separata kompilatorer som konverterar mitt print f-kommando till den ursprungliga maskinkoden.

Vad รคr Assembler och Compiler

Men kompilatorer รคr dyra och det finns risk fรถr kompatibilitetsproblem. Sรฅ att kรถpa och installera en separat kompilator fรถr olika operativsystem och processorer รคr inte genomfรถrbart. Sรฅ vad kan vara en alternativ lรถsning? Skriva in Java sprรฅk.

Hur Java Fungerar virtuell maskin?

Genom att anvรคnda Java Virtuell maskin, detta problem kan lรถsas. Men hur det fungerar pรฅ olika processorer och operativsystem Lรฅt oss fรถrstรฅ denna process steg fรถr steg.

Hur Java Virtual Machine fungerar

Steg 1) Koden fรถr att visa tillรคgget av tvรฅ siffror รคr System.out.println(1+2), och sparas som en .java-fil.

Steg 2) Med hjรคlp av java-kompilatorn omvandlas koden till en mellankod som kallas bytekod. Utgรฅngen รคr en .class-fil.

Steg 3) Denna kod fรถrstรฅs inte av nรฅgon plattform, utan endast en virtuell plattform som kallas Java Virtuell maskin.

Steg 4) Denna virtuella maskin finns i RAM-minnet i ditt operativsystem. Nรคr den virtuella maskinen matas med denna bytekod identifierar den plattformen den arbetar pรฅ och konverterar bytekoden till den ursprungliga maskinkoden.

Nรคr du arbetar pรฅ din PC eller surfar pรฅ webben, nรคr du ser nรฅgon av dessa ikoner, kan du vara sรคker pรฅ att den virtuella Java-maskinen laddas in i ditt RAM-minne. Men vad gรถr Java lukrativt รคr att koden, nรคr den vรคl har kompilerats, inte bara kan kรถras pรฅ alla PC-plattformar utan รคven pรฅ mobiler eller andra elektroniska prylar som stรถder Java.

Dรคrav,

"Java รคr ett programmeringssprรฅk sรฅvรคl som en plattform"

Hur รคr Java Plattformsoberoende?

Liksom C-kompilatorn, den Java kompilatorn producerar inte inbyggd kรถrbar kod fรถr en viss maskin. I stรคllet, Java producerar ett unikt format som kallas bytecode. Den kรถrs enligt reglerna som anges i specifikationen fรถr den virtuella maskinen. Dรคrfรถr, Java รคr ett plattformsoberoende sprรฅk.

Bytecode รคr fรถrstรฅelig fรถr alla JVM installerade pรฅ alla operativsystem. Kort sagt, java-kรคllkoden kan kรถras pรฅ alla operativsystem.

Sammanfattning

  • Java รคr ett flerplattforms-, objektorienterat och nรคtverkscentrerat programmeringssprรฅk Java รคr ett allmรคnt klassbaserat, objektorienterat programmeringssprรฅk.
  • Java Platform รคr en samling program som hjรคlper programmerare att utveckla och kรถra Java applikationer effektivt.
  • Betydelsen av Java: Java รคr ett multiplattforms- och nรคtverkscentrerat programmeringssprรฅk.
  • Det anvรคnds frรคmst fรถr att utveckla Android Appar och Enterprise Software.
  • 2009 Oracle Corporation fรถrvรคrvade Sun Microsystems och tog รคgandet av tre viktiga Sun-programtillgรฅngar: Java, Solarisoch MySQL.
  • Den senaste versionen av Java slรคpptes den 15 september 2020
  • Den bรคsta funktionen i Java รคr att det รคr ett av de enklaste programmeringssprรฅken att lรคra sig.
  • Fyra typer av Java Programmeringssprรฅksplattformar รคr: 1) Java Plattform, Standard Edition (Java SE) 2) Java Plattform, Enterprise Edition (Java EE) 3) Java Plattform, Micro Edition (Java JAG) 4) JavaFX
  • En dator รคr en elektronisk enhet som kan utfรถra berรคkningar.
  • Datorn fรถrstรฅr bara elektroniska signaler eller binรคra signaler.
  • Assembler รคr en avancerad teknik som konverterar kรคllkรคrnan till motsvarande maskinkod (110001..) och matar till din processor.

Sammanfatta detta inlรคgg med: