Extras din curs
1.Ce este Java
- un limbaj de programare, ale cărui calităţi i-au permis răspândirea rapidă, fiind în prezent unul din limbajele cele mai larg folosite.
- un mediu de execuţie pentru aplicaţiile Java, numit în prezent în engleză "Java 2 Runtime Environment", care conţine maşina virtuală Java şi un nucleu al bibliotecilor de clase Java;
- o platformă pentru dezvoltarea de aplicaţii în care se foloseşte limbajul Java, care se numeşte în prezent în engleză "Java 2 Platform" şi conţine:
o compilatorul Java (Java Compiler);
o maşina virtuală Java (Java Virtual Machine);
o bibliotecile de clase Java (Java Class Libraries);
o vizualizatorul de appleturi Java (Java AppletViewer);
o depanatorul Java (Java Debbuger) şi alte instrumente de dezvoltare;
o documentaţia;
- o tehnologie software puternică şi modernă, care corespunde cerinţelor lucrului în reţele de calculatoare
-
2.Caracteristici ale limbajului Java
Java este un limbaj de programare de utilizare largă, care are următoarele proprietăţi:
- este simplu: deşi sintaxa se aseamănă cu cea a limbajelor C/C++, au fost eliminate acele aspecte care constituiau surse de erori sau produceau confuzii;
- este orientat pe obiecte: în limbajul Java nu este posibil să se scrie aplicaţii care nu respectă normele programării orientate pe obiecte;
- este robust: programele scrise în Java sunt foarte fiabile, deoarece sunt prevăzute numeroase verificări atât la compilare, cât şi în timpul executării;
- este sigur: fiind destinat lucrului în reţele de calculatoare, la realizarea sistemului Java s-a avut în vedere necesitatea ca programele să nu poată aduce daune calculatoarelor pe care rulează, cum ar fi accesul neautorizat la informaţie sau chiar distrugerea acesteia;
- este portabil, adică programul poate fi mutat de pe un calculator pe altul, de alt tip hardware şi/sau cu alt sistem de operare;
- este compilat şi interpretat: programul sursă, scris în limbajul Java, este translatat de către compilatorul Java într-un program intermediar sub formă de cod de octeţi (engleza: bytecode). În timpul execuţiei, acest cod de octeţi este interpretat de către maşina virtuală Java, care conţine un interpretor;
- este neutru faţă de arhitectură: codul de octeţi generat de compilatorul Java nu depinde de arhitectura echipamentului pe care acesta va fi executat, deoarece el nu este executat direct de către procesorul hardware al acestui echipament, ci este interpretat de către maşina virtuală Java;
- permite programarea concurentă: în limbajul Java se pot scrie programe cu mai multe fire de execuţie (engleza: multithreading), care pot fi executate simultan şi sincronizate;
- este dinamic, deoarece legarea între ele a claselor şi obiectelor nu se face static (la compilare), ci dinamic (în momentul execuţiei);
- este distribuit, adică permite realizarea de programe utilizabile în reţele heterogene (care conţin calculatoare de tipuri diferite);
3. Maşina virtuală Java -este, în general, implementată software sub forma unui produs program adecvat calculatorului pe care acesta se instalează.
- Ideea de bază a limbajului şi tehnologiei Java, este ca - pe baza acestora - să se poată creea produse software neutre faţă de arhitectura sistemului de calcul, deci care să poată fi executate pe orice echipament, de la produse de uz casnic comandate numeric (televizoare, telefoane, maşini de spălat, frigidere, etc) pană la supercalculatoare. Ea se exprimă prin sloganul "Write Once, Run Anywhere" (scrie o singură dată şi rulează oriunde), care arată că un program, după ce a fost scris şi compilat, poate fi executat (rulat) pe orice calculator.
- Pentru realizarea acestui obiectiv, s-a decis ca în tehnologia Java portabilitatea programelor sa se realizeze la nivel de cod de octeţi (bytecode), adică sub forma de cod binar destinat unui calculator abstract, numit maşina virtuală Java
4. Implementarea maşinii virtuale Java
De regulă, arhitectura şi setul de instrucţiuni al calculatorului, pe care se execută un program Java, diferă de cele ale maşinii virtuale Java. În consecinţă, codul de octeţi generat de compilatorul Java nu poate fi executat nemijlocit de procesorul (procesoarele) calculatorului pe care acesta se execută.
Dacă este realizată software (aşa cum se întamplă în majoritatea cazurilor), maşina virtuală Java este ea însăşi un produs program, care este scris şi compilat special pentru tipul de calculator pe care se instalează, deci foloseşte setul de instrucţiuni nativ al acestuia. Acest produs program trebuie să respecte specificaţia maşinii virtuale Java, dar realizarea concretă depinde de tipul de calculator pe care se instalează. Mai mult, pentru acelaşi calculator pot fi realizate mai multe maşini virtuale Java, care toate respecta specificaţia, dar diferă între ele prin modul de realizare.
În principiu, componenta principală a maşinii virtuale Java este un interpretor, adică un program care parcurge instrucţiunile conţinute în codul de octeţi Java din memoria maşinii virtuale Java şi le converteşte în instrucţiuni native, care pot fi executate de procesorul calculatorului gazdă. Această conversie necesită un anumit timp, din care cauză durata de execuţie a unui program interpretat este intotdeauna mai mare decât a unuia compilat direct în codul nativ. Din această cauză, principala deficienţă care se semnala la primele implementări ale maşinii virtuale Java era că durata de execuţie a programelor era sensibil mai mare decât a celor scrise in limbaje "tradiţionale" compilate, cum ar fi C, C++, Pascal, Fortran etc.
Implementările moderne ale maşinii virtuale Java se caracterizează prin mărirea sensibilă a vitezei de executie, care se apropie deja de cea a programelor compilate. Aceasta se realizează, în special, prin introducerea unei compilări "just in time": codul de octeţi este compilat, în momentul execuţiei, in cod nativ pentru calculatorul gazdă şi abia apoi este executat.
Desigur că cea mai eficientă reducere a duratei de execuţie se produce atunci când maşina virtuală Java este implementata hardware, astfel încât codul de octeti Java (bztecode) este cod nativ al acestei maşini. În acest caz, durata de execuţie a programului este aceeaşi cu cea a unui program compilat tradiţional.
5. Tipuri de produse software scrise în Java
Limbajul Java este folosit cel mai frecvent pentru a scrie urmatoarele trei tipuri de programe:
aplicaţie - este un produs software care se instalează pe un anumit calculator şi funcţionează direct sub controlul sistemului de operare, având acces la toate resursele calculatorului respectiv. Una din clasele aplicaţiei trebuie sa conţină metoda principală, cu care începe execuţia aplicatiei. Această metodă se numeşte main şi are forma:
public static void main(String args[]) {
// corpul metodei
}
Preview document
Conținut arhivă zip
- Cursuri Java
- Teorie java.doc
- Titluri Java.doc