Movatterモバイル変換


[0]ホーム

URL:


Hoppa till innehållet
Wikipedia
Sök

Java (programspråk)

Från Wikipedia
Ej att förväxla med Javascript.
Java
ParadigmObjektorienterad
Gavs ut1991–1995
Skapat avJames GoslingSun Microsystems
UtvecklareOracle
Senaste versionJava SE 17 (LTS)[1]
Java SE 11.0.9 (LTS)[2]
Java SE 8u271[3] (2020-10-20)
Datatypsdisciplinstatic, strong
DialekterJava ME
Influerat avSimula,C,C++,Objective C,Smalltalk
InflueratC#,Ceylon,Kotlin,Scala,Groovy
PlattformJVM
LicensGPL /Java Community Process
Webbplatswww.oracle.com/technetwork/java

Java är ettobjektorienteratprogramspråk som konstruerades av bland andraJames GoslingSun Microsystems under 90-talets tidigare hälft. Ursprungligen kallades språketD, för att sedan ändras tillOak[4], men Sun bytte slutligen ut namnet ytterligare en gång, och Java presenterades för världen23 maj1995. Anledningen till namnbytet var attOak var upptaget. Programspråket är idag ett av de mest använda språken och används för allt från diskmaskiner till mobilspel.

Historia

[redigera |redigera wikitext]

Java-plattformen och programspråket började som ett internt projekt hosSun Microsystems i december 1990 för att ge ett alternativ tillC++ ochC. IngenjörenPatrick Naughton var frustrerad överAPI:erna som Sun hade skapat för C och C++. Medan han övervägde att säga upp sig och börja påNeXT istället, fick han erbjudande om möjligheten att utveckla en ny teknik, och därmed startadeStealth Project.

Det dröjde inte länge innan Stealth bytte namnet tillGreen Projectoch fick tillskott genom attJames Gosling och Mike Sheridan började hjälpa till med projektet. Tillsammans med andra ingenjörer började de utveckla i ett litet kontor på Sand Hill Road iMenlo Park,Kalifornien. Deras mål var att utveckla en ny teknologi för programmering av nästa generations smarta enheter.

Projektgruppen övervägde att använda C++ till en början, men valde att inte göra så av flera anledningar. Eftersom de utvecklade ettinbäddat system med begränsade resurser, bestämde de sig för att C++ behövde för mycket minne och att dess komplexitet ledde till att utvecklare lättare kunde råka skriva fel. På grund av programmets brister i fråga omskräpsamling skulle utvecklare behöva hantera systemets minne manuellt, vilket är en utmanande och krånglig uppgift. Gruppen ville bygga en plattform som kunde flyttas enkelt till olika typer av enheter.

Bill Joy hade idéer om ett nytt programspråk influerat avMesa och C. Han kom med ett förslag i ett dokument kallatFurtheratt ingenjörerna skulle skapa enobjektorienterad miljö baserad på C++. I början så försökte Gosling att modifiera och utöka C++ (han refererade till detta med "C++ ++ --") men han övergav sitt försök till detta och bestämde sig istället för att skapa ett helt nytt programspråk. Detta kallade han förOak, eftersom det stod just en ek utanför hans kontor.

År 1994 bytte Sun namn på språket Oak tillJava efter de upptäckt attOak Technology hade ensamrätt till namnet. Trots att Java 1.0akunde laddas ned redan 1994, kom inte den första riktiga publika versionen, Java 1.0a2, förrän 23 maj 1995 då den presenterades på SunWorld-konferensen.[5]

Versionhistorik

[redigera |redigera wikitext]

Sedan den första versionen av Java släpptes har programspråket fått flera uppdateringar. Av dessa är samtliga versioner mellan 1.0 och 8, samt versionerna 11, 17 och 21 så kalladelong term support releases, vilket innebär att Oracle kommer att fortsätta stödja dessa versioner längre än de övriga.[6]

VersionDatum[6]Urval av nya funktionerStöd upphör[6]
1.01995-2002
1.11997
  • Stöd förJIT-kompilatorer[7]
  • JavaBeans API
  • Serialisering
  • Stöd för Unicode 2.0
  • AWT API, för att enkelt kunna skapa grafiska användargränssnitt.
2003
1.21998
  • Förbättrad säkerhetsmodell[8]
  • Prestandaförbättringar
  • Nyckelordetstrictfp[9]
  • Collections API, för att lättare kunna hantera samlingar med data.
  • Swing API, för att enklare hantera grafiska användargränssnitt.
2003
1.32000
  • JNDI inkluderas direkt, och är inte längre ett tillägg.[10]
  • Förbättrad säkerhet och prestanda.
2011
1.42002
  • Nyckelordetassert[11]
  • Verktyg för hantering avXML
  • Verktyg för utskrifter
  • Möjlighet att skapa kedjor av undantag (exceptions)
  • FörbättradI/O-hantering ijava.nio
2013
52004
  • Generiska klasser och metoder[12]
  • Förbättradfor-loop, som enklare kan användas för att löpa igenom alla element i en samling.
  • Nyckelordetenumför att skapa uppräkningstyper
  • Automatisk omvandling mellan primitiva datatyper och respektive omslagsklass (autoboxing)
  • Varargs
  • Statiska importer
  • Annotationer
  • Nya verktyg för att hantera trådar
2015
62006
  • Prestandaförbättringar[13]
  • API för att köraskriptspråk i JVM[14]
  • API för att starta en Javakompilator programmatiskt.
  • Förbättrad hantering av användargränssnitt.
2018
72011
  • Möjlighet att använda strängar iswitch-satser[15]
  • Möjlighet att skriva heltal i binär form i källkoden.
  • Möjlighet att utelämna typargument vid instantiering av generiska klasser i de fall kompilatorn ändå kan sluta sig till vilken typ som avses. Alltså möjliggjordes kod somList<String> words = new ArrayList<>() där typargumentetStringtidigare skulle ha krävts även vid konstruktoranropet tillArrayList.
  • try-with-resources d.v.s. möjligheten att specificera ett antalresurser, ofta strömmar eller skannrar, vilka automatiskt kommer att stängas efter etttry-block oavsett om ett undantag skapades eller ej.
  • Möjlighet att låta sammacatch-block fånga olika sorters undantag.
2022
82014
  • Lambda-uttryck, vilka låter användaren behandla funktioner som variabler.[16]
  • Streams API, ett tillskott till Collections API som tillsammans med lambda-uttryck möjliggör en del uttryck frånfunktionell programmering, t.ex.map ochreduce.
  • Referenser till metoder på formenString::toString
  • Default-metoder i gränssnitt.
  • Möjlighet att repetera annotationer.
2030
92017
  • Moduler.[17]
  • Privata metoder i gränssnitt.
  • Möjlighet att använda variabler som resurser itry-with-resources.
2018
102018
  • Typinferens för lokala variabler med nyckelordetvar.[18]
2018
112018
  • Stöd för Unicode 10[19]
  • Förbättringar i standardbiblioteket.
2026
122019
  • Stöd för Unicode 11[20]
  • Förbättringar i standardbiblioteket.
2019
132019
  • Stöd för Unicode 12
  • Förbättringar i standardbiblioteket.[21]
2020
142020
  • Möjlighet att användaswitch-satser som ett uttryck.[22]
  • NullPointerException ger mer information än tidigare.[23]
  • Förbättringar i standardbiblioteket.
2020
152020
  • Möjlighet att skapa block av text som innehåller flera rader.[24]
  • Stöd för Unicode 13.[25]
  • Förbättringar i standardbiblioteket.
  • Ny skräpsamlare.
2021
162021
  • Möjlighet att användamönstermatchning (pattern matching) iinstanceof-satser.[26]
  • Införande av s.k.record-klasser, vilka möjliggör enklare datahantering.
  • Förbättringar i standardbiblioteket.
2021
172021
  • Möjlighet för klasser att begränsa vilka klasser som får ärva från dem med det nya nyckelordetsealed.
  • Förbättringar i standardbiblioteket.[27]
2029
182022
  • UTF-8 är numera standard för alla klasser i standardbiblioteket.[28]
  • Övriga förbättringar i standardbiblioteket.
2022
192022
  • Stöd för Unicode 14.[29]
  • Förbättringar i standardbiblioteket.
2023
202023
  • Stöd för Unicode 15.[30]
  • Förbättringar i standardbiblioteket.
2023
212023
  • Stöd för mönstermatchning förrecord-klasser i instanceof-satser. Exempelvis möjliggörs följande:[31]
    if(objectinstanceofPoint(doublex,doubley)){System.out.println("x-värde "+x);System.out.println("y-värde "+y);}
  • Stöd för mönstermatchning iswitch-satser. Följande kod visar ett exempel på detta:
    publicinterfacePet{...}publicclassDogimplementsPet{publicStringbark(){return"Voff!";}...}publicclassCatimplementsPet{publicStringmeow(){return"Mjau!";}...}publicclassMain{publicstaticStringgetGreeting(Petpet){returnswitch(pet){caseDogd->d.bark();caseCatc->c.meow();default->"?";}}}
2031
222024
  • Möjlighet att använda_ i stället för en variabel, exempelvis ifor-satser.
2024

Design

[redigera |redigera wikitext]

De viktigaste designmålen för Java var[32]:

  1. Det ska vara enkelt, objektorienterat och bekant.
  2. Det ska vara robust och säkert.
  3. Det ska ha en arkitekturoberoende och portabel miljö.
  4. Det ska kunna exekveras med höga prestanda.
  5. Det ska vara tolkat, trådat och dynamiskt.

Plattformsoberoendet uppnås genom att det färdiga Javaprogrammetkompileras tillbytekod istället för tillmaskinkod. Denna bytekod tolkas ochkörs sedan i ett vanligt plattformsberoende program, en "virtuell maskin". Detta extra steg gör att Java historiskt sett varit långsammare änkompilerande programspråk, men skillnaden har krympt i och med introduktionen avJIT-kompilatorer, exempelvis Suns egnaHotSpot ochBEAsJRockit

Javakod.

Den13 november2006 släppte Sun Microsystems sin tillämpning av Java under den fria licensenGPL. Ända sedan Javas tillkomst har Javautvecklare debatterat om Java ska släppas somfri mjukvara eller inte. Java har varit gratis att ladda ner och använda, men licensen har begränsat distribution och förändring. Detta har bland annat hindrat Java från att skickas med de flesta Linuxdistributioner och gjort att en del utvecklare som endast vill arbeta med fri källkod undvikit Java.

Man skapar ett Java-program i flera steg:

  1. Man börjar med att tillverka enkällfil. Källfilen består av vanlig text som följer Javassyntax.
  2. När källfilen är klar måste den kompileras av enkompilator till en bytekodfil. Bytekodfilen kan läsas avJava Virtual Machine (JVM), enemuleraddator eller exekveringsmiljö.
  3. Varje dator som kör programmet använder enprogramtolkare som tar JVM till hjälp för att tolka bytekoden till instruktioner som datorn kan utföra.

I Java får enklass endast haensuperklass, till skillnad från exempelvisC++.Multipla arv av klasser är således inte tillåtet. En klass kan dock verka på mer än ettgränssnitt (eng.interface).

En fördel med Java är att språket har ett stort bibliotek med färdigadatastrukturer, bibliotek och ramverk, bland annat för nätverksanslutning och för att visa grafiska fönster på ett enkelt sätt.

Programexempel

[redigera |redigera wikitext]

Hello world

[redigera |redigera wikitext]

"Hello, World!" med terminalutskrift:

publicclassHello{publicstaticvoidmain(String[]args){System.out.println("Hello World!");}}

"Hello, World!" med grafisk utskrift:

importjavax.swing.*;publicclassHello{publicstaticvoidmain(String[]args){JOptionPane.showMessageDialog(null,"Hello World!");}}

Inmatning, utmatning

[redigera |redigera wikitext]

Här är ett enkelt exempel på hur man skriver ut information och får inmatning av användaren.

importjava.util.Scanner;publicclassJavaDemo{publicstaticvoidmain(String[]args){System.out.println("Hej, vad heter du?");Scannerscan=newScanner(System.in);Stringnamn=scan.nextLine();System.out.println("Hej, "+namn+". Ditt namn börjar på "+namn.charAt(0));}}

Ett väldigt enkelt program. Metoden charAt() med parametern 0 (noll) returnerar första tecknet i strängen (en datatyp för text) namn.

Alltså kommer programmet se ut så här när det körs:

Hej, vad heter du?"Robert Ahlberg"Hej, Robert Ahlberg. Ditt namn börjar på R

Det som är skrivet inomCitationstecken matas in av användaren.

Personinformation

[redigera |redigera wikitext]

Följande klassdefinition demonstrerar hur en enkel typ definieras i Java i form av en klass. I detta fall beskriver klassen en person med några typiska attribut för en sådan, till exempel namn (name) och ålder (age), samt några metoder för att sätta och hämta värden frånattributen.

publicclassPerson{privateStringname;privateStringlocation;privateintage;publicPerson(Stringname,Stringlocation,intage){this.name=name;this.location=location;this.age=age;}publicvoidsetName(StringnewName){name=newName;}publicvoidsetLocation(StringnewLocation){location=newLocation;}publicvoidsetAge(intnewAge){age=newAge;}publicStringgetName(){returnname;}publicStringgetLocation(){returnlocation;}publicintgetAge(){returnage;}publicStringtoString(){return"Name: "+name+" (Age: "+age+")";}}

Olika versioner av Java

[redigera |redigera wikitext]

Java ME

[redigera |redigera wikitext]

Java Platform, Micro Edition, eller Java ME, är en Java-plattform avsedd för inbyggda system (mobila enheter är en typ av sådana system). Målenheter är allt från industriella styrsystem till mobiltelefoner (speciellt funktionen telefoner) ochset-top-boxar. Java ME var tidigare känt som Java 2 Platform, Micro Edition (J2ME). I september 2012 använde mer än 3 miljarder mobiltelefoner Java.[33] Teknologin bakom Java ME skapades för att hantera de resursbegränsningar som kommer med små enheter, såsom minne, teckenruta eller energiförbrukning.[34]

Java SE

[redigera |redigera wikitext]

Java Standard Edition, är en version av Java som används för skrivbords- ochklient-tillämpningar.

Java EE

[redigera |redigera wikitext]

Java Enterprise Edition, en version/plattform med inbyggda ramverk som löser vanliga problemställningar i till exempel avancerade servertillämpningar. Java EE är antagligen det populäraste tillämpningsområdet av Java för tillfället,[källa behövs] och är en populär teknik för att tillämpas på exempelvis finans- och banksystem. SeJ2EE. Exempel på tekniker som samlats under samlingsnamnet JEE:

Undantagshanteringssystemet

[redigera |redigera wikitext]

Java som programmeringsspråk erbjuder en omfattande felkontrollmekanism. Ett av de huvudsakliga sätten att uppnå detta är undantagshanteringssystemet (exception[35]). När ett fel uppstår under programmet kan Java implementera ett undantag där objektet återspeglar felet. Detta system gör det möjligt för programmet att hantera fel på ett strukturerat sätt och inte på ett sådant sätt att programmet kraschar eller gör det svårt att köra programmet.

I Java hanteras undantag med systemet try-catch-finally-block. Try-satsen innehåller koden som kastar undantaget och Catch-satsen innehåller koden som hanterar undantaget. Finally-satsen är proceduren efter dessa, som rensar resurserna när de tidigare satserna har körts.

Java tillhandahåller också en mekanism där kast- och fångstmetoderna implementeras på olika sätt, där programmeraren definierar sina handlingar. Detta ger programmerare en bra möjlighet att göra flexibel felhantering utöver de vanliga undantagshanteringsprocedurerna i programmeringsspråket Java.

Programmeringsspråket Java har också ett annat sätt att hantera fel och det bygger på den typsäkra mekanismen. Programmeringsspråket Java är ett starkt "nyckelspråk", vilket innebär att typen av variabler måste vara fullständigt deklarerade vid den tidpunkt den definieras. Detta hjälper till med fel som typinkompatibilitet och undantag för nollpekare.

Generellt är felhanteringsmekaniken i programmeringsspråket Java pålitlig och med hjälp av dessa är det möjligt att programmera in stabil och lätthanterlig kod i mjukvara.

Övrig information

[redigera |redigera wikitext]
  • Java klarar avUnicode direkt, till skillnad från många andra programspråk, vilket underlättar användning av språk som inte stöds av andra teckenuppsättningar, såsomISO 8859-1, exempelvisgrekiska och asiatiska språk.
  • Java skall inte förväxlas medJavaScript, som visserligen också är plattformsoberoende men har ett helt annat ursprung. JavaScript behöver inte förkompileras på samma sätt som Java, utan exekveras direkt av enprogramtolk. JavaScript har traditionellt använts näst intill uteslutande importerat till, eller inbäddat iHTML-kod, avsedd för webbsidor. På senare tid har emellertid dess popularitet som skriptspråk på serversidan ökat avsevärt, mycket tack vare plattformenNode.js. Det faktum att namnen liknar varandra har lett till mycket förvirring, och än idag finns det många som tror att JavaScript är synonymt med Java, när det i själva verket inte finns något särskilt samband som motiverar de snarlika namnen. JavaScript är ursprungligen hämtat urEcmascript men uppfattas som inspirerat av Java, på grund av liknande syntax, men skiljer sigsemantiskt väldigt mycket, till exempel genom attvariablerna i JavaScript saknar uttryckligadatatyper.
  • Realtidsjava är ett aktivt forskningsområde, där flera olika angreppssätt tillämpas.
  • Mycket av syntaxen för Java kommer frånC ochC++.
  • Många kända spel och program, till exempelMinecraft ochNasa world wind är programmerade i språket.

Se även

[redigera |redigera wikitext]

Externa länkar

[redigera |redigera wikitext]

Litteratur

[redigera |redigera wikitext]
  • Schildt, HerbertJava The Complete Reference, Eighth Edition, Oracle Press, 2011

Källor

[redigera |redigera wikitext]
  1. ^[1]
  2. ^[2]
  3. ^[3]
  4. ^#DidYouKnow, Java was originally called
  5. ^”Om Java på engelskspråkiga Wikipedia”.http://en.wikipedia.org/wiki/Java_(software_platform)#History. Läst 4 mars 2015. 
  6. ^ [abc]”JDK Releases”. Java. 9 februari 2023.https://www.java.com/releases/. Läst 23 juni 2023. 
  7. ^”SUN SHIPS JDK 1.1 -- JAVABEANS INCLUDED”. web.archive.org. 10 februari 2008. Arkiverad frånoriginalet den 10 februari 2008.https://web.archive.org/web/20080210044125/http://www.sun.com/smi/Press/sunflash/1997-02/sunflash.970219.0001.xml. Läst 23 juni 2023. 
  8. ^”SUN DELIVERS NEXT VERSION OF THE JAVA PLATFORM”. web.archive.org. 16 augusti 2007. Arkiverad frånoriginalet den 16 augusti 2007.https://web.archive.org/web/20070816170028/http://www.sun.com/smi/Press/sunflash/1998-12/sunflash.981208.9.xml. Läst 23 juni 2023. 
  9. ^”Java Language Keywords (The Java™ Tutorials > Learning the Java Language > Language Basics)”. docs.oracle.com.https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html. Läst 23 juni 2023. 
  10. ^”New Features”. web.archive.org. 7 november 2006. Arkiverad frånoriginalet den 7 november 2006.https://web.archive.org/web/20061107051825/https://java.sun.com/j2se/1.3/docs/relnotes/features.html. Läst 23 juni 2023. 
  11. ^”New Features”. web.archive.org. 8 januari 2007. Arkiverad frånoriginalet den 8 januari 2007.https://web.archive.org/web/20070108015942/https://java.sun.com/j2se/1.4.2/docs/relnotes/features.html. Läst 23 juni 2023. 
  12. ^”J2SE(TM) 5.0 New Features”. docs.oracle.com.https://docs.oracle.com/javase/1.5.0/docs/relnotes/features.html#lang. Läst 23 juni 2023. 
  13. ^”Java SE 6 Features and Enhancements”. Oracle. 2006.https://www.oracle.com/java/technologies/javase/features.html. Läst 13 augusti 2023. 
  14. ^”Scripting for the Java Platform”. docs.oracle.com.https://docs.oracle.com/javase/6/docs/technotes/guides/scripting/. Läst 13 augusti 2023. 
  15. ^”Java Programming Language Enhancements”. docs.oracle.com.https://docs.oracle.com/javase/7/docs/technotes/guides/language/enhancements.html#javase7. Läst 24 mars 2024. 
  16. ^”What's New in JDK 8”. Oracle.https://www.oracle.com/java/technologies/javase/8-whats-new.html. Läst 25 mars 2024. 
  17. ^”Java Platform, Standard Edition What’s New in Oracle JDK 9” (på amerikansk engelska). docs.oracle.com.https://docs.oracle.com/javase/9/whatsnew/toc.htm#JSNEW-GUID-825576B5-203C-4C8D-85E5-FFDA4CA0B346. Läst 24 mars 2024. 
  18. ^”Java Platform, Standard Edition Java Language Updates” (på amerikansk engelska). docs.oracle.com.https://docs.oracle.com/javase/10/language/toc.htm#JSLAN-GUID-7D5FDD65-ACE4-4B3C-80F4-CC01CBD211A4. Läst 24 mars 2024. 
  19. ^”JDK 11 Release Notes”. Oracle.https://www.oracle.com/java/technologies/javase/11-relnote-issues.html#NewFeature. Läst 25 mars 2024. 
  20. ^”JDK 12 Release Notes”. Oracle.https://www.oracle.com/java/technologies/javase/12-relnote-issues.html#NewFeature. Läst 25 mars 2024. 
  21. ^”JDK 13 Release Notes”. Oracle.https://www.oracle.com/java/technologies/javase/13-relnote-issues.html. Läst 25 mars 2025. 
  22. ^”Migration Guide” (på amerikansk engelska). Oracle Help Center.https://docs.oracle.com/en/java/javase/14/migrate/index.html#GUID-6B103F24-CA12-4645-A37C-7AB9E7EF1878. Läst 24 mars 2024. 
  23. ^”JDK 14 Release Notes”. Oracle.https://www.oracle.com/java/technologies/javase/14-relnote-issues.html#NewFeature. Läst 25 mars 2024. 
  24. ^”Migration Guide” (på amerikansk engelska). Oracle Help Center.https://docs.oracle.com/en/java/javase/15/migrate/index.html#GUID-F0F718F5-13E5-45DC-BD8E-D1C455CA9977. Läst 24 mars 2024. 
  25. ^”JDK 15 Release Notes”. Oracle.https://www.oracle.com/java/technologies/javase/15-relnote-issues.html#NewFeature. Läst 25 mars 2024. 
  26. ^”Significant Changes in the JDK” (på amerikansk engelska). Oracle Help Center.https://docs.oracle.com/en/java/javase/16/migrate/significant-changes-jdk-release.html#GUID-327C39ED-C3FD-4637-906A-36C6697E85D5. Läst 24 mars 2024. 
  27. ^”Significant Changes in the JDK” (på amerikansk engelska). Oracle Help Center.https://docs.oracle.com/en/java/javase/17/migrate/significant-changes-jdk-release.html#GUID-339B2415-8BA8-438C-93AF-F9C746F7CE45. Läst 25 mars 2024. 
  28. ^”Significant Changes in the JDK” (på amerikansk engelska). Oracle Help Center.https://docs.oracle.com/en/java/javase/18/migrate/significant-changes-jdk-release.html#GUID-DC8E76B6-E498-49E5-B0AF-EDDACBD4AF4F. Läst 25 mars 2024. 
  29. ^”JDK 19 Release Notes”. Oracle.https://www.oracle.com/java/technologies/javase/19-relnote-issues.html#NewFeature. Läst 25 mars 2024. 
  30. ^”JDK 20 Release Notes”. Oracle.https://www.oracle.com/java/technologies/javase/20-relnote-issues.html#NewFeature. Läst 25 mars 2024. 
  31. ^”Significant Changes in the JDK” (på amerikansk engelska). Oracle Help Center.https://docs.oracle.com/en/java/javase/21/migrate/significant-changes-jdk-release.html#GUID-AE3BC101-D3CB-4207-8766-A7A1B85744A0. Läst 25 mars 2024. 
  32. ^”1.2 Design Goals of the JavaTM Programming Language”. Java.sun.com. 1 januari 1999.http://java.sun.com/docs/white/langenv/Intro.doc2.html. Läst 21 maj 2011. 
  33. ^”About Java Mobile”. Oracle.http://www.oracle.com/technetwork/java/javame/javamobile/overview/about/index.html. Läst 18 september 2012. 
  34. ^”What is J2ME or Java ME”. Oracle.http://www.java.com/en/download/faq/whatis_j2me.xml. Läst 18 september 2012. 
  35. ^”Exception” (på engelska). Wikipedia. 2022-09-23.https://en.wikipedia.org/w/index.php?title=Exception&oldid=1111940534. Läst 31 mars 2023. 
Hämtad från ”https://sv.wikipedia.org/w/index.php?title=Java_(programspråk)&oldid=56808628
Kategorier:
Dolda kategorier:

[8]ページ先頭

©2009-2026 Movatter.jp