Java-plattform

Java-plattform
Utvikler(e)
James Gosling og Sun Microsystems
https://www.java.com
Generell informasjon
Paradigme Objektorientert , imperativ
Dukket opp i nitten nittiseks
Designet av Sun Microsystems ( Oracle Corporation )
Siste stabile versjon Java Standard Edition 15.0.2 [ 1 ] ​( 19. januar 2021 (1 år, 8 måneder og 29 dager))
type system sterk , statisk
implementeringer OpenJDK , HotSpot og mange andre
dialekter Generisk Java, Pizza
påvirket av Pascal , C++ , Objective-C
har påvirket C# , J# , JavaScript , PHP , Python
Operativsystem Multiplattform
Tillatelse GNU GPL / Java Community Process

Java-plattformen er navnet på et datamiljø eller plattform som stammer fra Sun Microsystems , som er i stand til å kjøre applikasjoner utviklet ved hjelp av programmeringsspråket Java eller andre språk som kompileres til bytekode og et sett med utviklingsverktøy . I dette tilfellet er plattformen ikke en spesifikk maskinvare eller operativsystem , men snarere en virtuell maskin som har ansvaret for å kjøre applikasjonene, og et sett med standardbiblioteker som tilbyr felles funksjonalitet.

Plattformen er såkalt Java Platform (tidligere kjent som Java 2 Platform [ 2 ] ), og inkluderer:

Siden 2006 har den nåværende versjonen av Java Platform Standard Edition vært kjent som Java SE 6 som den eksterne versjonen, og 1.6 som den interne versjonen. Imidlertid foretrekkes begrepet versjon 6. Plattformen inkluderer flere ulike teknologier. [ 3 ]

Java-teknologier

Java-plattformen består av et bredt spekter av teknologier, som hver gir en del av utviklingskomplekset eller sanntidsutførelsesmiljøet. For eksempel samhandler sluttbrukere ofte med Java Virtual Machine og standardsettet med biblioteker. Java-applikasjoner kan også brukes på en rekke måter, for eksempel ved å være innebygd i en nettside . For applikasjonsutvikling brukes et sett med verktøy kjent som JDK (Java Development Kit, eller utviklingsverktøy for Java). Teknologiene som finnes i Java-plattformen er:

Java SE Java EE Java ME Java Card Java SE

Java SE er standardplattformen og målet for denne opplæringen om Java, der alle de grunnleggende funksjonalitetene til språket er samlet.

Innenfor disse grunnleggende Java-funksjonalitetene finner vi: bruk av samlinger, tilgang til filer med Java IO og NIO og databaser med JDBC, biblioteker for utvikling av desktop- eller webapplikasjoner som Swing eller JavaFX, biblioteker for dato og klokkeslett, mulighet til å lage flertrådede applikasjoner, muligheter for nettverksbygging, XML-innholdsadministrasjon... den inkluderer til og med Java DB-databasen for bruk i minnet.

Hvis du begynner med Java, er det mest normale at du laster ned Java SE-bibliotekene.

Java EE Java EE er laget for å kunne lage bedriftsapplikasjoner med Java. På denne måten er Java EE utstyrt med muligheter for å utvikle serverapplikasjoner med teknologier som Servlets, JSP eller EJB.

Java EE lar oss utvikle tjenester, enten de er WSDL (med JAX-WS), REST (med JAX-RS), eller opprettelse av websockets.

Den tilbyr også en API for utholdenhet av objekter med JPA, meldingsfunksjoner med Java Message, e-post med Java Mail eller administrasjon av batch-prosesser.

Java ME Java ME er implementeringen av Java som ble laget for å lage mobilapplikasjoner.

Selv om det over tid har fokusert mer på utviklingen av IoT-enheter (Internet of Things): TV-er, sensorer, skrivere,...

Derfor, innenfor Java ME kan vi finne:

Java TV, for utvikling av applikasjoner på TV eller på multimedieenheter. Java Embedded, som lar oss lage ulike utviklingsprofiler av «embedded applications», som heller ikke har et grafisk grensesnitt.

Java-kort Det er Java-teknologien som hjelper oss å utvikle applikasjoner som vil gå på smartkort, de som har en brikke og lite prosesseringskapasitet og minne

Java Runtime Environment

Et program rettet mot Java-plattformen trenger to komponenter på systemet der det skal kjøres: en Java Virtual Machine (JVM), og et sett med biblioteker for å tilby alle tjenester applikasjonen måtte trenge. JVM levert av Sun Microsystems, sammen med implementeringen av standardbibliotekene, er kjent som Java Runtime Environment (JRE) . JRE er minimum et system må inneholde for å kjøre en Java-applikasjon på det.

Java virtuell maskin

I hjertet av Java-plattformen er det vanlige konseptet med en "virtuell" prosessor som kjører programmer skrevet i programmeringsspråket Java. Nærmere bestemt kjører den koden som er et resultat av kildekodekompileringen , kjent som bytecode . Denne "prosessoren" er den virtuelle Java-maskinen eller JVM (Java Virtual Machine), som er ansvarlig for å oversette ( tolke eller kompilere i farten) bytekoden til opprinnelige instruksjoner for målplattformen. Dette gjør at den samme Java-applikasjonen kan kjøres på en lang rekke systemer med forskjellige arkitekturer, så lenge den har en tilstrekkelig implementering av JVM. Dette faktum er det som har gitt opphav til den berømte setningen: "skriv en gang, løp hvor som helst" (skriv en gang, løp hvor som helst). Betingelsen er at ingen native calls eller plattformspesifikke funksjoner brukes, og selv da er ikke ekte plattformuavhengighet helt sikret.

Fra og med JRE versjon 1.2 inkluderer Suns virtuelle maskinimplementering en JIT (Just In Time) kompilator. På denne måten, i stedet for den tradisjonelle bytekodetolkningen, som fører til langsom applikasjonskjøring, konverterer JIT bytekoden til den opprinnelige koden til målplattformen. Denne andre kodekompileringen er en tidsstraff, men den resulterende native koden kjøres mer effektivt og raskere enn om den ble tolket. Andre dynamiske kodekompileringsteknikker under kjøretid tillater ytterligere optimalisering av koden, og etterlater skiven som falt på Java når det gjelder tregheten, og i de siste versjonene har JVM blitt optimalisert i en slik grad at den ikke lenger anses som en treg plattform når det gjelder å kjøre applikasjoner.

Det kan imidlertid ikke sies at Java kan kompilere kode med maksimal effektivitet, og høste hastighetsfordelene med innfødt maskinkode. Selv om kompilatorer blir mer avanserte, har ikke alle Java-biblioteker tilknyttet tilsvarende maskinkode å bruke. For eksempel er "reflekter"-biblioteket, som lar Java-programmerere utforske instruksjoner som bare er tilgjengelige under kjøring, dårlig representert av maskinkode.

Java var ikke den første plattformen basert på konseptet med en virtuell maskin, selv om det er den som har hatt størst spredning. Bruken av virtuelle maskiner hadde først og fremst fokusert på bruken av emulatorer for å hjelpe utviklingen av underbygget maskinvare eller operativsystemer, men JVM ble designet for å bli implementert utelukkende i programvare, samtidig som den gjorde den bærbar til alle typer enheter. .

Java-biblioteker

I de fleste operativsystemer i dag er det gitt en rekke koder for å forenkle programmeringsoppgaven. Denne koden har vanligvis form av et sett med dynamiske biblioteker som applikasjoner kan kalle opp ved behov. Men Java-plattformen er ment å være uavhengig av det underliggende operativsystemet, så applikasjoner kan ikke stole på systemavhengige funksjoner. Det Java-plattformen gjør er å tilby et sett med standardbiblioteker, som inneholder mange av de gjenbrukbare funksjonene som er tilgjengelige i dagens operativsystemer.

Java-biblioteker tjener tre formål innenfor Java-plattformen. Som andre standardbiblioteker tilbyr de programmereren et veldefinert sett med funksjoner for å utføre vanlige oppgaver, for eksempel håndtering av lister over elementer eller sofistikerte operasjoner på strenger. Videre gir bibliotekene et abstrakt grensesnitt for oppgaver som er svært avhengige av målplattformens maskinvare og operativsystemet. Oppgaver som å håndtere nettverksfunksjoner eller tilgang til filer, er vanligvis sterkt avhengig av nr. I det spesifikke tilfellet ovenfor implementerer java.net- og java.io-bibliotekene den opprinnelige koden internt, og gir et standardgrensesnitt for Java-applikasjoner for å utføre slike funksjoner. Til slutt, ikke alle plattformer støtter alle funksjonene som en Java-applikasjon forventer. I disse tilfellene kan bibliotekene enten emulere disse funksjonene ved å bruke det som er tilgjengelig, eller tilby en mekanisme for å sjekke om en bestemt funksjonalitet er til stede.

Språk

Ordet Java i seg selv refererer vanligvis til programmeringsspråket Java , som ble designet for bruk med Java-plattformen. Programmeringsspråk er utenfor rammen av det som er en "plattform", selv om programmeringsspråket Java er en av de grunnleggende komponentene i Java-plattformen. Selve språket og kjøretidsmiljøet betraktes ofte som en enkelt enhet.

Imidlertid har et stort antall kompilatorer for Java Virtual Machine (JVM) blitt utviklet utenfor Sun-miljøet. Noen av disse språkene er:

Lignende plattformer

Suksessen til Java og konseptet og slagordet «Write once, run anywhere» har gitt opphav til initiativer i samme retning. Det tydeligste forsøket er Microsofts .NET- plattform , som kopierer de fleste konseptene og nyvinningene fra Java; faktisk har den en Java-implementering kalt Visual J# (tidligere kjent som J++ ).

Referanser

  1. https://www.oracle.com/java/technologies/javase/15-0-2-relnotes.html
  2. ^ "Bygge og styrke Java-merket" . Java (på engelsk) . 30. juni 2005 . Hentet 2021-01-23 .   ( brutt lenke tilgjengelig på Internet Archive ; se historikk , første og siste versjon ).
  3. ^ "Java SE 6-dokumentasjon" . Oracle (på engelsk) . Hentet 2021-01-23 . 

Eksterne lenker