Sunteți pe pagina 1din 2

ISTORICUL ȘI CARACTERISTICILE LIMBAJULUI JAVA

Java este un limbaj de programare orientat obiect, destinat în principal programării Internet. Începutul
limbajului Java este în toamna anului 1991, când firma Sun Microsystems a finanțat un proiect cu numele
Green condus de James Gosling. Scopul echipei Green era să plaseze firma Sun Microsystems pe piața
produselor electronice comerciale. Inginerii și dezvoltatorii de soft de la Sun au căutat microprocesoare care
să ruleze pe o multitudine de mașini, în particular pe sisteme distribuite care lucrează în timp real. Cheia
succesului firmei Sun a fost abilitatea lucrului pe platforme multiple. După patru ani de lucru, echipa Green
finalizează specificațiile limbajului Java. Apoi compania Sun Microsystems vinde licența firmelor Microsoft,
IBM, Silicon Graphics, Adobe și Netscape.

Caracteristicile limbajului Java sunt:

- Limbaj interpretat și compilat. Un limbaj este interpretat dacă instrucțiunile unui program scris în
acel limbaj sunt procesate linie cu linie și traduse într-un cod mașină. Programele interpretate sunt mai
lente decât cele compilate, însă cele compilate sunt, de obicei, dependente de platforma respectivă.
Programele Java sunt mai întâi compilate în niște fișiere intermediare asemănătoare codului de
asamblare, apoi ele sunt interpretate de mediul de execuție Java în instrucțiuni mașină asociate
platformei sistem.
- Limbaj independent de platformă. La instalarea limbajului Java, se va crea o mașină virtuală Java care
are drept scop traducerea instrucțiunilor unui byte code Java în instrucțiuni mașină pentru platforma
curentă. Astfel, fișierele intermediare byte code pot fi copiate și executate pe orice platformă
(indiferent că este Windows, Linux, Solaris etc.).
- Limbaj orientat obiect. Cea mai importantă proprietate a limbajului Java este orientarea obiect,
aceasta fiind privită ca o trăsătură implicită. Java pune în evidență toate aspectele legate de
programarea orientată pe obiect: obiecte, trimitere de parametri, încapsulare, clase, biblioteci,
moștenire și modificatori de acces.
- Limbaj concurent. Concurența înseamnă capacitatea unui program de a executa mai multe secvențe de
cod în același timp. O secvență de cod Java se numește fir de execuție. Datorită posibilității creării
mai multor fire de execuție, un program Java poate să execute mai multe sarcini simultan, de exemplu
animația unei imagini, transmiterea unei melodii transmise către placa de sunet, comunicarea cu un
server etc.
- Limbaj simplu. Spre deosebire de C++, care este cel mai popular limbaj orientat obiect, Java elimină
câteva dintre trăsăturile acestuia: posibilitatea moștenirii multiple este exclusă, șirurile sunt
încapsulate într-o structură clasă. Spre deosebire de C/C++ în Java nu există pointeri, iar alocarea și
delocarea memoriei se fac automat. Există un mecanism de eliberare a memoriei pus în practică de un
fir de execuție de prioritate mică.
- Limbaj distribuit. Java este un distribuit deoarece permite utilizarea obiectelor locale și de la distanță.
Limbajul Java oferă posibilitatea dezvoltării de aplicații pentru Internet, capabile să ruleze pe
platforme distribuite și eterogene. În acest sens, Java respectă standardul IEEE (eng. Institute of
Eletrical and Electronics Engineers) pentru structurile de date, cum ar fi folosirea întregilor,
numerelor în virgulă flotantă și șirurilor de caractere. Java se poate utiliza în aplicații de rețea,
deoarece respectă protocoalele de rețea cum ar fi FTP, HTTP etc.
- Limbaj performant. Interpretorul Java este capabil să execute un byte code aproape la fel de repede ca
un cod compilat. Având în vedere posibilitatea să lucreze cu fire de execuție multiple, Java justifică
faptul că este un limbaj performant. De exemplu, un program Java poate accepta citirea unor date, în
timp ce un alt fir poate aloca sau elibera memoria necesară programului.
- Limbaj dinamic și robust. Java întârzie alocarea obiectelor și legarea dinamică a claselor pentru
momentul execuției. Astfel, se vor evita erorile de alocare chiar dacă mediul s-a schimbat de la ultima
compilare a programului. Faptul că Java este robust se justifică prin eliminarea utilizării pointerilor,
care erau generatoare de erori în C/C++. În schimb, Java verifică memoria dinamic înainte de a fi
alocată și are un sistem automat de alocare / dealocare a memoriei.
- Limbaj sigur. Programele Java nu pot accesa memoria heap, stack sau alte acțiuni protejate de
memorie, deoarece Java nu folosește pointeri și alocă memorie doar la execuție. Înainte ca
interpretorul Java să execute byte codul, se verifică dacă este un cod Java valid prin cercetarea
accesului la date, conversiilor de date nepermise, valori și parametri incorecți, depășirea stivei.

Întrebări:

1. Prin ce se caracterizează limbajul Java?


2. Când începe istoria limbajului Java?
3. Care sunt avantajele și dezavantajele limbajului Java?
4. Dați exemple de 2 asemănări și 2 deosebiri între limbajul Java și C/C++.
5. Limbajul Java oferă robustețe? Dacă da, prin ce se caracterizează acesta?
6. Dați exemple de programe, acțiuni, etc. care implică folosirea limbajului Java ca și limbaj de
programare.
7. Ce înseamnă limbaj de programare orientat obiect? Îndeplinește Java și această sarcină? Dar celelalte
limbaje, cum ar fi C/C++?
8. Java nu generează erori. Cum este posibil? Explică!
9. Când spunem byte code la ce ne referim?
10. Ce înseamnă un fir de execuție?
11. Java este un limbaj compilat și interpretat. Prin ce se caracterizează acesta?
12. Explică dacă și de ce Java rulează pe mai multe platforme. Este și un limbaj independent?
13. De ce și ce înseamnă Java este un limbaj concurent? Explică!
14. De ce Java este un limbaj simplu? Care sunt cele mai populare / cel mai popular limbaj de
programare? Se încadrează și Java aici?
15. Unde se distribuie limbajul Java? De ce este un limbaj performant?
16. Cum se salvează Java pe disk?

S-ar putea să vă placă și