Det primära målet för Java programmering språkskapandet var att göra det portabelt, enkelt och säkert programmeringsspråk. Bortsett från detta finns det också några utmärkta funktioner som spelar en viktig roll för detta språks popularitet. Funktionerna i Java är också kända som Java buzzwords.
En lista över de viktigaste funktionerna i Java-språket ges nedan.
- Enkel
- Objektorienterad
- Bärbar
- Plattformsoberoende
- Säkrad
- Robust
- Arkitekturneutral
- Tolkad
- Hög prestanda
- Flertrådad
- Distribuerad
- Dynamisk
Enkel
Java är väldigt lätt att lära sig, och dess syntax är enkel, ren och lätt att förstå. Enligt Sun Microsystem är Java-språk ett enkelt programmeringsspråk eftersom:
- Java-syntax är baserad på C++ (så lättare för programmerare att lära sig det efter C++).
- Java har tagit bort många komplicerade och sällan använda funktioner, till exempel explicita pekare, operatörsöverbelastning, etc.
- Det finns inget behov av att ta bort objekt utan referens eftersom det finns en Automatic Garbage Collection i Java.
Objektorienterad
Java är en objektorienterad programmeringsspråk. Allt i Java är ett objekt. Objektorienterat innebär att vi organiserar vår programvara som en kombination av olika typer av objekt som innehåller både data och beteende.
Objektorienterad programmering (OOP) är en metod som förenklar mjukvaruutveckling och underhåll genom att tillhandahålla några regler.
Grundläggande begrepp för OOPs är:
Plattformsoberoende
Java är plattformsoberoende eftersom det skiljer sig från andra språk som C , C++ , etc. som är kompilerade till plattformsspecifika maskiner medan Java är ett skriv en gång, kör var som helst språk. En plattform är den hårdvaru- eller mjukvarumiljö där ett program körs.
Det finns två typer av plattformar mjukvarubaserade och hårdvarubaserade. Java tillhandahåller en mjukvarubaserad plattform.
Java-plattformen skiljer sig från de flesta andra plattformar i den meningen att det är en mjukvarubaserad plattform som körs ovanpå andra hårdvarubaserade plattformar. Den har två komponenter:
- Runtime Environment
- API (Application Programming Interface)
Java-kod kan köras på flera plattformar, till exempel Windows, Linux, Sun Solaris, Mac/OS, etc. Java-kod kompileras av kompilatorn och omvandlas till bytekod. Denna bytekod är en plattformsoberoende kod eftersom den kan köras på flera plattformar, det vill säga Write Once och Run Anywhere (WORA).
Säkrad
Java är mest känt för sin säkerhet. Med Java kan vi utveckla virusfria system. Java är säkrat eftersom:
Java-språket tillhandahåller dessa värdepapper som standard. Viss säkerhet kan också tillhandahållas av en applikationsutvecklare uttryckligen genom SSL, JAAS, Kryptografi, etc.
Robust
Den engelska brytningen av Robust är stark. Java är robust eftersom:
- Den använder stark minneshantering.
- Det saknas pekpinnar som undviker säkerhetsproblem.
- Java tillhandahåller automatisk sophämtning som körs på Java Virtual Machine för att bli av med objekt som inte längre används av en Java-applikation.
- Det finns undantagshantering och typkontrollmekanismen i Java. Alla dessa punkter gör Java robust.
Arkitekturneutral
Java är arkitekturneutral eftersom det inte finns några implementeringsberoende funktioner, till exempel är storleken på primitiva typer fast.
I C-programmering upptar int-datatypen 2 byte minne för 32-bitars arkitektur och 4 byte minne för 64-bitars arkitektur. Den upptar dock 4 byte minne för både 32- och 64-bitarsarkitekturer i Java.
Bärbar
Java är portabel eftersom det underlättar för dig att överföra Java-bytekoden till vilken plattform som helst. Det kräver ingen implementering.
Högpresterande
Java är snabbare än andra traditionella tolkade programmeringsspråk eftersom Java bytecode är 'nära' inbyggd kod. Det är fortfarande lite långsammare än ett kompilerat språk (t.ex. C++). Java är ett tolkat språk och det är därför det är långsammare än kompilerade språk, t.ex. C, C++, etc.
Distribuerad
Java distribueras eftersom det underlättar för användare att skapa distribuerade applikationer i Java. RMI och EJB används för att skapa distribuerade applikationer. Denna funktion i Java gör att vi kan komma åt filer genom att anropa metoderna från vilken dator som helst på internet.
Flertrådig
En tråd är som ett separat program, som körs samtidigt. Vi kan skriva Java-program som hanterar många uppgifter samtidigt genom att definiera flera trådar. Den största fördelen med multi-threading är att det inte upptar minne för varje tråd. Den delar ett gemensamt minnesområde. Trådar är viktiga för multimedia, webbapplikationer, etc.
Dynamisk
Java är ett dynamiskt språk. Den stöder dynamisk laddning av klasser. Det betyder att klasser laddas på begäran. Den stöder även funktioner från sina modersmål, dvs C och C++.
Java stöder dynamisk kompilering och automatisk minneshantering (sopsamling).