Java (programspråk)

Java är namnet på ett programmeringsspråk som skapats av Sun Microsystems. Företaget köptes upp av Oracle Corporation, som fortsätter att hålla det uppdaterat. Den senaste versionen är Java 14, som släpptes i mars 2020. Dessutom är de enda versioner som stöds den senaste LTS-versionen (Long Term Support) Java 11, som släpptes den 25 september 2018, och Oracle släppte den sista kostnadsfria "offentliga uppdateringen" för den "gamla" Java 8 LTS. Nästa planerade LTS-version är Java 17 (LTS), planerad till september 2021.

Java, som kallades Oak när det fortfarande höll på att utvecklas, är objektorienterat, vilket innebär att det bygger på objekt som samarbetar för att få programmen att göra sitt jobb. Javakod ser ut som C, C++ eller C#, men kod skriven i dessa språk fungerar i de flesta fall inte i Java utan att ändras.

Java körs på många olika operativsystem, inklusive Android, världens mest populära operativsystem för mobiltelefoner (Java fortsätter att användas på Android, även av tillverkaren Google, som inte längre föredrar Java; nu föredrar de Kotlin, som också kan användas med all Javakod). Detta gör Java plattformsoberoende. Det gör det genom att Java-kompilatorn omvandlar koden till Java-bytecode i stället för maskinkod. Detta innebär att när programmet utförs tolkar Java Virtual Machine bytekoden och översätter den till maskinkod.

Java-koncept

Java utvecklades för att uppnå fem huvudmål. Dessa är:

  • Java ska vara lätt att lära sig, objektorienterat och distribuerat.
  • Java ska vara säkert och starkt.
  • Java bör inte vara beroende av någon datorarkitektur eller plattform.
  • Java bör fungera bra.
  • Java bör kunna ha en tolk som är skriven för den, och ha stöd för parallellism och dynamisk typning.

 

Java-plattform

Java-plattformen är en grupp programvaruprodukter från Sun Microsystems. Plattformen används för att utveckla och köra Java-program. Plattformen innehåller den exekveringsmotor (kallad Java Virtual Machine) som gör att Java-programmen kan göra samma sak på olika datorsystem.

Denna förmåga att kunna utveckla programvara på en plattform och köra den på andra plattformar kallas "plattformsoberoende förmåga".

Exempel på Java-program

Ett exempel på ett Java-program med "Hello World":

/** * Detta är ett enkelt program i Java.   * Det visar "Hello World!" på skärmen.   */ class HelloWorld { public static void main(String[] args) { System. out. println("Hello World!"); } }

Typer av Java-program

Det finns många typer av Java-program som körs på olika sätt:

  • Java-applet - litet program skrivet i Java som laddas ner från en webbplats och körs i en webbläsare på en klientdator.
  • Applikation - körs på en klientdator. Om den är online måste den laddas ner innan den kan köras.
  • JAR-fil (Java-arkiv) - används för att paketera Java-filer till en enda fil (nästan exakt som en zip-fil).
  • Servlet - körs på en webbserver och hjälper till att skapa webbsidor.
  • Swing-applikation - används för att bygga en applikation som har ett grafiskt gränssnitt (fönster, knappar, menyer osv.).
  • EJB - körs på en webbserver och används för att utveckla stora, komplexa webbplatser.

Fördelar

Java används ofta för att lära studenter att programmera som ett första språk, men används fortfarande även av yrkesverksamma.

  • Java kräver att varje variabel initieras. Vissa äldre språk, t.ex. C, tillåter att variabler inte initialiseras, vilket kan orsaka slumpmässiga fel med mystiska fel.
  • Java kräver att varje metod deklarerar en returtyp - metoden ska alltid returnera ett värde, utom om returtypen är void. Detta förhindrar också buggar.
  • Java har en stor uppsättning klasser och metoder, Java API, som kan användas utan att du behöver utveckla så mycket kod "från grunden".
  • Till skillnad från C är primitiva typer i Java, t.ex. int, alltid lika stora i antal bitar, vilket bidrar till plattformsoberoende kompatibilitet.
  • Java brukade anses vara långsammare än C, men det har blivit mindre viktigt på senare år eftersom datorerna är snabbare.
  • Java har undantagshantering som kräver att programmeraren hanterar felvillkor som t.ex. fel i Input/Output.
  • Kod som kompileras på en Javaplattform kan köras på andra plattformar som stöder Java utan att källkoden eller bytekoden ändras. Detta innebär att en person kan göra ett Java-program för en Windows-dator och låta det köras på en Linux-dator eller en Mac-dator.

Kritik

Java har också kritiserats. Några av kritikpunkterna är:

  • Generics lades till i Java på ett sådant sätt att befintlig kod kunde fortsätta att köras. Detta gjordes med hjälp av type erasure. Detta innebär att den faktiska typen av ett generiskt argument tas bort under kompileringen. Detta kan leda till att Java-tolken ibland beter sig på oväntade sätt.
  • Java har inga heltalstyper utan förtecken, vilket språk som C använder i stor utsträckning. Detta innebär också att det är omöjligt att direkt utbyta numeriska data mellan C och Java-program. Kryptografi är också i viss mån beroende av sådana typer; detta gör det svårare att skriva program som använder kryptografi i Java.
  • IEEE har definierat en standard för aritmetik med flytande punkter, IEE 754. Java stöder endast en del av funktionerna i denna standard.

Frågor och svar

F: Vad heter det programmeringsspråk som skapades av Sun Microsystems?


S: Det programmeringsspråk som skapats av Sun Microsystems heter Java.

F: Vem stöder och håller Java uppdaterat för närvarande?


S: Oracle Corporation stöder och håller Java uppdaterat.

F: Vilka är de aktuella LTS-versionerna (Long Term Support) av Java?


S: De nuvarande LTS-versionerna (Long Term Support) av Java är version 17, 11 och 8.

F: När släpptes den senaste versionen av Java?


S: Den senaste versionen av Java, version 19, släpptes i september 2022.

F: Finns det något annat företag som stöder Java förutom Oracle?


Svar: Ja, Eclipse Adoptium stöder också Java fram till minst maj 2026 för version 8 och minst september 2027 för version 17.

F: Vilken typ av kod använder Java?


S: Java använder objektorienterad kod, vilket innebär att den är baserad på objekt som arbetar tillsammans för att programmen ska kunna utföra sina uppgifter. Den liknar C, C++ eller C#, men kod som skrivits i dessa språk fungerar i de flesta fall inte utan att ändras.

F: Hur gör Java sig självt plattformsoberoende?


S: Java gör sig plattformsoberoende genom att kompilatorn omvandlar koden till ett särskilt format som kallas bytecode i stället för maskinkod. Detta innebär att när programmet körs kan bytekoden tolkas av ett särskilt program som kallas virtuell maskin som översätter den till maskinkod så att den kan köras på olika operativsystem, t.ex. Android.

AlegsaOnline.com - 2020 / 2023 - License CC3