Ce este Java
- Detalii
- Categorie: Programare Java
- Accesări: 8,530
Java este o tehnologie inovatoare lansată de compania Sun Microsystems în 1995, care a avut un impact remarcabil asupra întregii comunitati a dezvoltatorilor de software, impunandu-se prin calitaţi deosebite cum ar fi simplitate, robustete si nu în ultimul rând portabilitate. Denumita initial OAK, tehnologia Java este formata dintr-un limbaj de programare de nivel înalt pe baza caruia sunt construite o serie de platforme destinate implemenrârii de aplicaşi pentru toate segmentele industriei software.
Limbajul de programare Java
Inainte de a prezenta în detaliu aspectele tehnice ale limbajului Java, sa amintim caracteristicile sale principale, care l-au transformat într-un interval de timp atat de scurt într-una din cele mai pupulare optiuni pentru dezvoltarea de aplicaşi, indiferent de domeniu sau de complexitatea lor.
Simplitate - elimina supraîncarcarea operatorilor, mostenirea multipla si toate ’’facilirâtile” ce pot provoca scrierea unui cod confuz.
Uşurinţa în crearea de aplicaşi complexe ce folosesc programarea în retea, fire de execute, interfata grafică, baze de date, etc.
Robustete - elimină sursele frecvente de erori ce apar în programare prin renuntarea la pointeri, administrarea automata a memoriei si elim-
inarea pierderilor de memorie printr-o procedura de colectare a obiectelor care nu mai sunt referite, ce rulează în fundal (’’garbage collector”).
Complet orientat pe obiecte - elimina complet stilul de programare procedural.
Securitate - este un limbaj de programare foarte sigur, furnizand mecanisme stricte de securitate a programelor concretizate prin: verificarea dinamică a codului pentru detectarea secvenţelor periculoase, impunerea unor reguli stricte pentru rularea proceselor la distanta, etc.
Neutralitate arhitecturala - comportamentul unei aplicatii Java nu depinde de arhitectura fizica a masinii pe care ruleaza.
Portabililtate - Java este un limbaj independent de platforma de lucru, aceeasi aplicatie ruland fară nici o modificare si făra a necesita re- compilarea ei pe sisteme de operare diferite cum ar fi Windows, Linux, Mac OS, Solaris, etc. lucru care aduce economii substantiale firmelor dezvoltatoare de aplicatii.
Este compilat si interpretat, aceasta fiind solutia eficienta pentru obtinerea portabilitatii.
Performanta - desi mai lent decat limbajele de programare care generează executabile native pentru o anumitaă platformăa de lucru, compilatorul Java asigură o performanta ridicata a codului de octeti, astfel încat viteza de lucru putin mai scazuta nu va fi un impediment în dezvoltarea de aplicatii oricat de complexe, inclusiv grafică 3D, animate, etc.
Este modelat după C si Cd—+, trecerea de la C, C++ la Java făcandu-se foarte usor.
Platforme de lucru Java
Limbajul de programare Java a fost folosit la dezvoltarea unor tehnologii dedicate rezolvarii unor probleme din cele mai diverse domenii. Aceste tehnologii au fost grupate în asa numitele platforme de lucru, ce reprezinta seturi de librarii scrise în limbajul Java, precum si diverse programe utilitare, folosite pentru dezvoltarea de aplicatii sau componente destinate unei anume categorii de utilizatori.
J2SE (Standard Edition)
Este platforma standard de lucru ce ofera suport pentru crearea de aplicaţii independente si appleturi.
De asemenea, aici este inclusa si tehnologia Java Web Start ce furnizeaza o modalitate extrem de facila pentru lansarea si instalarea locala a programelor scrise în Java direct de pe Web, oferind cea mai comoda solutie pentru distribuia si actualizarea aplicaţilor Java.
J2ME (Micro Edition)
Folosind Java, programarea dispozitivelor mobile este extrem de simpla, platforma de lucru J2ME oferind suportul necesar scrierii de programe dedicate acestui scop.
J2EE (Enterprise Edition)
Aceasta platforma ofera API-ul necesar dezvoltarii de aplicaţi complexe, formate din componente ce trebuie sa ruleze în sisteme eterogene, cu informaţile memorate în baze de date distribuite, etc.
Tot aici gasim si suportul necesar pentru crearea de aplicaţii si servicii Web, bazate pe componente cum ar fi servleturi, pagini JSP, etc.
Toate distribuţile Java sunt oferite gratuit si pot fi descarcate de pe Internet de la adresa "http://java.sun.com”.
In continuare, vom folosi termenul J2SDK pentru a ne referi la distribuţa standard J2SE 1.5 SDK (Tiger).
Java: un limbaj compilat si interpretat
In functie de modul de executie a aplicatiilor, limbajele de programare se împart în două categorii:
Interpretate : instrucţunile sunt citite linie cu linie de un program numit interpretor si traduse în instrucţuni masină. Avantajul acestei soluţi este simplitatea si faptul ca fiind interpretată direct sursa programului obţnem portabilitatea. Dezavantajul evident este viteza de execuţe redusa. Probabil cel mai cunoscute limbaj interpretat este limbajul Basic.
Compilate : codul sursă al programelor este transformat de compilator într-un cod ce poate fi executat direct de procesor, numit cod maşină. Avantajul este execuţia extrem de rapidă, dezavantajul fiind lipsa portabilitatii, codul compilat într-un format de nivel scazut nu poate fi rulat decat pe platforma de lucru pe care a fost compilat.
Limbajul Java combina solutiile amintite mai sus, programele Java fiind atat interpretate cat si compilate. Asadar vom avea la dispozitie un compilator responsabil cu transformarea surselor programului în asa numitul cod de octeţi, precum si un interpretor ce va executa respectivul cod de octeti.
Codul de octet este diferit de codul masina. Codul masina este reprezentat de o succesiune de instructiuni specifice unui anumit procesor si unei anumite platforme de lucru reprezentate în format binar astfel încat sa poata fi executate fara a mai necesita nici o prelucrare.
Codurile de octeti sunt seturi de instructiuni care seamana cu codul scris în limbaj de asamblare si sunt generate de compilator independent de mediul de lucru. In timp ce 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 pe care este instalata mediul de executie Java.
Prin maşina virtuala Java (JVM) vom întelege mediul de executie al aplicaţilor Java. Pentru ca un cod de octeti sa poata fi executat pe un anumit calculator, pe acesta trebuie sa fie instalata o masina virtuala Java. Acest lucru este realizat automat de catre distribuţa J2SDK.
Primul program java
Crearea oricarei aplicaţi Java presupune efectuarea urmatorilor pasi:
Scriererea codului sursa
class FirstApp { public static void main( String args[]) { System.out.println("Hello world!") ; } }
Toate aplicaţiile Java conţin o clasa principala(primară) în care trebuie sa se gasească metoda main. Clasele aplicaţiei se pot gasi fie într-un singur fisier, fie în mai multe.
Salvarea fişierelor sursa
Se va face în fisiere care au obligatoriu extensia java, nici o alta extensie nefiind acceptata. Este recomandat ca fisierul care contine codul sursă al clasei primare sa aiba acelasi nume cu cel al clasei, desi acest lucru nu este obligatoriu. Sa presupunem ca am salvat exemplul de mai sus în fisierul C:\intro\FirstApp.java.
Compilarea aplicaţiei
Pentru compilare vom folosi compilatorul javac din distribuia J2SDK. Apelul compilatorului se face pentru fisierul ce contine clasa principală a aplicatei sau pentru orice fisier/fisiere cu extensia java. Compilatorul creeaza cate un fisier separat pentru fiecare clasă a programului. Acestea au extensia .class si implicit sunt plasate în acelasi director cu fisierele sursă.
javac FirstApp.java
In cazul în care compilarea a reusit va fi generat fisierul FirstApp. class.
Rularea aplicaţiei
Se face cu interpretorul java, apelat pentru unitatea de compilare core- spunzăatoare clasei principale. Deoarece interpretorul are ca argument de intrare numele clasei principale si nu numele unui fisier, ne vom pozitiona în directorul ce contine fisierul FirstApp.class si vom apela interpretorul astfel:
java FirstApp
Rularea unei aplicatii care nu foloseste interfata grafica, se va face într-o fereastrăa sistem.
Atenţie
Un apel de genul java c:\intro\FirstApp.class este greşit!