Introducere in Java

Java este un limbaj de programare orientat pe obiecte dezvoltat de firma Sun (aceasta a fost achizitionata de Oracle). Programele java sunt executate (interpretate) de catre un alt program numit Java Virtual Machine (Java VM). Asadar programele java nu ruleaza direct pe sistemul de operare, ci au nevoie de JavaVM pentru a fi interpretate.

In prezent Java este mai mult decat un limbaj de programare, este o colectie de tehnologie ce permite dezvoltarea si rularea de aplicatii sigure, portabile si scalabile. In functie de tipul de aplicatie ce trebuie dezvoltata un programator poate selecta una dintre urmatoarele platforme java:

  • JSE - Java Standard Edition (JSE) contine compliatoarele, uneltele, masina virtuala java, setul de librarii (Java API) pentru dezvoltatea de aplicatii si applet-uri.
  • JEE - Java Enterprise Edition (JEE) defineste standardul pentru dezvoltarea de aplicatii complexe multinivel. Se bazeaza pe J2SE si ofera in plus servicii, unelte si librarii pentru dezvoltarea de aplicatii multinivel complexe.
  • JME - Java Micro Edition (JME) este un set de specificatii si tehnologii ce permite dezvoltarea de aplicatii java pentru dispozitive embaded: telefoane, PDA, imprimante etc.

In functie de modul de executie al programelor, limbajele de programare se împart în doua categorii :

  • interpretate : instructiunile sunt citite linie cu linie de un program numit interpretor si traduse în instructiuni masina; avantaj : simplitate; dezavantaje : viteza de executie redusa
  • compilate : codul sursa al programelor este transformat de compilator într-un cod ce poate fi executat direct de procesor; avantaj : executie rapida; dezavantaj : lipsa portabilitatii, codul compilat într-un format de nivel scazut nu poate fi rulat decât pe platforma pe care a fost compilat.

Programele Java sunt atat compilate cat si interpretate

In urma compilarii unui program java rezulta un set de fisiere speciale numite cod de octeti (eng. bytecode). Aceste fisiere nu sunt executabile pe nici un sistem de operare. Pentru a putea fi rulate este nevoie de o masina virtuala java ( masina virtuala java este o aplicatie care emuleaza un calculator) care va interpreta codul de octeti si va executa instructiuni specifice sistemului de operare pe care ruleaza. In acest fel se asigura independenta de platforma si portabilitatea aplicatiilor java.

Asadar pentru a rula o aplicatie java este nevoie ca pe masina pe care urmeaza sa fie executata aplicatia sa fie instalata in prealiabil o masina virtuala java specifica platforme respective.

Carcteristicile limbajului Java

  • simplitate, elimină supraîncarcarea operatorilor, moştenirea multiplă şi toate “facilităţile” ce pot provoca scrierea unui cod confuz;
  • robusteţe, elimină sursele frecvente de erori ce apar în programare prin eliminarea pointerilor, administrarea automată a memoriei şi eliminarea fisurilor de memorie printr-o procedură de eliberare automată a memoriei de obiectele care nu mai sunt folosite;
  • complet orientat pe obiecte, elimină complet stilul de programare procedural;
  • usurinţă în ceea ce priveşte programarea în reţea;
  • securitate, asigurând mecanisme stricte de securitate a programelor concretizate prin: verificarea dinamică a codului pentru detectarea secvenţelor periculoase, impunerea unor reguli stricte pentru rularea programelor lansate pe calculatoare aflate la distanţă etc.
  • este neutru din punct de vedere arhitectural;
  • portabililtate, cu alte cuvinte Java este un limbaj independent de platforma de lucru, aceeaşi aplicaţie rulând, fără nici o modificare, pe sisteme diferite cum ar fi Windows, UNIX sau Macintosh;
  • compilat şi interpretat;
  • asigură o performanţă ridicată;
  • permite programarea cu fire de execuţie (multitheaded).