Sunteți pe pagina 1din 18

Ce este JAVA?

Java este un limbaj de programare multifuncţional, ale cărui


caracteristici principale sunt portabilitatea, simplitatea, orientarea pe
obiecte şi fiabilitatea. Acest limbaj nu este strict legat de un sistem de
operare, nici de un tip de aplicaţie, astfel încât poate fi executat pe
majoritatea dispozitivelor.

Java este un limbaj pentru scrierea programelor, dar și o platformă


pentru rularea programelor scrise în Java și a altor limbaje de
programare (de exemplu, Groovy, Clojure, Scala sau în implementări
ale altor limbaje în Java, spre exemplu Jython sau JRuby). Spre
deosebire de platformele fizice care sunt alcătuite din procesoare și
sisteme de operare, platforma Java constă dintr-un singur tip de
procesor software responsabil de executarea programului Java.

Imaginea 4.1 Logoul Java

Istoric

Povestea programului Java începe în 1991 când James Gosling a


început să lucreze la limbajul de programare Oak. În anul următor, Sun
Microsystems a prezentat Star7, un dispozitiv PDA cu ecran tactil și
interfață de utilizator grafică animată, pe care a debutat Oak, un limbaj
de programare cu procesor independent, scris cu un an înainte special
pentru acest dispozitiv. Dispozitivul a trecut aproape neremarcat.
Limbajul de programare Oak și-a schimbat numele în Java în 1995.
Acest limbaj de programare a apărut din nevoia de a avea un limbaj de
programare cu platformă independentă care să poată fi folosit la
dezvoltarea unui software pentru dispozitivele electronice de larg
consum, precum prăjitoarele de pâine, cuptoarele cu microunde și
telecomenzile. După cum poate ați ghicit deja, în această diversitate
de dipozitive, diferite tipuri de procesoare apar sub formă de
controlere. Exact aceasta a fost şi problema, deoarece în momentul în
care a fost creat Java, majoritatea limbajelor de programare erau
proiectate pentru a fi implementate pe o platformă specifică. Dacă
luăm ca exemplu C++, putem vedea că deși era posibil să compilăm
programul C++ pe orice tip de procesor, acesta necesita dezvoltarea
unui compilator C++ complet pentru platforma țintă, ceea ce
constituie un proces foarte costisitor și îndelungat. Încercând să
rezolve problemele menționate mai sus, Gosling și echipa sa de la Sun
au lucrat la dezvoltarea unui limbaj de programare portabil, cu
platformă independentă, ceea ce a dus la crearea limbajului Java.

În momentul în care a fost creat Java, World Wide Web cunoștea o


dezvoltare intensă care a avut o influență crucială asupra formării și
poziționării limbajului Java ca limbaj de programare. Dacă Web-ul nu s-
ar fi dezvoltat așa cum a făcut-o în momentul în care a apărut Java,
acest limbaj ar fi rămas probabil o tehnologie utilă, dar nu atât de
revoluționară, care s-ar fi folosit doar în industria electronicelor de larg
consum. Odată cu „explozia” Internetului, Java a intrat în prim-plan,
deoarece Web-ul avea nevoie de portabilitatea oferită de Java.

Deși nevoia de a crea limbaje de programare portabile cu platformă


independentă este la fel de veche ca și programarea însăși, această
problemă nu a fost considerată una importantă până când Internetul
nu a devenit un fenomen în masă. Internetul aduce cu sine o nouă
rețea alcătuită din diferite computere, sisteme de operare și
procesoare. Ceea ce nu era considerat o problemă importantă a
devenit una. Creatorii programului Java, văzând că problemele pe care
le întâlneau în încercările lor de a proiecta un limbaj cu platformă
independentă pentru produsele electronice de larg consum apăreau și
în rețeaua globală, au decis să se concentreze asupra Internetului.
Astfel, putem spune că, pe lângă independența platformei, şi Internetul
este responsabil pentru marele succes al lui Java.

Legătura dintre Java și limbajele C și C++ și comparația


cu limbajul C#

Java moștenește sintaxa de la limbajul de programare C, iar modelul


obiectual a fost adaptat de la limbajul C++. Această legătură dintre
Java și limbajele de programare C și C++ este importantă din mai
multe motive. În primul rând, mulți programatori erau deja familiarizați
cu sintaxa limbajelor C și C++, așa că s-au adaptat ușor la Java, iar
programatorii care au învățat Java s-au adaptat ușor la limbajele C și
C++. În al doilea rând, creatorii programului Java nu au încercat să
facă o revoluție, ci au continuat să îmbunătățească o paradigmă de
programare de succes. Epoca modernă a programării a început cu C și
C++ și a continuat cu Java. Astfel, beneficiind de o moștenire bogată,
creatorii programului Java au creat un mediu de programare puternic și
consistent care a luat tot ce e mai bun, adăugând noi posibilități
impuse de mediul online.

Datorită similarităților menționate dintre limbajele de programare Java


și C++, în special datorită suportului pentru programarea orientată pe
obiect, ne putem gândi că Java este "versiunea pentru Internet a lui
C++". Acest lucru ar fi greșit, deoarece Java nu a fost conceput pentru
a înlocui C++, ci pentru a rezolva anumite probleme care nu puteau fi
rezolvate sau puteau fi rezolvate, dar cu multă bătaie de cap. Este clar
că astăzi ambele programe „conviețuiesc” și vor continua așa.

Cel mai mare concurent pentru Java este limbajul C# care există în
tehnologia Microsoft .NET. Se consideră că un programator care
cunoaște Java poate învăța rapid C# și invers. Deși numele claselor
diferă între aceste două tehnologii, conceptul este aproape identic,
precum și tehnologia de fundal.

Cum funcționează Java


Viața unui program Java începe sub forma unui cod sursă scris de un
programator. În acest scop, putem folosi un simplu editor de text. Un
fișier care conține codul sursă Java are extensia .java. Următorul pas
constă în compilarea codului sursă, lucru care se efectuează cu un
compilator Java (javac). În urma compilării, obținem un fișier cu
extensia .class. Conținutul acestui fișier se numește bytecode.
Bytecode este un limbaj similar din punct de vedere sintactic cu codul
mașină, dar necesită o interpretare adițională pentru a fi transformat în
limbajul sursă (mașină) al mediului. Această sarcină este efectuată de
JVM. Astfel, obținem portabilitatea multiplatformă a programului. Cu
alte cuvinte, odată scris un cod poate fi executat pe o platformă
diferită folosind JVM (Java Virtual Machine) pornit pe acel sistem.

Imaginea 4.2 Ciclul de viață al programului Java

În paragraful precedent, am menționat doi termeni: compilare și


interpretare. Executarea unui program (fără nicio legătură cu Java) are
loc întotdeauna în două forme: interpretarea sau executarea codului
compilat. Interpretarea înseamnă traducerea și executarea codului în
timp real, în timp ce compilarea înseamnă că acest cod va fi mai întâi
interpretat în limbajul sursă al mediului și apoi, în timpul executării,
codul va fi pornit în forma sa interpretată de fiecare dată. De aici,
putem concluziona că executarea programelor compilate anterior este
mai rapidă decât executarea celor interpretate. Modul în care
funcționează Java este un amestec între executarea interpretată și cea
tradusă. Codul sursă este tradus în bytecode, apoi bytecode-ul este
interpretat într-un cod mașină specific.

Singura premisă necesară pentru ca Java să funcționeze într-un mediu


este existența unui JVM (Java Virtual Machine) în acel mediu. Java
Virtual Machine reprezintă un tip de procesor software cu un set de
instrucțiuni. Este alcătuit dintr-un număr uriaș de biblioteci cu funcții
predefinite, cunoscute sub numele de biblioteci de clase standard care
pot fi folosite de un program scris în Java ca să efectueze operații de
rutină. De asemenea, JVM posedă și așa-numitul cod „glue” care ajută
la obținerea interacțiunii cu sistemul de operare unde este instalat
JVM.

Java Virtual Machine poate fi găsit în JRE și JDK. Veți întâlni des aceste
abrevieri în universul Java.

JRE (Java Runtime Environment) permite sistemului de operare să


execute programe scrise în limbajul Java, în timp ce JDK (Java
Development Kit) aduce, pe lângă mediul de inițializare a lui Java, şi
un set de instrumente utilizate de programatori pentru a dezvolta
aplicații. JRE conține JVM și un set de biblioteci variate cu funcții
predefinite care pot fi folosite de aplicații, iar JDK conține JRE și
instrumente de programare.

Imaginea 4.3 Structura mediului Java

În imaginea de mai sus, putem vedea că în JVM există și JIT (Just In


Time Compiler). Se folosește pentru a accelera interpretarea codului
(lucru pe care îl face prin recunoașterea comenzilor repetate des) și
pentru a efectua traducerea acestor comenzi în timpul executării
programului. Ciclul de viață complet al lui Java este afișat în imagine.
Imaginea 4.4. Modul de operare a lui Java

Edițiile Java

Deşi Java nu este dependent de platformă, există totuşi diferite ediţii şi


forme ale executării sale: Java Standard Edition, Enterprise
Edition şi Micro Edition. Aceste ediţii au aceeaşi bază, dar diferă prin
seturi adiţionale de biblioteci specializate pentru anumite domenii.
Standard Edition cunoaşte aplicarea cea mai largă şi se foloseşte
pentru crearea diferitelor tipuri de aplicaţii desktop. Enterprise Edition
este menită creării unor aplicaţii de server robuste care includ şi
servicii Web XML, aplicaţii Web distribuite etc. Micro Edition este
menită producerii aplicaţiilor pentru telefoane mobile şi alte dispozitive
manuale şi mobile, despre care se presupune că nu au o putere de
executare analoagă platformelor desktop şi server.
Compania Sun, autorul oficial al limbajului Java, a schimbat în 1998
numele acestui limbaj din Java 1.2 în Java 2 (J2), motiv pentru care
ediţiile menţionate se numesc prescurtat J2SE, J2EE şi J2ME. În 2006,
din motive de marketing, edițiile și-au schimbat numele în Java SE,
Java EE și Java ME, care sunt în vigoare și astăzi.

Tehnologiile Java

Există diverse tehnologii susţinute de Java. Cu ajutorul acestui limbaj,


putem crea aplicaţii desktop multiplatform, aplicaţii web, aplicaţii
pentru dispozitive mobile, aplicaţii web RIA etc. În general, cu ajutorul
lui Java şi cu un mediu adecvat putem crea orice tip de aplicaţie. Când
vorbim despre aplicaţii desktop GUI (Graphic User Interface), se
subînţelege folosirea tehnologiilor AWT (Abstract Window Toolkit),
respectiv JFC (Java Foundation Classes) şi Swing. Deşi au mecanisme
de funcţionare complexe, aceste sisteme pot fi gestionate simplu cu
ajutorul unui mediu grafic care creează majoritatea acestor
componente pentru noi când, pur şi simplu, tragem controalele în
aplicaţie.

Java susţine şi tehnologii de realizare a diferitelor tipuri de aplicaţii


web: aplicaţii standard, aplicaţii client-server, servicii web, aplicaţii RIA
(Rich Internet Applications) etc. În acest scop folosim tehnologia JSP
(Java Server Pages) care este analoagă tehnologiilor web de server,
cum ar fi PHP şi ASP. În general, JSP subînţelege implementarea codului
Java în codul HTML pentru a asigura dinamica creării documentelor
web. Un scop similar îl are şi tehnologia Java Servlet care subînţelege
clasa Servlet pentru crearea documentelor web. Spre deosebire de JSP,
Servlet nu implementează codul Java în documente HTML, ci sunt
reprezentate exclusiv prin codul Java.

Pentru producerea părţilor de client ale aplicaţiilor web se folosesc Java


Applets şi JavaFX. Ambele tehnologii subînţeleg sisteme încapsulate,
independente de codul HTML, asemănătoare cu Adobe Flash şi
Microsoft Silverlight. Deşi, în contextul Java, pentru crearea aplicaţiilor
web se foloseşte cel mai frecvent o combinaţie de JavaScript, HTML şi
JSP. În caz că e nevoie de conţinuturi grafice mai avansate, se folosesc
Java Applets şi JavaFX. Actualmente ultima versiune este Java 11, însă
pentru acest curs este suficientă instalarea versiunii Java 8.
Funcţionalităţile introduse în versiunile superioare versiunii 8 nu vor fi
discutate în cadrul acestui curs.

Totuşi ar trebui menţionat că Oracle va oferi update-uri şi auto update-


uri pentru Java SE 8 până în Decembrie 2020 pentru utilizatorii
personali, iar până în ianuarie 2019 pentru utilizatorii comerciali.

Mediul de dezvoltare Java

Java nu este dependent de mediul de dezvoltare, deoarece codul sursă


al aplicațiilor Java este plasat în documente textuale obișnuite, iar
pentru a crea un program Java nu avem nevoie decât de un compilator
Java (javac application). Acest program, împreună cu celelalte
programe necesare pentru crearea unei aplicaţii Java se află în setul
JDK (Java Development Kit). Deşi pentru a folosi Java nu avem nevoie
de o aplicaţie de dezvoltare mai bună decât Notepad, cel mai adesea,
aplicaţiile Java serioase nu se scriu în el, ci în medii de dezvoltare
predefinite. Trei dintre cele mai populare IDE-uri sunt Eclipse,
NetBeans şi IntelliJ IDEA. Se poate preciza că există aplicaţii pentru
dezvoltarea programelor Java inclusiv pe device-uri mobile, cum sunt
cele ce utilizează Android ca sistem de operare. Ambele sunt gratuite
şi scrise în Java, fiind prin urmare cu platformă independentă. În acest
curs, vom folosi NetBeans, pe platforma Windows.

Cum downloadăm JDK

După cum am menționat deja, pentru a începe crearea unui cod Java
care poate fi executat, avem nevoie de JDK (Java Development Kit). În
cadrul acestuia vom primi în mod automat un mediu de execuție (JRE)
și JVM. JDK-ul pentru Java 8 poate fi descărcat din link-ul:

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downl
oads-2133151.html

După ce deschidem acest link în web browserul nostru, trebuie să


acceptăm termenii de licență, bifând cerculețul de lângă Accept
License Agreement. În continuare, din lista de mai jos, trebuie să
selectăm un fișier de execuție care corespunde platformei pe care vom
lucra. Dacă avem versiunea pe 32 de biți a sistemului de operare,
selectăm Windows x86, iar dacă avem versiunea pe 64 de biți a
sistemului de operare, selectăm Windows x64. Dacă nu suntem siguri
ce versiune avem, o selectăm pe cea de 32 biți.

Imaginea 4.5 Downloadarea lui JDK: selectarea platformei

Dând clic pe linkul din dreapta rândului care spune Windows x86 sau
Windows x64, inițializăm downloadarea fișierului de execuție.

După instalare, sistemul va conține următorul folder:

C:\Program Files\Java

sau
C:\Program Files (x86)\Java

(Fireşte, în loc de C, putem avea orice alt dispozitiv, în funcţie de


locaţia sistemului). Se mai poate menţiona că pe un dispozitiv există
posibilitatea de a fi instalate simultan mai multe versiuni pentru JDK.

În afară de JDK-ul oferit de Oracle există şi alte alternative, în acest


sens trebuind să fie amintit OpenJDK (http://openjdk.java.net)

javac

Compilatorul Java (și alte instrumente Java) este localizat în folderul:

C:\Program Files\Java\jdk1.8.0\bin

sau

C:\Program Files (x86)\Java\jdk1.8.0\bin

Pentru a face ca instrumentele localizate pe această cale să fie


disponibile din Command Prompt, trebuie să plasăm folderul pe calea
de sistem (explicaţia despre cum se face aceasta se află în partea de
jos a paginii, unde e subtitlul Mai multe din lecţie). Abia apoi putem
porni CMD.
Imaginea 4.6 Command Prompt

Pentru a porni compilatorul Java, este suficient să introducem javac în


Command Prompt. Pentru a verifica versiunea compilatorului,
introduceți comanda javac – version. Rezultatul va fi: javac 1.8.0 (sau
unul similar, în funcție de versiune). Aceasta înseamnă că respectivul
compilator este funcțional și că putem crea programe Java.
Imaginea 4.7 Comanda pentru a afișa versiunea compilatorului Java

Pentru a crea cel mai simplu program în Java, vom crea un folder în
orice parte a sistemului. Folderul se va numi JavaLearning.

În interiorul folderului vom crea un document textual cu numele


Test.java, care va avea următorul conţinut:

public class test


{
public static void main(String[] args)
{
/*metoda println() tipareste String-ul dat la iesire si trece in rand nou*/
System.out.println("hello");
}
}
După salvarea acestui document în folderul JavaLearning, putem
efectua traducerea lui prin accesarea folderului (din consolă) şi prin
activarea comenzii: javac *. Asteriscul reprezintă calea unde este
localizat fișierul creat.

Imaginea 4.8 Comanda pentru compilarea codului sursă

Dacă aplicaţia nu semnalează nicio eroare, înseamnă că traducerea a


fost efectuată cu succes şi în folderul respectiv se va afla încă un
document, test.class. Documentele Class sunt, de fapt, documente
Bytecode şi le activăm prin interpretatorul Java, astfel încât activarea
aplicaţiei create se poate face prin următoarea linie:

java test

Dacă totul este efectuat cum trebuie, linia următoare ar trebui să


conțină un mesaj de salut.
Imaginea 4.9 Rezultatul inițializării unui program interpretat

Să aruncăm o privire asupra altor câteva comenzi caracteristice


compilatorului Java.

–classpath path – acesta este un parametru care îi comunică


compilatorului Java unde să găsească clasele și pachetele definite de
utilizatori, care pot apărea în cadrul unui fișier cu codul sursă; locația
implicită este folderul curent unde este localizat codul sursă; ambele
instrumente - și javac, și java - au această opțiune.

–d directory – această comandă specifică o locație unde va fi salvat


fișierul compilat. Directorul este calea folderului. Folderul trebuie să
existe în sistem, deoarece javac nu îl va crea în mod automat.

Imaginea de mai jos demonstrează utilizarea comenzii -d care specifică


o locație în care va fi localizat fișierul compilat. După executarea
ultimei linii, pe partiția D va fi creat un fișier bytecode compilat.
Imaginea 4.10 Inițializarea compilării cu comanda –d

Mai multe din această lecţie

Adăugarea folderelor pe calea de sistem

Adăugarea folderelor pe calea de sistem se poate efectua în


diferite moduri.

- Windows 8:

1. Plasați mouse-ul în colțul dreapta sus al ecranului;

2. Selectați iconița Search și tastați: System;

3. Dați clic pe Advanced System Settings;

4. Dați clic pe Environment Variables în partea de jos a ferestrei în


cadrul tab-ului Advanced;
Imaginea 4.11 Proprietățile sistemului

5. În lista System Variables, găsiți PATH și dați dublu clic pe el;


6. În câmpul de text Variable value, introduceți calea pe care sunt
localizate compilatorul Java și alte instrumente instalate la începutul
intrării existente; în cazul nostru, este vorba de C:\Program
Files\Java\jdk1.7.0_45\bin; adăugați punct și virgulă la finalul căii, ca în
imaginea de mai jos; este foarte important să nu modificați conținutul
existent și să adăugați calea la începutul câmpului. Trebuie menţionat
că atunci când se va utiliza Java 8, sau o altă versiune trebuie ca în loc
să fie introdusă calea spre fişierul bin al JDK-ului instalat.
Imaginea 4.12 Adăugarea căii de sistem

- Windows 7:

Pentru a deschide fereastra System pe Windows 7, efectuați


următoarele:

găsiți iconița My Computer și dați clic dreapta pe ea;

selectați Properties din meniul drop-down și fereastra System


se va deschide;

din acest punct, urmați instrucțiunile pentru Windows 8, de la


pasul 3.

după completarea valorii pentru variabila Path, calculatorul va


trebui să fie resetat pentru a fi încărcată noua valoare a cestei
variabile.

Dacă operațiile anterioare au fost executate cu succes, porniți


Command Prompt. Poate fi pornit în următoarele moduri:

- Windows 8:

1. Apăsați tasta Windows de pe tastatură și X;


2. Se va deschide meniul power user task, din care selectați
Command Prompt sau Command Prompt (Admin);

- Windows 7 și Vista:

1. Dați clic pe Start;

2. Tastați cmd și apăsați Enter;

- NT, 2000 și XP:

1. Dați clic pe Start;

2. Dați clic pe Run;

3. Tastați cmd sau command și apăsați Enter.

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