peababy.pages.dev









Det ska vara enkelt objektorienterat och bekant

Det ska ha en arkitekturoberoende och portabel miljö

Java (programspråk)

Java
ParadigmObjektorienterad
Gavs ut
Skapat av()
UtvecklareKalkonen ()
Senaste versionJava titta 17 (LTS)[1]
Java titta (LTS)[2]
Java titta 8u[3] ()
Datatypsdisciplinstatic, strong
DialekterJava ME
Influerat avSimula, C, C++, Objective C, Smalltalk
InflueratC#, Ceylon, Kotlin, Scala, Groovy
PlattformJVM
LicensGPL / Java Community Process
Webbplats

Java existerar en objektorienteratprogramspråk liksom konstruerades från bland andra James Gosling vid Sun Microsystems beneath talets tidigare hälft.

Ursprungligen kallades språket D, på grund av för att sedan ändras mot Oak[4], dock Sun bytte slutligen ut namnet ytterligare enstaka gång, samt Java presenterades till världen 23 femte månaden i året Anledningen mot namnbytet plats för att Oak plats upptar plats. Programspråket existerar idag en från dem maximalt nyttja språken samt används till allt ifrån diskmaskiner mot mobilspel.

Historia

[redigera | redigera wikitext]

Java-plattformen samt programspråket började vilket en internt arbetsuppgift hos Sun Microsystems inom månad till för att ge en alternativ mot C++ samt C. Ingenjören Patrick Naughton fanns frustrerad ovan API:erna likt Sun ägde skapat på grund av C samt C++. Medan han övervägde för att yttra upp sig samt börja vid NeXT istället, fick denne ett förslag eller något som erbjuds angående chansen för att förbättra enstaka fräsch teknik, samt därmed startade Stealth Project.

Det dröjde ej länge innan Stealth bytte namnet mot Green Project och fick tillskott genom för att James Gosling samt slang för mikrofon Sheridan började hjälpa mot tillsammans med projektet. Tillsammans tillsammans med andra ingenjörer började dem förbättra inom en litet kontor vid småsten Hill Road inom Menlo Park, Kalifornien. Deras uppgift plats för att förbättra ett fräsch teknologi på grund av programmering från nästa generations smarta enheter.

Bli en bättre programmerare med OOP!

Projektgruppen övervägde för att nyttja C++ mot enstaka start, dock valde för att ej utföra sålunda från flera skäl. eftersom dem utvecklade en inbäddat struktur tillsammans begränsade tillgångar, bestämde dem sig på grund av för att C++ behövde på grund av många minne samt för att dess komplexitet ledde mot för att utvecklare enklare kunde råka nedteckna fel.

vid bas från programmets brister inom fråga angående skräpsamling skulle utvecklare behöva hantera systemets minne manuellt, vilket existerar enstaka utmanande samt krånglig arbetsuppgift. Gruppen ville bygga ett plattform vilket kunde flyttas enkelt mot olika typer från enheter.

Bill Joy ägde idéer ifall en nytt programspråk influerat från Mesa samt C.

denne kom tillsammans en förslag inom en handling kallat Further att ingenjörerna skulle producera ett objektorienterad miljö baserad vid C++. inom start således försökte Gosling för att modifiera samt utöka C++ (han refererade mot detta tillsammans "C++ ++ --") dock han övergav sitt försök mot detta samt bestämde sig istället på grund av för att producera en helt nytt programspråk.

Detta kallade han på grund av Oak, eftersom detta stod just enstaka ek utanför hans kontor.

År bytte Sun namn vid språket Oak mot Java efter dem upptäckt för att Oak Technology ägde ensamrätt mot namnet. Trots för att Java akunde laddas ned redan , kom ej den inledande riktiga publika utgåvan, Java a2, förrän 23 femte månaden i året då den presenterades vid SunWorld-konferensen.[5]

Versionhistorik

[redigera | redigera wikitext]

Den på denna plats artikeln alternativt detta denna plats avsnittet innehåller inaktuella data samt behöver uppdateras.

()
Motivering: eller existerar detta möjligen förbättrad för att stryka läka detta antika stycke? inom väntan vid för att någon bör nedteckna angående detta ifall ej annat.


Hjälp gärna Wikipedia för att åtgärda problemet genom för att redigera artikeln alternativt diskutera saken vid diskussionssidan.

Sedan den inledande utgåvan från Java släpptes besitter programspråket fått flera uppdateringar.

från dessa existerar samtliga versioner mellan samt 8, samt versionerna 11, 17 samt 21 därför kallade long begrepp support releases, vilket innebär för att Oracle kommer för att gå vidare stödja dessa versioner längre än dem övriga.[6]

VersionDatum[6]Urval från nya funktioner Stöd upphör[6]
-
  • Stöd till JIT-kompilatorer[7]
  • JavaBeans API
  • Serialisering
  • Stöd på grund av Unicode
  • AWT API, på grund av för att enkelt behärska producera grafiska användargränssnitt.
  • Förbättrad säkerhetsmodell[8]
  • Prestandaförbättringar
  • Nyckelordet [9]
  • Collections API, till för att enklare behärska hantera samlingar tillsammans med data.
  • Swing API, till för att enklare hantera grafiska användargränssnitt.
  • JNDI inkluderas direkt, samt existerar ej längre en tillägg.[10]
  • Förbättrad säkerhet samt prestanda.
  • Nyckelordet [11]
  • Verktyg till hantering från XML
  • Verktyg till utskrifter
  • Möjlighet för att producera länkar som är kopplade samman ofta för att binda eller säkra något från undantag (exceptions)
  • Förbättrad I/O-hantering i
5
  • Generiska klasser samt metoder[12]
  • Förbättrad -loop, likt enklare är kapabel användas till för att löpa igenom samtliga element inom enstaka samling.
  • Nyckelordet på grund av för att producera uppräkningstyper
  • Automatisk omvandling mellan primitiva datatyper samt respektive omslagsklass (autoboxing)
  • Varargs
  • Statiska importer
  • Annotationer
  • Nya verktyg på grund av för att hantera trådar
6
  • Prestandaförbättringar[13]
  • API till för att köra skriptspråk inom JVM[14]
  • API till för att starta enstaka Javakompilator programmatiskt.
  • Förbättrad hantering från användargränssnitt.
7
  • Möjlighet för att nyttja strängar inom [15]
  • Möjlighet för att nedteckna heltal inom tvådelad struktur inom källkoden.
  • Möjlighet för att utelämna typargument nära instantiering från generiska klasser inom dem fall kompilatorn ändå är kapabel avsluta sig mot vilken typ likt avses.

    Alltså möjliggjordes kod vilket var typargumentet tidigare skulle äga krävts även nära konstruktoranropet mot .

  • d.v.s.


  • det  bör  existera enkelt objektorienterat  samt bekant

  • chansen för att specificera en antal resurser, ofta strömmar alternativt skannrar, vilka automatiskt kommer för att stängas efter en -block oavsett ifall en undantag skapades alternativt ej.

  • Möjlighet för att låta identisk -block fånga olika sorters undantag.
8
  • Lambda-uttryck, vilka låter användaren behandla funktioner liksom variabler.[16]
  • Streams API, en tillskott mot Collections API likt tillsammans tillsammans lambda-uttryck möjliggör ett sektion formulering ifrån funktionell programmering, map samt reduce.
  • Referenser mot metoder vid formen
  • Default-metoder inom gränssnitt.
  • Möjlighet för att repetera annotationer.
9
  • Moduler.[17]
  • Privata metoder inom gränssnitt.
  • Möjlighet för att nyttja variabler såsom tillgångar inom
10
  • Typinferens till lokala variabler tillsammans nyckelordet .[18]
11
  • Stöd på grund av Unicode 10[19]
  • Förbättringar inom standardbiblioteket.
12
  • Stöd till Unicode 11[20]
  • Förbättringar inom standardbiblioteket.
13
  • Stöd till Unicode 12
  • Förbättringar inom standardbiblioteket.[21]
14
  • Möjlighet för att nyttja -satser likt en uttryck.[22]
  • ger mer resultat än tidigare.[23]
  • Förbättringar inom standardbiblioteket.
15
  • Möjlighet för att producera block från skrivelse vilket innehåller flera rader.[24]
  • Stöd på grund av Unicode [25]
  • Förbättringar inom standardbiblioteket.
  • Ny skräpsamlare.
16
  • Möjlighet för att nyttja mönstermatchning (pattern matching) inom -satser.[26]
  • Införande från s.k.

    -klasser, vilka möjliggör enklare datahantering.

  • Förbättringar inom standardbiblioteket.
17
  • Möjlighet på grund av klasser för att begränsa vilka klasser såsom får ärva ifrån dem tillsammans med detta nya nyckelordet
  • Förbättringar inom standardbiblioteket.[27]
18
  • UTF-8 existerar numera standard till samtliga klasser inom standardbiblioteket.[28]
  • Övriga förbättringar inom standardbiblioteket.
19
  • Stöd på grund av Unicode [29]
  • Förbättringar inom standardbiblioteket.
20
  • Stöd på grund av Unicode [30]
  • Förbättringar inom standardbiblioteket.
21
  • Stöd till mönstermatchning på grund av -klasser inom instanceof-satser.

    Exempelvis möjliggörs följande:[31]

    if(objectinstanceofPoint(doublex,doubley)){n("x-värde "+x);n("y-värde "+y);}
  • Stöd på grund av mönstermatchning inom -satser. nästa kod visar en modell vid detta:
    publicinterfacePet{}publicclassDogimplementsPet{publicStringbark(){return"Voff!";}}publicclassCatimplementsPet{publicStringmeow(){return"Mjau!";}}publicclassMain{publicstaticStringgetGreeting(Petpet){returnswitch(pet){caseDogd->();caseCatc->();default->"?";}}}
22
  • Möjlighet för att nyttja inom stället på grund av enstaka variabel, exempelvis inom -satser.

Design

[redigera | redigera wikitext]

De viktigaste designmålen på grund av Java var[32]:

  1. Det bör existera enkelt, objektorienterat samt bekant.
  2. Det bör artikel kraftig samt säkert.
  3. Det bör äga enstaka arkitekturoberoende samt portabel miljö.
  4. Det bör behärska exekveras tillsammans med höga prestanda.
  5. Det bör artikel tolkat, trådat samt dynamiskt.

Plattformsoberoendet uppnås genom för att detta färdiga Javaprogrammet kompileras mot bytekod istället på grund av mot maskinkod.

Denna bytekod tolkas samt körs sedan inom en vanligt plattformsberoende schema, ett "virtuell maskin".

Det ska vara robust och säkert

Detta extra steg utför för att Java historiskt sett varit långsammare än kompilerande programspråk, dock skillnaden besitter krympt inom samt tillsammans med introduktionen från JIT-kompilatorer, exempelvis Suns egna HotSpot samt BEAsJRockit

Den 13 november släppte Sun Microsystems sin tillämpning från Java beneath den fria licensen GPL. Ända sedan Javas tillkomst äger Javautvecklare debatterat angående Java bör släppas vilket fri mjukvara alternativt ej.

Java besitter varit kostnadsfri för att ladda ner samt nyttja, dock licensen besitter begränsat leverans samt förändring. Detta besitter bland annat hindrat Java ifrån för att skickas tillsammans med dem flesta Linuxdistributioner samt gjort för att ett sektion utvecklare vilket endast önskar jobba tillsammans med fri källkod undvikit Java.

Man skapar en Java-program inom flera steg:

  1. Man börjar tillsammans för att tillverka ett källfil. Källfilen består från vanlig ord vilket följer Javas syntax.
  2. När källfilen existerar ljus måste den kompileras från ett program som översätter kod mot enstaka bytekodfil. Bytekodfilen förmå läsas från Java Virtual Machine (JVM), ett emuleraddator alternativt exekveringsmiljö.
  3. Varje datamaskin likt kör programmet använder enstaka programtolkare likt tar JVM mot hjälp till för att tolka bytekoden mot instruktioner liksom datorn kunna utföra.

I Java får enstaka klass endast äga ensuperklass, mot skillnad ifrån exempelvis C++.

Multipla arv från klasser existerar således ej tillåtet. ett klass förmå dock verka vid mer än en interface (eng. interface).

En fördel tillsammans med Java existerar för att språket äger en stort bokhylla tillsammans med färdiga datastrukturer, bokhus samt ramverk, bland annat på grund av nätverksanslutning samt till för att visa grafiska öppning vid en enkelt sätt.

Programexempel

[redigera | redigera wikitext]

Hello world

[redigera | redigera wikitext]

"Hello, World!" tillsammans terminalutskrift:

publicclassHello{publicstaticvoidmain(String[]args){n("Hello World!");}}

"Hello, World!" tillsammans grafisk utskrift:

*;publicclassHello{publicstaticvoidmain(String[]args){ssageDialog(null,"Hello World!");}}

Inmatning, utmatning

[redigera | redigera wikitext]

Här existerar en enkelt modell vid hur man skriver ut resultat samt får inmatning från användaren.

r;publicclassJavaDemo{publicstaticvoidmain(String[]args){n("Hej, vad heter du?");Scannerscan=newScanner();Stringnamn=ne();n("Hej, "+namn+". Ditt namn börjar vid "+(0));}}

Ett väldigt enkelt schema. Metoden charAt() tillsammans parametern 0 (noll) returnerar inledande tecknet inom strängen (en datatyp till text) namn.

Alltså kommer programmet titta ut således på denna plats då detta körs:

Hej, vilket heter du? "Robert Ahlberg" hallå, Robert Ahlberg. Ditt namn börjar vid R

Det likt existerar skrivet inom Citationstecken matas in från användaren.

Därför har vi utformat en lathund med alla de viktigaste begreppen som behövs för att lära sig objektorienterad programmering i Python

Personinformation

[redigera | redigera wikitext]

Följande klassdefinition demonstrerar hur enstaka lätt typ definieras inom Java inom form eller gestalt från ett klass. inom detta fall beskriver klassen enstaka individ tillsammans några typiska en egenskap eller ett kännetecken till ett sådan, mot modell namn (name) samt ålder (age), samt några metoder till för att sätta samt plocka upp eller ta värden ifrån attributen.

publicclassPerson{privateStringname;privateStringlocation;privateintage;publicPerson(Stringname,Stringlocation,intage){=name;on=location;=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 från Java

[redigera | redigera wikitext]

Java ME

[redigera | redigera wikitext]

Java Platform, Micro Edition, alternativt Java ME, existerar ett Java-plattform avsedd till inbyggda struktur (mobila enheter existerar enstaka typ från sådana system).

Målenheter existerar allt ifrån fabriksrelaterade styrsystem mot mobiltelefoner (speciellt funktionen telefoner) samt set-top-boxar.

Java ME plats tidigare känt vilket Java 2 Platform, Micro Edition (J2ME). inom september använde mer än 3 miljarder mobiltelefoner Java.[33] Teknologin på baksidan Java ME skapades till för att hantera dem resursbegränsningar likt kommer tillsammans små enheter, såsom minne, teckenruta alternativt energiförbrukning.[34]

Java SE

[redigera | redigera wikitext]

Java Standard Edition, existerar enstaka utgåva från Java såsom används till skrivbords- samt klient-tillämpningar.

Java EE

[redigera | redigera wikitext]

Java Enterprise Edition, enstaka version/plattform tillsammans inbyggda ramverk likt löser vanliga problemställningar inom mot modell avancerade servertillämpningar. Java EE existerar antagligen detta populäraste tillämpningsområdet från Java på grund av tillfället,[källa&#;behövs] samt existerar ett populär teknik till för att tillämpas vid exempelvis finans- samt banksystem.

titta J2EE. modell vid tekniker vilket samlats beneath samlingsnamnet JEE:

Undantagshanteringssystemet

[redigera | redigera wikitext]

Java vilket programmeringsspråk erbjuder ett grundlig felkontrollmekanism. en från dem primära sätten för att nå detta existerar undantagshanteringssystemet (exception[35]). då en fel uppstår beneath programmet är kapabel Java implementera en undantag var objektet återspeglar felet.

Genom att fokusera på objekt och deras interaktioner, kan utvecklare enkelt organisera och återanvända kod, vilket leder till mer underhållbara och skalbara system

Detta struktur fullfölja detta möjligt till programmet för att hantera fel vid en strukturerat sätt samt ej vid en sådant sätt för att programmet kraschar alternativt fullfölja detta svårt för att köra programmet.

I Java hanteras undantag tillsammans med systemet try-catch-finally-block. Try-satsen innehåller koden vilket kastar undantaget samt Catch-satsen innehåller koden liksom hanterar undantaget.

Finally-satsen existerar proceduren efter dessa, liksom rensar resurserna då dem tidigare satserna besitter körts.

I denna artikel kommer vi att gå igenom grunderna i objektorienterad programmering och utforska dess fördelar

Java tillhandahåller även ett mekanism var kast- samt fångstmetoderna implementeras vid olika sätt, var programmeraren definierar sina handlingar. Detta ger programmerare enstaka god chans för att utföra anpassningsbar felhantering utöver dem vanliga undantagshanteringsprocedurerna inom programmeringsspråket Java.

Programmeringsspråket Java äger även en annat sätt för att hantera fel samt detta bygger vid den typsäkra mekanismen.

Programmeringsspråket Java existerar en starkt "nyckelspråk", vilket innebär för att typen från variabler måste artikel fullständigt deklarerade nära den tidpunkt den definieras. Detta hjälper mot tillsammans med fel vilket typinkompatibilitet samt undantag på grund av nollpekare.

Objektorienterad programmering (engelska: Object Oriented Programming, OOP) är en programmeringsmetod i vilken ett program kan innehålla en varierande uppsättning objekt som interagerar med varandra

Generellt existerar felhanteringsmekaniken inom programmeringsspråket Java pålitlig samt tillsammans hjälp från dessa existerar detta möjligt för att programmera in stadig samt lätthanterlig kod inom mjukvara.

Övrig information

[redigera | redigera wikitext]

  • Java klarar från Unicode direkt, mot skillnad ifrån flera andra programspråk, vilket underlättar användning från tungomål likt ej supportas från andra teckenuppsättningar, såsom ISO , exempelvis grekiska samt asiatiska språk.
  • Java skall ej förväxlas tillsammans , vilket visserligen även existerar plattformsoberoende dock äger en helt annat ursprung.

    programtolk. HTML-kod, avsedd till webbsidor. vid senare period besitter emellertid dess popularitet likt skriptspråk vid serversidan ökat avsevärt, många tackar vare yta eller program Ecmascript dock uppfattas såsom inspirerat från Java, vid bas från liknande syntax, dock skiljer sig semantiskt väldigt många, mot modell genom för att variablernadatatyper.

  • Realtidsjava existerar en aktivt forskningsområde, var flera olika angreppssätt tillämpas.
  • Mycket från syntaxen på grund av Java kommer ifrån C samt C++.
  • Många kända spel samt schema, mot modell Minecraft samt Nasa world wind existerar programmerade inom språket.

Se även

[redigera | redigera wikitext]

Externa länkar

[redigera | redigera wikitext]

Litteratur

[redigera | redigera wikitext]

  • Schildt, Herbert Java The Complete Reference, Eighth Edition, Oracle Press,

Källor

[redigera | redigera wikitext]