Java Guiden

Närmare beskrivning av Java



Javas beståndsdelar

Java är inte bara ett språk! Språket Java är bara en av tre viktiga beståndsdelar. De andra är Java Virtual Machine samt Javas API'er och bibliotek.


Java Virtual Machine

Det är den virtuella Javamaskinen, fortsättningsvis kallad JVM, som gör Java plattformsoberoende. Enkelt uttryckt går det till på följande sätt:

Ett datorprogram är kort och gott en nedskriven metod för hur en viss uppgift skall kunna lösas med hjälp av de kretsar och kopplingar (hårdvaran) som finns i den dator som kör programmet. Alla datorer innehåller inte samma kretsar och kopplingar, så det vanliga är att varje datorprogram måste specialskrivas för en viss typ av dator (en plattform). JVM är ett sådant program - det måste specialskrivas för en viss plattform. Det finurliga med JVM är att dess enda funktion är att det låtsas vara en standardplattform - en Javadator. När man sedan startar ett Javaprogram så tror det inte att datorn man sitter vid är en PC med Windows, eller en Macintosh eller någon annan plattform. Istället tror den att du kör en Javadator.


Javas API:er

Ett Application Programming Interface (API) är en specifikation för hur ett programobjekt skall kommunicera med ett annat.

Till Java hör ett bibliotek av programobjekt (klasser) som kan utnyttjas som byggstenar när man programmerar. Dessa klasser utvecklas hela tiden av Sun så att de får fler och bättre funktioner, men gamla program som bygger på dem skall fortfarande fungera. Därför är det bara specifikationen för vad klassen klarar av att uträtta (och hur ett program får den att göra det) som definieras av Java-språket.

Det är denna specifikation som kallas API. Det finns ett antal APIer som alla Javaprogrammerare alltid har tillgång till. Dessa kallas Java Core APIs. Därutöver finns flera paket (packages) som ytterligare bygger ut förrådet av tillgängliga APIer. De viktigaste av dessa har status som Java Standard Extension API.

Fördjupning
Några viktiga APIer (på svenska)
Alla APIer (på engelska)


Programmeringsspråket Java

Några av Javas karaktärsegenskaper är att det är:

Objektorienterat
Ett av de dominerande tillvägagångssätten vid modern programmering är objektorientering. Mycket kortfattat går det ut på att programmen delas upp på mindre delar - objekt - som vart och ett har en uppsättning data, och metoder för att utföra vissa uppgifter. Klicka här om du vill lära dig mer.
Portabelt
Synonymt med plattformsoberoende, dvs kan köras på många olika datortyper utan att behöva anpassas först.
Dynamiskt
Bara de objekt som behövs för en given uppgift kommer att laddas.
Enkelt och robust
-Automatisk minneshantering
-Inga pekare (vanligaste orsaken till fel i program)
-Noggrann säkerhetskontroll både vid kompilering och när programmet skall köras
Flertrådat
Flertrådskörning (multithreading) är en modern teknik som medger en snabbare och effektivare körning av krävande program.
Utökat med ett rikt förråd av färdiga paket
T.ex. klasser som hanterar grafiska gränssnitt på ett enhetligt sätt (java.AWT) och klasser för kommunikation över TCP/IP-nät (java.net).

Fördjupning
Jämförelse med andra språk


JavaBeans

JavaBeans är färdiga småprogram som kan användas som byggstenar i större program. Till skillnad från klasserna i standard-klassbiblioteket kan vem som helst skapa nya Beans. JavaBeans är bara ett standardiserat sätt att förpacka "byggstenarna".

Fördjupning
Beskrivning från Sun Sverige
Från Sun USA