Extras din curs
In 1991, firma SUN, mergând pe directia dezvoltarii sistemelor deschise de lucru în retea, a creat un proiect de lucru numit Green, care avea drept scop punerea la punct a unor procesoare care sa poata rula pe diferite tipuri de aparate si punerea la punc a unui sistem care sa poata rula pe platforme diferite. Planul initial prevedea dezvoltarea proiectului în C++, dar au aparut foarte multe probleme în încercarea de dezvoltare acompilatorului de C++. Ca urmare, James Gosling, membru al grupului Green, a început sa lucreze la dezvoltarea unui nou limbaj, numit Oak, care, mai târziu, avea sa se numeasca Java. De asemenea grupul Green avea sa-si schimbe numele întâi în FirstPerson, apoi în JavaSoft.
Abia dupa ce a fost înfiintata compania Netscape Communications Corporation, cei de la JavaSoft s-au orientat catre Internet si Web, mediul multiplatforma distribuit al retelei Internet fiind perfect pentru testarea proiectului.
In prezent licenta pentru tehnologia Java a fost acordata unor firme precum IBM, Microsoft, Sillicon Graphics, Adobe si Netscape.
3. Java : un limbaj compilat si interpretat
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 pot fi atât interpretate cât si compilate.
Cod sursa Java ®(compilare)® Cod de octeti
Codul de octeti este diferit de codul masina. Codul masina este reprezentat de o succesiune de 0 si 1; codurile de octeti sunt seturi de instructiuni care seamana cu codul scris în limbaj de asamblare.
Codul masina este executat direct de catre procesor si poate fi folosit numai pe platforma pe care a fost creat; codul de octeti este interpretat de mediul Java si de aceea poate fi rulat pe orice platforma care foloseste mediul de executie Java ® neutralitatea limbajului Java din punc de vedere arhitectural.
Cum este rulat un program Java ? Interpretorul Java transforma codul de octeti într-un set de instructiuni masina, întârzierea interpretarii fiind însa foarte mica datorita asemanarii dintre codul de octeti si limbajul de asamblare si din acest motiv executia se face aproape la fel de repede ca în cazul programelor compilate.
Cum este obtinuta neutralitatea arhitecturala a limbajului Java ? Cu alte cuvinte, cum este posibila portarea codului de octeti pe calculatoare diferite? Truc : codul sursa este compilat nu pentru calculatorul pe care se lucreaza ci pentru un calculator inexistent, acest calculator imaginar fiind numit Masina virtuala Java (Java Virtual Machine). Interpretorul actioneaza apoi ca un intermediar între Masina virtuala Java si masina reala pe care este rulat programul.
Aplicatia utilizatorului
Obiecte Java
Masina virtuala Java
UNIX Windows Macintosh
Sisteme de operare
4. Java si conceptele programarii orientate pe obiecte
Limbajul Java este urmatorul pas logic în domeniul limbajelor de programare si se bazeaza pe cel mai popular limbaj de programare al momentului C++. In Java se pot obtine programe cu aspectul si comportarea programelor C++, dar beneficiind de avantajele oferite de un limbaj proiectat special pentru POO. Java rebunta complet la programarea procedurala specifica C-ului si va obliga sa folositi conceptele solide ale POO.
Conceptele programarii orientate pe obiecte cuprind :
• Obiectele
• Încapsularea si transmiterea de mesaje
• Clasele
• Bibliotecile (numite pachete, în Java)
• Mostenirea
• Modificatorii de acces
de variabile de instanta
comportamentul obiectului este dat metode
usor de refolosit, actualizat, întretinut
Încapsularea si transmiterea de mesaje :
Clasele :
încapsuleaza obiecte
o singura clasa poate fi folosita pentru instantierea mai multor obiecte
Pachetele: colectie de clase înrudite
Mostenirea : permite
extinderea functionalitatii unor clase existente
refolosirea codului
Modificatorii de acces : controleaza accesul la metodele si variabilele obiectelor. Acestea pot fi :
1. Private - accesibile doar obiectelor din aceeasi clasa
2. Protejate - accesibile obiectelor din aceeasi clasa si din subclasele clasei respective
3. Prietenosase - (nivelul de accesibilitate prestabilit) accesibile tuturor claselor din pachetul curent
4. Publice - accesibile tuturor claselor din orice pachet
Programarea în limbajul Java
5. Caracteristicile de baza al limbajului Java
A. Folosirea în medii de retea distribuite
Java a fost proiectat pentru un mediu complex cum este Internetul si de aceea trebuie sa poata rula pe platforme eterogene distribuite. Acest lucru este posibil deoarece :
• este neutru din punct de vedere arhiectural = programele pot fi rulate pe orice platforma care are instalat mediul Java
• are un grad ridicat de portabilitate = contine obictecte care pot fi folosite pe platforme eterogene si respecta standardele IEEE (Institue of Electrical and Electronics Engineers) pentru structurile de date (folosirea întregilor, a numerelor în virgula mobila, a sirurilor, etc)
• este distribuit = poate folosi atât obiecte memorate local cât si obiecte stocate pe calculatoare aflate la distanta
• este compatibil cu mediile de lucru în retea (poate fi utilizat în retele complexe) si accepta direct protocoalele de retea obisnuite cum ar fi FTP si HTTP
Preview document
Conținut arhivă zip
- JAVA - Elemente generale.doc