close

Java platform

Gå til navigation Gå til søg
Java platform
Java-platforme.PNG
Udvikler(e)
James Gosling og Sun Microsystems
https://www.java.com
Generel information
Paradigme Objektorienteret , bydende nødvendigt
Dukkede op i nitten seksoghalvfems
Designet af Sun Microsystems ( Oracle Corporation )
Seneste stabile version Java Standard Edition 15.0.2 [ 1 ] ( 19. januar 2021 (1 år, 8 måneder og 29 dage))
type system stærk , statisk
implementeringer OpenJDK , HotSpot og mange andre
dialekter Generisk Java, Pizza
påvirket af Pascal , C++ , Objective-C
har påvirket C# , J# , JavaScript , PHP , Python
Operativ system Multi platform
Licens GNU GPL / Java Community Process

Java-platformen er navnet på et computermiljø eller en platform, der stammer fra Sun Microsystems , der er i stand til at køre applikationer udviklet ved hjælp af Java-programmeringssproget eller andre sprog, der kompilerer til bytekode og et sæt udviklingsværktøjer . I dette tilfælde er platformen ikke en specifik hardware eller et specifikt operativsystem , men snarere en virtuel maskine, der er ansvarlig for at køre applikationerne, og et sæt standardbiblioteker , der tilbyder fælles funktionalitet.

Platformen er såkaldt Java Platform (tidligere kendt som Java 2 Platform [ 2 ] ), og omfatter:

  • Java Platform, Standard Edition eller Java SE (tidligere J2SE).
  • Java Platform, Enterprise Edition eller Java EE (tidligere J2EE).
  • Java Platform, Micro Edition (Java Platform, Micro Edition) eller Java ME (tidligere J2ME).

Siden 2006 har den nuværende version af Java Platform Standard Edition været kendt som Java SE 6 som den eksterne version og 1.6 som den interne version. Dog foretrækkes betegnelsen version 6. Platformen indeholder flere forskellige teknologier. [ 3 ]

Java-teknologier

Java-platformen består af en bred vifte af teknologier, som hver især udgør en del af udviklingskomplekset eller real-time eksekveringsmiljøet. For eksempel interagerer slutbrugere ofte med Java Virtual Machine og standardsættet af biblioteker. Java-applikationer kan også bruges på en række forskellige måder, såsom at være indlejret i en webside . Til applikationsudvikling bruges et sæt værktøjer kendt som JDK (Java Development Kit, eller udviklingsværktøjer til Java). De teknologier, der findes i Java-platformen, er:

Java SE Java EE Java ME Java Card Java SE

Java SE er standardplatformen og formålet med denne tutorial om Java, hvor alle sprogets grundlæggende funktionaliteter er samlet.

Inden for disse grundlæggende Java-funktionaliteter finder vi: brugen af ​​samlinger, adgang til filer med Java IO og NIO og databaser med JDBC, biblioteker til udvikling af desktop- eller webapplikationer såsom Swing eller JavaFX, biblioteker for dato og klokkeslæt, mulighed for at oprette flertrådede applikationer, muligheder for netværk, XML-indholdsstyring... det inkluderer endda Java DB-databasen til brug i hukommelsen.

Hvis du starter med Java, er det mest normale, at du downloader Java SE-bibliotekerne.

Java EE Java EE er skabt til at kunne lave virksomhedsapplikationer med Java. På denne måde er Java EE forsynet med muligheder for at udvikle serverapplikationer med teknologier som Servlets, JSP eller EJB.

Java EE giver os mulighed for at udvikle tjenester, uanset om de er WSDL (med JAX-WS), REST (med JAX-RS) eller oprettelse af websockets.

Det tilbyder også en API til persistens af objekter med JPA, meddelelsesfunktioner med Java Message, e-mail med Java Mail eller styring af batch-processer.

Java ME Java ME er implementeringen af ​​Java, der blev skabt til oprettelse af mobile applikationer.

Selvom det over tid har fokuseret mere på udviklingen af ​​IoT (Internet of Things) enheder: fjernsyn, sensorer, printere,...

I Java ME kan vi således finde:

Java TV, til udvikling af applikationer på TV eller på multimedieenheder. Java Embedded, som giver os mulighed for at lave forskellige udviklingsprofiler af "embedded applications", som heller ikke har et grafisk interface.

Java-kort Det er Java-teknologien, der hjælper os med at udvikle applikationer, der kan bruges på smartkort, dem, der har en chip og lille behandlingskapacitet og hukommelse

Java Runtime Environment

Et program, der er målrettet mod Java-platformen, har brug for to komponenter på det system, hvor det skal køre: en Java Virtual Machine (JVM) og et sæt biblioteker til at levere de tjenester, som applikationen måtte have brug for. JVM'et leveret af Sun Microsystems, sammen med dets implementering af standardbibliotekerne, er kendt som Java Runtime Environment (JRE) . JRE er det minimum, et system skal indeholde for at køre en Java-applikation på det.

Java virtuel maskine

I hjertet af Java-platformen er det almindelige koncept for en "virtuel" processor, der udfører programmer skrevet i Java-programmeringssproget. Specifikt udfører den koden, der stammer fra kildekodekompileringen , kendt som bytecode . Denne "processor" er den virtuelle Java-maskine eller JVM (Java Virtual Machine), som er ansvarlig for at oversætte ( fortolke eller kompilere i farten) bytekoden til native instruktioner fra målplatformen. Dette gør det muligt at udføre den samme Java-applikation på en lang række systemer med forskellige arkitekturer, så længe den har en passende implementering af JVM. Dette faktum er det, der har givet anledning til den berømte sætning: "skriv en gang, løb hvor som helst" (skriv en gang, løb hvor som helst). Betingelsen er, at der ikke bruges native opkald eller platformsspecifikke funktioner, og selv da er ægte platformsuafhængighed ikke fuldt ud sikret.

Fra og med JRE version 1.2 inkluderer Suns virtuelle maskineimplementering en JIT (Just In Time) compiler. På denne måde, i stedet for den traditionelle bytekode-fortolkning, som fører til langsom applikationsudførelse, konverterer JIT bytekoden til den oprindelige kode for målplatformen. Denne anden kode kompilering er en tidsstraf, men den resulterende native kode udføres mere effektivt og hurtigere, end hvis den blev fortolket. Andre dynamiske kode kompileringsteknikker under runtime tillader yderligere optimering af koden, og efterlader den plade, der faldt på Java med hensyn til dens langsomhed, og i dens seneste versioner er JVM'en blevet optimeret i en sådan grad, at den ikke længere betragtes som en langsom platform i forhold til at køre applikationer.

Det kan dog ikke siges, at Java kan kompilere kode med maksimal effektivitet og høste hastighedsfordelene ved indbygget maskinkode. Selvom compilere bliver mere avancerede, har ikke alle Java-biblioteker tilknyttet tilsvarende maskinkode til brug. For eksempel er "reflect"-biblioteket, som gør det muligt for Java-programmører at udforske instruktioner, der kun er tilgængelige under runtime, dårligt repræsenteret af maskinkode.

Java var ikke den første platform baseret på konceptet om en virtuel maskine, selvom det er den, der har haft størst udbredelse. Brugen af ​​virtuelle maskiner havde primært fokuseret på brugen af ​​emulatorer til at hjælpe med udviklingen af ​​underbygget hardware eller operativsystemer, men JVM var designet til at blive implementeret udelukkende i software, samtidig med at det gjorde det bærbart til alle slags enheder. hardware. .

Java-biblioteker

I de fleste operativsystemer i dag findes der en række koder for at forenkle programmeringsopgaven. Denne kode har typisk form af et sæt dynamiske biblioteker, som applikationer kan kalde, når det er nødvendigt. Men Java-platformen er beregnet til at være uafhængig af det underliggende operativsystem, så applikationer kan ikke stole på systemafhængige funktioner. Hvad Java-platformen gør, er at levere et sæt standardbiblioteker, som indeholder mange af de genanvendelige funktioner, der er tilgængelige i nutidens operativsystemer.

Java-biblioteker tjener tre formål inden for Java-platformen. Som andre standardbiblioteker tilbyder de programmøren et veldefineret sæt funktioner til at udføre almindelige opgaver, såsom håndtering af lister med elementer eller sofistikerede operationer på strenge. Ydermere giver bibliotekerne en abstrakt grænseflade til opgaver, der er meget afhængige af målplatformens hardware og dets operativsystem. Opgaver såsom håndtering af netværksfunktioner eller adgang til filer afhænger normalt stærkt af nej. I det specifikke tilfælde ovenfor implementerer java.net- og java.io-bibliotekerne den oprindelige kode internt og giver en standardgrænseflade til Java-applikationer til at udføre sådanne funktioner. Endelig understøtter ikke alle platforme alle de funktioner, som en Java-applikation forventer. I disse tilfælde kan bibliotekerne enten emulere disse funktioner ved hjælp af hvad der er tilgængeligt, eller tilbyde en mekanisme til at kontrollere, om en bestemt funktionalitet er til stede.

Sprog

Ordet Java i sig selv refererer normalt til Java-programmeringssproget , som er designet til brug med Java-platformen. Programmeringssprog er uden for rammerne af, hvad der er en "platform", selvom Java-programmeringssproget er en af ​​de grundlæggende komponenter i Java-platformen. Selve sproget og runtime-miljøet betragtes ofte som en enkelt enhed.

Et stort antal compilere til Java Virtual Machine (JVM) er dog blevet udviklet uden for Sun-miljøet. Nogle af disse sprog er:

Lignende platforme

Succesen med Java og konceptet og sloganet "Write once, run anywhere" har givet anledning til initiativer i samme retning. Det tydeligste forsøg er Microsofts .NET platform , som kopierer de fleste af koncepterne og innovationerne fra Java; faktisk har den en Java-implementering kaldet Visual J# (tidligere kendt som J++ ).

Referencer

  1. https://www.oracle.com/java/technologies/javase/15-0-2-relnotes.html
  2. ^ "Opbygning og styrkelse af Java-mærket" . Java (på engelsk) . 30. juni 2005 . Hentet 2021-01-23 .   ( brudt link tilgængeligt på Internet Archive ; se historie , første og sidste version ).
  3. ^ "Java SE 6-dokumentation" . Oracle (på engelsk) . Hentet 2021-01-23 . 

Eksterne links