Java-teknologi

Java-logo
Java Technologies

Den Java-teknologi ( engelsk Java Technology ) er en original av Sun (nå Oracle utviklet gruppe) samling av spesifikasjoner , på den ene siden, Java programmeringsspråk og andre ulike kjøremiljøer for dataprogrammer definere. Disse dataprogrammene er for det meste skrevet på Java.

Java-teknologi inkluderer følgende komponenter:

mål

Med Java-teknologi skal ett og samme program kunne kjøres på forskjellige datasystemer. Denne plattformuavhengigheten oppnås at kildekoden først i bytekode som er samlet, er den første på målsystemet fra Java runtime-miljøet ( Java Runtime Environment , kort tid JRE ) i det respektive startprogram maskinspråket oversettes. Bytekoden fungerer altså som en mellomkode mellom programmeringsspråket og maskinspråket.

Java-kjøretidsmiljøet må installeres på målsystemet. Den finnes for mye brukte operativsystemer som Microsoft Windows , Linux , Solaris , Mac OS X , AIX og mange andre. I tillegg finnes det JRE-er, ikke bare for server- og stasjonære operativsystemer, men også for mange innebygde systemer som mobiltelefoner, PDA-er og smartkort, så vel som for andre tekniske plattformer som biler og TV-er. Plattformuavhengighet slutter med systemer som ingen Java Virtual Machine eksisterer for, dvs. for det meste eldre eller veldig eksotiske systemer.

Komponenter

Java-teknologien består av følgende deler:

Struktur av Java-teknologi

Programmeringsspråk
Java kildekode (.java)
JDK Utviklingsverktøy
Java compiler, ...
Java bytecode (.class, .jar)
JRE Java programmeringsgrensesnitt (API)
Java Virtual Machine (JVM)
med just-in-time kompilering
Drifts
system
Windows, Linux, Solaris, Mac OS X, ...

Java programmeringsspråk

Java er et objektorientert programmeringsspråk og et registrert varemerke for Oracle. Utformingen av programmeringsspråket Java hadde fem hovedmål:

Utviklingsverktøy for Java-programmer

De inneholder kompilatorer som oversetter kildekoden til Java bytecode , dokumentasjonsverktøy og verktøy for testing av programmer. Programmer for Java-plattformen opprettes vanligvis ved hjelp av Java-programmeringsspråket . Bruk av andre programmeringsspråk er mulig, f.eks. B. Hyggelig eller groovy .

Java kjøretidsmiljø (plattform)

Java runtime-miljøet (JRE) er en programvareplattform som programmer kan kjøres i stor grad uavhengig av det underliggende operativsystemet. Den definerer applikasjonsprogrammeringsgrensesnittene (API-er) tydelig og uavhengig av maskinen og inneholder Java Virtual Machine (JVM), som er ansvarlig for å utføre Java-bykoden. Den er tilgjengelig gratis for de fleste operativsystemer.

Det skilles mellom følgende Java-plattformer:

Java Platform Java-kort
Redusert Java-standard for å kunne kjøre såkalte Java Card-appletter på chipkort.
Java Platform, Micro Edition (Java ME)
Plattform for såkalte innebygde forbrukerprodukter som mobiltelefoner eller PDAer.
Java Platform, Standard Edition (Java SE)
Samling av Java-programmeringsgrensesnitt for generell bruk på PCer, servere eller lignende enheter. Java SE fungerer som grunnlag for Java EE og Java ME teknikker.
Jakarta EE
Java SE, beriket med programmeringsgrensesnitt for transaksjonsbasert kjøring av flerlags bedrifts- og webapplikasjoner.

historie

Duke, Java's maskot

Den opprinnelige versjonen av Java - inkludert Oak ( O bject A pplication K ernel) kalt - har vært i en periode på 18 måneder fra våren 1991 til sommeren 1992 under navnet The Green Project av Patrick Naughton, Mike Sheridan, James Gosling og Bill Joy og ni ytterligere utviklere på vegne av den amerikanske dataprodusenten Sun Microsystems. James Gosling var hovedutvikleren. En rest av Green-prosjektet er hertugen av Joe Palrang, som har blitt et kjent symbol eller maskot.

Navnet Oak hadde, ifølge rykter, sin opprinnelse i en eik ( engelsk eik ), som sto foran vinduet til James Gosling. På grunn av juridiske problemer måtte imidlertid navnet (det var allerede programvare med dette navnet) kastes. Det ble besluttet å bruke navnet Java etter en sterk type kaffe som brukes spesielt til espresso ( Java bønne ) og ble foretrukket av utviklerne.

Målet var ikke bare å utvikle et annet programmeringsspråk, men et komplett operativsystemmiljø, inkludert en virtuell CPU , for en rekke formål. Ifølge legenden skal systemet for eksempel kunne kontrollere en kaffemaskin .

Utviklingen fant sted i en iøynefallende kontorbygning på Sand Hill Road i Menlo Park . I løpet av den separerte utviklingsfasen var det ingen utveksling med Sun Microsystems . Sommeren 1992 ble den første eikebaserte applikasjonen endelig fullført - "en interaktiv, håndholdt hjemmeunderholdningsenhetskontroller med et animert berøringsskjermbrukergrensesnitt". Denne tekniske demonstrasjonen av en berøringsskjermbasert enhetskontroll med et animert grafisk brukergrensesnitt ble kalt * 7 ( Star Seven ) .

Kan være etter visningen av Star Seven, med antall enheter som kontrolleres interaktivt, selskapene var klar over kabel-tv-industrien, og fra bakromprosjektet The Green Project var selskapet første person . Kontoret ble et kontorbygg på Hamilton Avenue 100 i Palo Alto .

Siden arbeidsstyrken i mellomtiden har vokst fra 13 til 70 ansatte, og tiden for interaktive digitale merverditjenester innen kabel-TV ennå ikke var moden, lette det unge selskapet etter nye aktivitetsområder. Etter et tredagers møte med John Gage, James Gosling, Bill Joy, Patrick Naughton, Wayne Rosing og Eric Schmidt i "The Inn at Squaw Creek" nær Lake Tahoe , ble det raskt klart: det skulle være Internett .

Basert på forfederen til alle grafiske nettlesere , Mosaic , ble en nettleser utvidet til å omfatte Java opprettet - WebRunner (basert på filmen Blade Runner ). Det ble senere omdøpt til WebRunner i HotJava .

I mars 1995 ble den første alfaversjonen (1.0a2) av Java-kildekoden utgitt for publikum. Litt senere, 23. mai 1995, ble Java offisielt presentert for publikum for første gang i "San Jose Mercury News".

Gjennombruddet kom med integrasjonen av Java i Netscape Navigator- nettleseren - forseglet med et håndtrykk mellom Eric Schmidt og George Paolini fra Sun Microsystems og Marc Andreessen fra Netscape - klokken 04.00 i et rom i Sheraton Palace Hotel nær konferansesenteret.

Selskapet Oracle - som kjøpte Sun Microsystems i januar 2010 - ønsker å videreutvikle Java-teknologi sammen med Java Community Process i retning av gratis og åpen kildekode-programvare ( OpenJDK ).

Navnet Java

Navnet på den nye teknologien ble raskt funnet: De fleste programmerere foretrakk gatekafeen "Java City - roasters of fine coffee" i Menlo Park, ikke langt fra kontorbygningen, hvor de gikk innimellom i lunsjpausen for å ta en kaffe etter middagen å drikke. Programmørenes favoritt type kaffe ble kalt "Java". Dette navnet ble derfor også brukt til den nye teknologien. Navnet " JavaBeans " er også avledet av denne hendelsen.

Sun Microsystems bruker noen ganger forskjellige versjonsnumre i markedsføring og intern utvikling. Så det var Java versjon 1.2 markedsføres ikke som 1.2, men som "Java 2 Platform". Internt forble versjonsnumrene med 1.x-ordningen, slik at produktnavn som "Java 2 Standard Edition 1.4.2" resulterte. Dette avviket har i det minste blitt forlatt med hensyn til produktnavn. Produktet heter nå "Java Standard Edition 7"; det interne versjonsnummeret er imidlertid fortsatt 1,7.

Versjoner

Legende: Eldre versjon; støttes ikke lenger Eldre versjon; fortsatt støttet Gjeldende versjon Gjeldende foreløpig versjon Fremtidig versjon
Versjoner og kodenavn
versjon Kodenavn utgivelse Slutten på gratis støtte
Eldre versjon; støttes ikke lenger: JDK 1.1.4 Stjernekaster 12. september 1997
Eldre versjon; støttes ikke lenger: JDK 1.1.5 Gresskar 3. desember 1997
Eldre versjon; støttes ikke lenger: JDK 1.1.6 Abigail 24. april 1998
Eldre versjon; støttes ikke lenger: JDK 1.1.7 Brutus 28. september 1998
Eldre versjon; støttes ikke lenger: JDK 1.1.8 Chelsea 8. april 1999
Eldre versjon; støttes ikke lenger: J2SE 1.2 Lekeplass 4. desember 1998
Eldre versjon; støttes ikke lenger: J2SE 1.2.1 (ingen) 30. mars 1999
Eldre versjon; støttes ikke lenger: J2SE 1.2.2 Siriss 8. juli 1999
Eldre versjon; støttes ikke lenger: J2SE 1.3 Tårnfalk 8. mai 2000 Desember 2006
Eldre versjon; støttes ikke lenger: J2SE 1.3.1 Marihøne 17. mai 2001
Eldre versjon; støttes ikke lenger: J2SE 1.4.0 Merlin 13. februar 2002 Oktober 2008
Eldre versjon; støttes ikke lenger: J2SE 1.4.1 Hopper 16. september 2002
Eldre versjon; støttes ikke lenger: J2SE 1.4.2 Mantis 26. juni 2003
Eldre versjon; støttes ikke lenger: J2SE 5.0 (1.5.0) tiger 29. september 2004 Oktober 2009
Eldre versjon; støttes ikke lenger: JSE 6.0 (Mustang) 11. desember 2006 Februar 2013
Eldre versjon; støttes ikke lenger: JSE 7.0 (Delfin) 28. juli 2011 April 2015
Eldre versjon; støttes fortsatt: JSE 8.0 - 18. mars 2014 Mars 2022
Eldre versjon; støttes ikke lenger: JSE 9.0 - 27. juli 2017 Mars 2018
Eldre versjon; støttes ikke lenger: JSE 10.0 (18.3) - 20. mars 2018 September 2018
Eldre versjon; støttes fortsatt: JSE 11.0 (18.9) LTS - 25. september 2018 September 2023
Eldre versjon; støttes ikke lenger: JSE 12.0 - 19. mars 2019 September 2019
Eldre versjon; støttes ikke lenger: JSE 13.0 - 17. september 2019 Mars 2020
Eldre versjon; støttes ikke lenger: JSE 14.0 - 17. mars 2020 September 2020
Eldre versjon; støttes ikke lenger: JSE 15.0 - 15. september 2020 Mars 2021
Gjeldende versjon: JSE 16.0 - 16. mars 2021 September 2021
Versjoner og størrelser
versjon Pakker Klasser, Enums og grensesnitt Moduler
Eldre versjon; støttes ikke lenger: JDK 1.0 008. plass 0212
Eldre versjon; støttes ikke lenger: JDK 1.1 023 0504
Eldre versjon; støttes ikke lenger: JDK 1.2 059 1520
Eldre versjon; støttes ikke lenger: JDK 1.3 076 1842
Eldre versjon; støttes ikke lenger: JDK 1.4 135 2991
Eldre versjon; støttes ikke lenger: J2SE 5.0 166 3279
Eldre versjon; støttes ikke lenger: JSE 6.0 203 3793
Eldre versjon; støttes ikke lenger: JSE 7.0 209 4024
Eldre versjon; støttes fortsatt: JSE 8.0 217 4240
Eldre versjon; støttes ikke lenger: JSE 9.0 315 6005 78
Eldre versjon; støttes ikke lenger: JSE 10.0 314 6002 77
Eldre versjon; støttes fortsatt: JSE 11.0 235 4410 59/72

Versjon 1

Java versjon 1.0, utgitt i 1996, inneholdt fortsatt et håndterbart antall standardpakker, som vokste raskt i senere versjoner:

  • java.lang: elementære klasser, f.eks. B. ObjectogSystem
  • java.io: Inngang og utgang
  • java.util: z. B. Datastrukturer og en dataklasse
  • java.net: Enkel internet protocol klasser
  • java.awt: grunnleggende klasser for grafiske brukergrensesnitt
  • java.applet: en klasse for de kjente applets

Selv om dette nye språket først og fremst var ment for utvikling av applets, ga det allerede muligheter i den første versjonen som gikk langt utover det.

Versjon 1.1

En språkutvidelse ble laget i 1997 med Java 1.1, syntaksen ble utvidet til å omfatte begrepet indre klasser . Dette gikk hånd i hånd med en konvertering av hendelseshåndteringen til et tilbakeringingssystem med såkalte lyttere .

I tillegg er standardbiblioteket utvidet:

Swing var allerede tilgjengelig i versjoner 1.1.5 og nyere, men dette rammeverket var ennå ikke en del av det offisielle Java. Det var spesielt problematisk at Swing hadde en annen pakkestruktur med utgivelsen av 1.2 og gjorde porting nødvendig.

Versjon 1.2

Java 2 (JDK 1.2) dukket opp i 1998. Da denne versjonen ble utgitt, snakket Sun om Java 2, følgelig heter pakkene Java 2 Platform, Standard Edition (J2SE), og i stedet for Java Development Kit (JDK) kalles det Java 2 Programvareutviklingssett (J2SDK) .

I denne versjonen ble en just-in-time kompilator introdusert i tillegg til den eksisterende tolk ; dette akselererer kjøringen av Java-programmer betydelig. Den HotSpot just-in-time kompilering inkludert adaptiv optimalisering ble tilbudt som en forlengelse for Java 1,2; fra Java 1.3 og utover, ble HotSpot tilbudt som eneste JVM fra sø

Standardbiblioteket er utvidet igjen:

  • Nye grensesnitt og implementeringer for samlinger , dvs. datastrukturer som lister, sett og kart (assosiative lister )
  • The Swing overflate bibliotek
  • Nye grafikkfunksjoner ( Java 2D )
  • Dra og slipp funksjonalitet
  • Forbedrede lydfunksjoner
  • Et CORBA- grensesnitt
  • Svake referanser - dette er referanser som ikke hindrer søppeloppsamleren i å fjerne den refererte gjenstanden

I 1998 ble også Java Community Process (JCP) introdusert. Denne organisasjonen har håndtert endringer i Java-spesifikasjonen siden den gang. En Java Specification Request (JSR) opprettes for foreslåtte endringer , som går gjennom ulike faser før endringene implementeres i Java.

Versjon 1.3

I 2000 dukket J2SE 1.3 opp som neste evolusjonstrinn, API ble utvidet igjen. En motor med hotspot-optimalisering ble også introdusert. Dette betyr at ofte brukte kodefragmenter (hotspots) oversettes fra bytekoden til innfødt maskinkode ved kjøretid. Resultatet var en betydelig økt gjennomføringshastighet.

API-utvidelser:

  • Java Naming and Directory Interface (JNDI)
  • Java Sound API

Versjon 1.4

Først i 2002 ble selve språket utvidet igjen med utseendet til J2SE 1.4, som sist ble gjort med versjon 1.1. Påstand om støtte ble lagt til. API-en er også utvidet, som er ment å legge til rette for spesielt serverprogrammering.

Den siste versjonen av Java 1.4 var Java SE 1.4.2_42. Slutten av offentlige oppdateringer nådde J2SE 1.4 i oktober 2008.

Se også: Servlet , Java Web Start , JSP , Jakarta EE , J2ME , Javadoc , Blackdown Java

Versjon 5.0

Java 5.0 ble utgitt 30. september 2004 som etterfølgeren til versjon 1.4. Den tilsynelatende versjonen hopper fra 1.x til 5 er introduksjonen av et såkalt produktnummer. Disse produktnumrene er ment å representere Java-versjonene for omverdenen i fremtiden. Internt skal den samme produktversjonen være oppkalt etter det velkjente, tradisjonelle versjonsnummeret. Java 5.0 tilsvarer det interne versjonsnummeret 1.5, Java 6.0 tilsvarer 1.6 osv. "2" z. B. fra Jakarta EE forsvant også fra versjon 5.0 av Java Enterprise Edition. Det kalles nå Java EE 5.

I versjon 5 var det omfattende endringer i språket, samt ytterligere API-utvidelser:

Utvidelsene av inngangs- / utgangsfunksjonene ( JSR -203) som opprinnelig var planlagt for Java 5 ("Tiger" -utgivelse) ble først overført til Java 6 ("Mustang" -utgivelse) og deretter til Java 7 ("Dolphin" -utgivelse) tidlig på 2006 utsatt.

Den siste versjonen av Java SE 5 var JavaSE 5.0u45. JavaSE 5 nådde “End of Public Updates” i oktober 2009.

Versjon 6

Java versjon 6 ble utgitt 11. desember 2006. Spesiell oppmerksomhet ble gitt til diagnose, overvåking og styring. Et rammeverk for å jobbe med forskjellige skriptspråk, for eksempel B. PHP , Python , Ruby og JavaScript ble introdusert.

Ytterligere innovasjoner var en forbedret visning av stasjonære applikasjoner og integrasjonen av Java DB , en relasjonsdatabase implementert i Java og basert på Apache Derby .

Versjonen 6u10 som ble utgitt i oktober 2008, hadde som vanlig ikke bare feilrettinger, men forskjellige endringer i JVM som det ikke ble ventet på før Java 7 ble utgitt. De viktigste innovasjonene som allerede ble bedt om på forhånd, var:

  • Et “Next Generation Java Plugin” som tilbyr nettsideoperatøren flere alternativer via integrerte applets
  • Java-kjernen beregnet på webapplikasjoner, som installerer en minimal JVM om nødvendig og bare laster ned de nødvendige pakkene og lagrer dem lokalt
  • Java Quick Starter, ved hjelp av hvilken starttid for Java-applikasjoner er betydelig redusert.

En komplett liste og detaljerte beskrivelser finner du i kunngjøringen for "Oppdatering 10". Ytterligere forbedringer av den virtuelle maskinen, som opprinnelig var planlagt for Java 7, ble integrert i Java 6 og levert i flere trinn fra "Java 6 Update 14".

Den siste planlagte versjonen av Java SE 6 var "Java SE 6 Update 45", og den ble sendt inn i april 2013 for Java SE 6 for februar 2013 til tross for den kunngjørte "End of Public Updates". Den nåværende versjonen av Java EE 6 er "Java EE 6 Update 4". I desember 2012 begynte Oracle foreløpig å oppgradere noen installasjoner fra JavaSE 6 til JavaSE 7 automatisk. For februar 2013 var det planlagt å oppdatere alle installerte 32-biters versjoner til Java 7 ved hjelp av den automatiske mekanismen.

JavaSE 6 nådde "Slutten av offentlige oppdateringer" i februar 2013.

Versjon 7

Java versjon 7 ble fullført 28. juli 2011.

Fremfor alt er eksisterende funksjoner forbedret og utvidet. Disse er blant andre:

  • Et nytt API- filsystem (NIO.2) som forbedrer hastigheten på filsystemoperasjonene, gir bedre alternativer for kopiering og flytting av filer, inkluderer metoder for å krysse katalogstrukturer, og tillater pålitelig gjenkjenning og håndtering av symbolske koblinger .
  • Biblioteker for nettverksprotokollene Stream Control Transmission Protocol ( SCTP ), Sockets Direct Protocol ( SDP ) og TLS 1.2. En nyere IPv6- nettverksstabel brukes nå der det er mulig, spesielt under Windows .
  • Oppdatering av Unicode- støtte til Unicode 6.0 (fra Unicode 4.0 til Java 6), JDBC- databasegrensesnittet og lokale parametere , som nå implementerer IETF BCP 47 og UTR 35- standardene .
  • Utseendet og følelsen nimbus introdusert med Java 6 Update 10 vil bli en integrert del av spesifikasjonen.
  • En XRender-rørledning for Java 2D som akselererer gjengivelsen av grafiske elementer på Linux.
  • Forbedret støtte for Java bytecode for dynamiske programmeringsspråk .
  • Mindre språkforbedringer i sammenheng med Project Coin , for eksempel bruken av tegnstrenger i bryteruttalelser.

En liste og detaljerte beskrivelser av funksjonene som er implementert med Java 7, finner du i dokumentasjonen til OpenJDK- prosjektet Java 7 .

Java 7 nådde "End of Public Updates" i april 2015. Den siste offentlig tilgjengelige versjonen av Java 7 var "Update 80" fra 14. april 2015, som også inneholdt "ikke-kritiske" feilrettinger. "Premium Support" for versjon 7 var planlagt til juli 2019, "Extended Support" til juli 2022.

Versjon 8

Java 8 ble utgitt 18. mars 2014. Det er den første LTS-versjonen basert på Oracles nye støtteordning.

Det var offentlige og gratis oppdateringer for dem til og med januar 2019. Siden den gang har det vært påkrevd registrering for å få tilgang til Oracle-nettstedet, slik at kommersielle brukere kan få tilgang til gratis oppdateringer frem til mars 2022 og deretter betalte oppdateringer til slutten av 2030. Samtidig kan den nåværende versjonen også lastes ned fra Oracles separate Java-nettsted uten registrering (fra 24. april 2021).

Med Java 8 ble det deretter sendt inn innovasjoner som opprinnelig var planlagt for Java 7, og synergier ble innlemmet som følge av kjøpet av Java av Oracle. Blant annet er følgende innovasjoner implementert:

  • Integrering av Oracle JRockit-funksjoner som forbedret anstrengt låsing i OpenJDK
  • Virtuelle utvidelsesmetoder og nedleggelser ( Lambda- prosjekt )
  • Utvidelser til Collections API muliggjort av Lambda- prosjektet
  • Ny API for dato og klokkeslett som Joda Time
  • Forbedringer i søppelinnsamling, refleksjon, samlinger, generiske artikler og merknader
  • Andre mindre språkforbedringer, for eksempel merknader for Java-typer
  • Ulike sikkerhetsforbedringer
  • Ulike ytelsesforbedringer, spesielt med tanke på parallellisering
  • Metodeimplementering i grensesnitt ("Standardgrensesnitt")

Versjon 9

Java 9 ble utgitt 21. september 2017. Det er en "Non-LTS" -versjon, og det er derfor bare oppdateringer frem til utgivelsen av etterfølgerversjonen. Med "Project Jigsaw" hadde Java 9 et nytt modulsystem som utvidet Java med moduler som et nytt språk. Jigsaw medførte også en grunnleggende strukturell endring i Java-plattformen. "Project Kulla" brakte en integrering av jshell i Java.

Versjon 10

Java 10 ble utgitt 20. mars 2018 og dermed, som kunngjort høsten 2017, bare 6 måneder etter versjon 9. Det er også en "ikke-LTS" -versjon.

Versjon 11

Java 11 ble utgitt som en LTS-versjon 25. september 2018. For den produktive bruken av Oracle JRE kreves et gebyrbasert "Java SE-abonnement" siden denne versjonen. Den kan bare brukes gratis i utviklings- og testmiljøer. Andre kjøretider som OpenJDK , Azul , IBM SDK tilbyr forskjellige gratis / kommersielle supportperioder.

Versjon 12

Java 12 ble utgitt 19. mars 2019.

Versjon 13

Java 13 ble utgitt 17. september 2019.

Versjon 14

Java 14 ble utgitt 17. mars 2020.

Versjon 15

Java 15 ble utgitt 15. september 2020.

Versjon 16

Java 16 ble utgitt 16. mars 2021.

Tillatelse

13. november 2006 kunngjorde Sun at innen utgangen av andre kvartal 2007 skulle all Java-teknologi publiseres under lisensvilkårene i GPL versjon 2 . 8. mai 2007 ble det kunngjort at dette hadde skjedd for det meste av teknologien.

Inntil da var et problem for gratis programvareutviklere at mens Java var gratis, oppfylte det ikke retningslinjene for gratis programvare. Problemer oppsto i denne sammenhengen, spesielt når "ikke-gratis" klasser fra Sun ble brukt når du opprettet programmer , som gratis Java-kompilatorer eller Java-kjøretidsmiljøer ikke kan bruke. I disse tilfellene ble brukere av gratis JVM-er tvunget til å bruke Suns JVM. I denne sammenhengen ble "Java-felle" (også fra Java-fellen ) talt.

Dedikerte utviklere har svart med å utvikle en betydelig mengde gratis programvare for å tolke, kompilere og utføre Java-programmer, for eksempel: B. GNU Classpath , GNU Compiler for Java , Kaffe , Apache Harmony eller IcedTea .

Imidlertid ble lisensvilkårene for Oracle's Java Compatibility Kit (JCK) oppfattet av Apache Software Foundation og Linux Standard Base- arbeidsgruppen som en bevisst forebygging av alternative implementeringer. førte til utelukkelse av Java fra gjeldende LSB-standard 4.1.

applikasjoner

Java brukes for eksempel i følgende områder:

kritikk

Java tilbyr flere sikkerhetsfordeler sammenlignet med direkte utførte programmeringsspråk , hovedsakelig på grunn av utførelsen i en virtuell maskin . For eksempel er en applet på et nettsted underlagt sikkerhetsrelaterte begrensninger pålagt av den virtuelle maskinen. Det samme gjelder analogt for Java-applikasjoner. Alle disse kjører på en virtuell maskin og har ikke tilgang til fritt tilgang til ressurser. Direkte utførte programmeringsspråk (uten en virtuell maskin) tilbyr ikke disse sikkerhetsforholdsregler i det hele tatt, og er derfor ekstremt usikre i forhold til Java.

Hvis det er svakheter i disse sikkerhetsteknikkene på grunn av feil i den virtuelle maskinen eller i klassebiblioteket, kan en ondsinnet applet eller applikasjon utnytte disse svakhetene og muligens få tilgang til ressurser som den normalt ikke ville ha tilgangsrett til.

Java traff overskriftene flere ganger fra 2012 til 2013 på grunn av slike feil. I august 2012 dukket det for eksempel opp en offentlig tilgjengelig utnyttelse på Internett som omgår all Java-sandkasse og andre sikkerhetsprosedyrer ved ganske enkelt å slå dem av. Noen dager senere ble denne utnyttelsen ( CVE : 2012-4681) integrert i en rekke utnyttelsesrammer, inkludert Metasploit og Blackhole . Oracle publiserte deretter en nødoppdatering, men eksperter fant også sikkerhetshull i de oppdaterte Java-versjonene.

10. januar 2013 den anerkjente datamagasinet c't utstedt en anbefaling om å avinstallere Java plug-in av sikkerhetsmessige grunner , og selv å avinstallere Java når du bruker Internet Explorer . 11. januar 2013 fulgte BSI denne anbefalingen.

Med de ikke-planlagte eller fremstilte Java-oppdateringene 7u11 til 7u13, ble sikkerhetsproblemene løst ifølge Oracle. BSI ga deretter alt klart for bruk av Java.

weblenker

Individuelle bevis

  1. Java Language Environment - 1.2 Design Goals of the JavaTM Programming Language , James Gosling og Henry McGilton, mai 1996
  2. Java Language Overview , 1995 Sun Whitepaper
  3. Wolfgang Weigend: Java Platform Strategy. (Flash) lysbilder for forelesningen. Oracle, 24. august 2011, s. 5 , åpnet 8. januar 2012 .
  4. a b Referanse: J2SE-kodenavn . I: Java Platform, Standard Edition (Java SE) . Sun Microsystems ( online [åpnet 8. januar 2012]).
  5. Steven Chan: Forståelse av J2SE 1.3 Implikasjoner ved utgangen av livet for apper 11i . ( Online [åpnet 26. juli 2018]).
  6. Java SE EOL-policy. (Ikke lenger tilgjengelig online.) 26. oktober 2011, arkivert fra originalen 14. november 2011 ; åpnet 26. juli 2018 (engelsk).
  7. a b c d e f Oracle Java SE Support Roadmap. Hentet 8. juli 2018 .
  8. et b Mustang og Dolphin ... vi vil savne deg ( Memento av den opprinnelige fra 16.november 2006 i Internet Archive ) Omtale: The arkivet koblingen ble automatisk satt inn og ennå ikke kontrollert. Kontroller original- og arkivlenken i henhold til instruksjonene, og fjern deretter denne meldingen. - Ingen kodenavn fra og med JSE 6.0, Ray Gans's Blog, 15. august 2006 (åpnet 12. oktober 2009) @1@ 2Mal: Webachiv / IABot / weblogs.java.net
  9. Java 7 utgivelser etter dato - side på Java.com . Hentet 20. november 2013.
  10. Tidsplan for JDK 8. Åpne JDK 20. august 2012, åpnet 5. oktober 2012 .
  11. a b c d e f g h i j Oracle Java SE Support Roadmap. Oracle, 2. april 2021, åpnet 24. april 2021 .
  12. JDK 9. åpne JDK, 5. januar 2017, åpnet 5. januar 2017 (engelsk).
  13. et b Alexander Neumann: Java 11 ikke bare bringer en endret støtte modell. heise online , 25. september 2018, åpnet 3. oktober 2018 .
  14. JDK 12. Tilgang 8. oktober 2018 .
  15. JDK 13. Tilgang 5. november 2019 .
  16. JDK 14. Tilgang til 13. april 2020 .
  17. JDK 15. Tilgang 8. februar 2021 .
  18. JDK 16. Tilgang 9. april 2021 .
  19. ^ Robert Liguori, Patricia Liguori: Java 8 Pocket Guide - Øyeblikkelig hjelp for Java-programmerere . O'Reilly Media, 2014, ISBN 978-1-4919-0086-4 .
  20. a b c Java SE 9 & JDK 9. Tilgang 8. oktober 2018 (engelsk).
  21. a b c Java SE 10 & JDK 10. Tilgang 8. oktober 2018 (engelsk).
  22. cd jdk11/src; find -name package-info.java | wc --lines
  23. a b Java 11 API-referanse. Hentet 8. oktober 2018 .
  24. cd jdk11/src; find -name module-info.java | wc --lines
  25. news.cnet.com
  26. url = http://www.sun.com/smi/Press/sunflash/2000-05/sunflash.20000508.3.xml
  27. a b c d e Oracle Java SE Support Roadmap. oracle.com, 22. april 2015, åpnet 27. april 2015 .
  28. Versjon 1.5.0 eller 5.0? , Java 5 Release Notes, åpnet 5. februar 2009
  29. Java API-spesifikasjoner . Oracle. Hentet 17. mai 2019.
  30. JSR 203: Flere nye I / O APIer for Java-plattformen ("NIO.2"). I: Java Community Process. 2011, åpnet 5. oktober 2014 .
  31. Oracle.com: Neste generasjons Java-plugin-teknologi introdusert i Java SE 6 oppdatering 10
  32. Installasjon av Java Runtime Environment for JavaSE 6u10
  33. JavaTM hurtigstarter for JavaSE 6u10
  34. Java SE 6 Update 10 FAQ: JavaTM SE 6 Update Release Notes .
  35. oracle: Java 6 automatisk oppdatering til Java 7. oracle.com, åpnet 4. januar 2013 .
  36. Forbedringer av Java-programmeringsspråk - Liste over Core Java-innovasjoner i versjoner 5, 6, 7
  37. JDK 7-funksjoner
  38. Java SE Runtime Environment 7 Nedlastinger. oracle.com, april 2015, åpnet 27. april 2015 .
  39. Java utgivelser. (Versjoner 7 og 8). java.com, 18. juli 2017, åpnet 18. oktober 2017 .
  40. Gabriela Motroc: Ingen flere offentlige oppdateringer for Java 8 forretningsbrukere etter januar 2019 [Poll] - JAXenter. JAXenter, 23. april 2018, åpnet 24. april 2021 .
  41. Java. Oracle, åpnet 24. april 2021 .
  42. ^ Hva er nytt i JDK 8. Oracle, åpnet 24. april 2021 .
  43. Hvordan fungerer Java 8 'nye standardgrensesnittmodell på stackoverflow.com
  44. JDK 9. I: OpenJDK. Oracle Corporation og / eller dets tilknyttede selskaper, 7. juni 2017, åpnet 15. juni 2017 (engelsk, prosjektplanlegging for JDK 9).
  45. Neste trinn i Java-modularisering: Project Jigsaw flytter til JDK-9-grenen. Heise-Verlag, 12. mars 2016, åpnet 22. februar 2017 .
  46. Dr. Kristine Schaal, Dr. Rüdiger Grammes, Martin Lehmann: Java 9 bringer det nye Jigsaw-modulsystemet. Informatik Aktuell, 15. februar 2018, åpnet 3. mai 2019 .
  47. jshell JEP. Åpne JDK, 5. november 2015, åpnet 10. november 2015 .
  48. E Hendrik Ebbers, Timo Brandstätter: Må Java nå betales for? heise online , 28. august 2018, åpnet 3. oktober 2018 .
  49. JDK 12 . Hentet 22. mars 2019.
  50. JDK 13 . Hentet 17. september 2019.
  51. JDK 14 . Hentet 25. mars 2020.
  52. JDK 15. Tilgang til 6. oktober 2020 .
  53. JDK 16. Tilgang 9. april 2021 .
  54. sun.com ( Memento fra 26. august 2007 i Internet Archive )
  55. Mike Loukides: Endelig! Åpen kildekode Java. (Ikke lenger tilgjengelig online.) November 2006, arkivert fra originalen 6. oktober 2014 ; Hentet 6. oktober 2014 . Info: Arkivkoblingen ble satt inn automatisk og er ennå ikke sjekket. Kontroller original- og arkivlenken i henhold til instruksjonene, og fjern deretter denne meldingen. @1@ 2Mal: Webachiv / IABot / archive.oreilly.com
  56. JAVAONE: Sun - Hovedtyngden av Java er åpent hentet ( Memento fra 14. april 2008 i Internet Archive )
  57. Richard Stallman: Free but Shackled - The Java Trap . 12. april 2004
  58. ^ ASF trekker seg fra JCPs eksekutivkomité. I: Apache Software Foundation-bloggen. Apache Software Foundation, 9. desember 2010, åpnet 5. oktober 2014 .
  59. Linux Standard Base 4.1 uten Java . heise.de. 11. mars 2011. Tilgang 16. november 2011: “ Java, inkludert i Linux Standard Base 4.0 med statusen“ Trial Use ”, er fjernet fra den nye versjonen. Årsaken til dette er lisensieringsproblemer med Java Compatibility Kit (JCK), hvis eksistens er en forutsetning for at en Java-implementering skal kunne kalle seg Java-kompatibel. Apache Software Foundation beskylder Oracle, som Sun tidligere, for å ekskludere konkurrerende Java-implementeringer med lisensvilkårene til JCK. "
  60. Heise Security: Java-0-Day under mikroskopet . Hentet 22. februar 2013.
  61. Heise Security: Stor nødoppdatering for Java . Hentet 22. februar 2013.
  62. Java-utnyttelse (CVE-2012-4681) . Arkivert fra originalen 17. februar 2013. Info: Arkivkoblingen ble satt inn automatisk og er ennå ikke sjekket. Kontroller original- og arkivlenken i henhold til instruksjonene, og fjern deretter denne meldingen. Hentet 23. mars 2013. @1@ 2Mal: Webachiv / IABot / pastie.org
  63. Heise Security: Java-0-Day under mikroskopet . Hentet 22. februar 2013.
  64. CVE-2012-4681MITRE (engelsk)
  65. Farlig hull i gjeldende Java-versjon . I: Heise Security . Hentet 10. januar 2013.
  66. Kritisk sårbarhet i det nåværende Java-kjøretidsmiljøet . Federal Office for Information Security (BSI). Arkivert fra originalen 18. januar 2013. Info: Arkivkoblingen ble satt inn automatisk og er ennå ikke sjekket. Kontroller original- og arkivlenken i henhold til instruksjonene, og fjern deretter denne meldingen. Hentet 13. januar 2013. @1@ 2Mal: Webachiv / IABot / www.bsi.bund.de
  67. Februar 2013 Kritisk oppdatering for Java SE utgitt . Hentet 5. februar 2013.
  68. Sårbarhet i gjeldende Java runtime-miljø lukket. Produsenten har en oppdatering. BSI anbefaler at Internett-brukere installerer oppdateringen. Federal Office for Information Security (BSI), 14. januar 2013, åpnet 26. mars 2013 : "Etter installasjon av Java-sikkerhetsoppdateringen, kan også nettleserens plugin-moduler aktiveres og brukes på nytt."