Primarni cilj od Java programiranje stvaranje jezika trebalo je učiniti ga prenosivim, jednostavnim i sigurnim programskim jezikom. Osim toga, postoje i neke izvrsne karakteristike koje igraju važnu ulogu u popularnosti ovog jezika. Značajke Jave također su poznate kao Java buzzwords.
Dolje je dan popis najvažnijih značajki Java jezika.
- Jednostavan
- Objektno orijentirano
- Prijenosni
- Neovisan o platformi
- Osiguran
- Robustan
- Arhitektura neutralna
- Protumačeno
- Visoka izvedba
- Višenitni
- Distribuirano
- Dinamičan
Jednostavan
Javu je vrlo lako naučiti, a njezina sintaksa je jednostavna, čista i lako razumljiva. Prema Sun Microsystemu, jezik Java je jednostavan programski jezik jer:
- Java sintaksa temelji se na C++ (tako da je programerima lakše naučiti nakon C++).
- Java je uklonila mnoge komplicirane i rijetko korištene značajke, na primjer, eksplicitne pokazivače, preopterećenje operatora itd.
- Nema potrebe za uklanjanjem nereferenciranih objekata jer u Javi postoji automatsko prikupljanje smeća.
Objektno orijentirano
Java je objektno orijentirano programski jezik. Sve u Javi je objekt. Objektno orijentirano znači da naš softver organiziramo kao kombinaciju različitih vrsta objekata koji uključuju i podatke i ponašanje.
Objektno orijentirano programiranje (OOP) je metodologija koja pojednostavljuje razvoj i održavanje softvera davanjem nekih pravila.
Osnovni koncepti OOP-a su:
Neovisan o platformi
Java je neovisna o platformi jer se razlikuje od drugih jezika poput C , C++ , itd. koji su kompilirani u strojeve specifične za platformu, dok je Java jezik za pisanje jednom, pokretanje bilo gdje. Platforma je hardversko ili softversko okruženje u kojem se program izvodi.
Postoje dvije vrste platformi temeljene na softveru i temeljene na hardveru. Java pruža platformu temeljenu na softveru.
Java platforma razlikuje se od većine drugih platformi u smislu da je to softverska platforma koja radi povrh drugih hardverskih platformi. Ima dvije komponente:
- Runtime Environment
- API (Aplikacijsko programsko sučelje)
Java kod se može izvršiti na više platformi, na primjer, Windows, Linux, Sun Solaris, Mac/OS, itd. Java kod kompajlira kompajler i pretvara ga u bajt kod. Ovaj bajt kod je kod neovisan o platformi jer se može izvoditi na više platformi, tj. Zapiši jednom i pokreni bilo gdje (WORA).
Osiguran
Java je najpoznatija po svojoj sigurnosti. S Javom možemo razviti sustave bez virusa. Java je zaštićena jer:
Java jezik nudi ove vrijednosne papire prema zadanim postavkama. Određenu sigurnost također može pružiti programer aplikacije eksplicitno putem SSL-a, JAAS-a, kriptografije itd.
Robustan
Englesko rudarenje Robusta je jako. Java je robusna jer:
- Koristi snažno upravljanje memorijom.
- Nedostaju pokazivači koji izbjegavaju sigurnosne probleme.
- Java omogućuje automatsko sakupljanje smeća koje se izvodi na Java Virtualnom stroju kako bi se riješili objekata koje Java aplikacija više ne koristi.
- U Javi postoji rukovanje iznimkama i mehanizam provjere tipa. Sve ove točke čine Javu robusnom.
Arhitektonski neutralan
Java je neutralna u pogledu arhitekture jer nema značajki koje ovise o implementaciji, na primjer, veličina primitivnih tipova je fiksna.
U C programiranju, tip podataka int zauzima 2 bajta memorije za 32-bitnu arhitekturu i 4 bajta memorije za 64-bitnu arhitekturu. Međutim, zauzima 4 bajta memorije i za 32 i za 64-bitne arhitekture u Javi.
Prijenosni
Java je prenosiva jer vam olakšava prenošenje Java bajt koda na bilo koju platformu. Ne zahtijeva nikakvu implementaciju.
Visoke performanse
Java je brža od drugih tradicionalno interpretiranih programskih jezika jer je Java bajt kod 'blizak' izvornom kodu. Još uvijek je malo sporiji od prevedenog jezika (npr. C++). Java je interpretirani jezik i zato je sporiji od kompajliranih jezika, npr. C, C++ itd.
Distribuirano
Java je distribuirana jer korisnicima olakšava stvaranje distribuiranih aplikacija u Javi. RMI i EJB se koriste za kreiranje distribuiranih aplikacija. Ova značajka Jave omogućuje nam pristup datotekama pozivanjem metoda s bilo kojeg računala na internetu.
Višenavojni
Nit je poput zasebnog programa koji se izvodi istovremeno. Možemo napisati Java programe koji se bave mnogim zadacima odjednom definiranjem više niti. Glavna prednost multi-threadinga je da ne zauzima memoriju za svaku nit. Dijeli zajedničko memorijsko područje. Niti su važne za multimedije, web aplikacije itd.
Dinamičan
Java je dinamičan jezik. Podržava dinamičko učitavanje klasa. To znači da se klase učitavaju na zahtjev. Također podržava funkcije iz svojih izvornih jezika, tj. C i C++.
Java podržava dinamičku kompilaciju i automatsko upravljanje memorijom (sakupljanje smeća).