Sunteți pe pagina 1din 12

© 2017 – Crystal Mind Academy – www.crystalmind.

ro
Programare Java SE 8

0. Introducere curs CrystalMind Programare Java SE 8.

0.1 Introducere în tehnologia Java .......................................................................................................................... 2


Istoria limbajului de programare Java ...................................................................................................................... 2
Caracteristicile limbajului Java .................................................................................................................................. 2
Platforma Java ............................................................................................................................................................. 3
Ce ne pune la dispoziție tehnologia Java? ............................................................................................................. 4
0.2 Software-ul necesar pentru lucrul cu Java SE................................................................................................ 4
Instalare software necesar ........................................................................................................................................ 5
Instalare JDK 1.8.1_21 ........................................................................................................................................... 5
Deschidere sesiune Command Prompt ........................................................................................................... 6
Setare variabile de sistem JAVA_HOME și Path ............................................................................................ 7
Instalare Eclipse Oxygen for Java EE developers ............................................................................................. 7
Primul program Java și rularea lui din Command Prompt .................................................................................... 8
5.1 Mediu de dezvoltare Eclipse (Oxygen) .......................................................................................................... 10
Descrierea mediului de dezvoltare ......................................................................................................................... 11
Bibliografie...................................................................................................................................................................... 12

1
© 2017 – Crystal Mind Academy – www.crystalmind.ro
Programare Java SE 8

0.1 Introducere în tehnologia Java

Expresia „Tehnologia Java” o întâlnim foarte des în ziua de astăzi, dar ce înseamnă mai exact?
Tehnologia Java este atât un limbaj de programare, cât și o platformă.

Istoria limbajului de programare Java

În ziua de astăzi tehnologia face parte din viața noastră de zi cu zi, suntem conectați aproape tot timpul la
aplicații și accesăm conținut oricând, oriunde. Datorită tehnologiei Java, ne așteptăm ca dispozitivele să fie
inteligente, mai funcționale și mult mai distractive.

James Gosling de la Sun Microsystems împreună cu echipa sa (“Green Team”) au început să lucreze la un nou
limbaj destinat produselor electronice comerciale care puteau fi controlate prin procesoare de calculatoare,
orientându-se către microprocesoare care să ruleze pe o multitudine de mașini, în particular pe sisteme
distribuite care lucrează în timp real. Au început să lucreze așadar la prima versiune Java.

În 1994 James a realizat că un astfel de limbaj ar fi ideal pentru site-urile web (browsere web și conexiune Java).
În 1995 Netscape Incorporated lansează ultima versiune a browser-ului Netscape care era capabil să ruleze
programe Java. Mai târziu compania Sun Microsystems vinde licența firmelor IBM, Microsoft, Silicon Graphics,
Adobe și Netscape. În 2010 Sun Microsystems a fost achiziționată de Oracle Corporation, dobândind liniile de
producție hardware și software și implicit și Java.

Acum, Java e disponibil sub auspicii open source (http://openjdk.java.net/).

În ziua de astăzi, Java nu numai că pătrunde Internetul, dar este de asemenea și forța invizibilă din spatele
multor dintre aplicații și dispozitive pe care le folosim zi de zi, de la telefoane mobile până la dispozitive portabile,
jocuri și sisteme de navigație pentru soluții e-business.

Există mai multe versiuni Java lansate de-a lungul anilor. Versiunea curentă stabilă este Java SE 8.
1. JDK Alpha și Beta (1995)
2. JDK 1.0 (23 Ianuarie 1996)
3. JDK 1.1 (19 Februarie 1997)
4. J2SE 1.2 (8 Decembrie 1998)
5. J2SE 1.3 (8 Mai 2000)
6. J2SE 1.4 (6 Februarie 2002)
7. J2SE 5.0 (30 Septembrie 2004)
8. Java SE 6 (11 Decembrie 2006)
9. Java SE 7 (28 Iulie 2011)
10. Java SE 8 (18 Martie 2014)
11. Java SE 9 (Septembrie 2017)
Deși a fost lansată de curând versiunea 9, ea nu face scopul acestui curs.

De ce numele Java? Echipa Sun a vrut ca numele să reflecte esența tehnologiei: revoluționară, dinamică,
vividă, cool, unică, ușor de pronunțat și amuzantă. Java este o insulă din Indonezia unde a fost produsă prima
cafea (denumită și cafea Java).

Caracteristicile limbajului Java

Limbajul de programare Java este un limbaj high-level cu următoarele caracteristici:


- este un limbaj simplu
- este un limbaj orientat-obiect
- este un limbaj distribuit
- este un limbaj concurent
- este un limbaj dinamic
- este un limbaj independent de platformă
- este un limbaj performant

2
© 2017 – Crystal Mind Academy – www.crystalmind.ro
Programare Java SE 8

- este un limbaj robust


- este un limbaj sigur

Aceste caracteristici sunt explicate de James Gosling si Jenry McGilton în lucrarea „The Java Language
Environment”.

În java, codul sursă este scris în format text în fișiere cu extensia .java. Aceste fișiere sunt apoi compilate de
către compilatorul javac în fișiere cu extensia .class. Un fișier .class nu conține cod înțeles de către
procesorul calculatorului nostru, ci conține bytecode, cod mașină înțeles de către mașina virtuală Java (Java
JVM). Aplicațiile sunt rulate cu ajutorul unui utilitar de lansare java împreună cu o instanță a mașinii virtuale Java.
Figura 0.1

Program1.java Program1.class Program1

Această mașină virtuală este disponibilă pe mai multe sisteme de operare și deci, fișierele .class pot fi rulare pe
sisteme de operare precum Microsoft Windows, Solaris, Linux, sau Mac.

Figura 0.2

Program Java

Utilizând mașina virtuală Java (JVM), aceeași aplicație este capabilă să fie rulată pe mai multe platforme
(sisteme de operare)

Platforma Java

O platformă este un mediu hardware sau software în care un program rulează. Deși am menționat deja sistemele
de operare, majoritatea platformelor pot fi descrise ca o combinație între sistemul de operare și suportul
hardware.

Platforma Java se diferențiază de majoritatea platformelor prin faptul că este o platformă software care rulează
peste platformele hardware.

3
© 2017 – Crystal Mind Academy – www.crystalmind.ro
Programare Java SE 8

Platforma Java conține:


- Mașina Virtuală Java (JVM)
- Interfața de Programare de Aplicații Java (Java Application Programming interface - API)

Un API este o colecție de componente software deja realizate care oferă o serie de capabilități sau
funcționalități. Această colecție este grupată în biblioteci de clase și interfețe legate sau asociate, cunoscute sub
numele de pachete.
Figura 0.3

Ca un mediu independent de platformă, platforma Java poate fi un pic mai lentă decât codul nativ. Cu toate
acestea, progresele în evoluția compilatorului și tehnologiilor de mașini virtuale aduc o performanță apropiată de
cea a codului nativ fără a afecta portabilitatea.

Ce ne pune la dispoziție tehnologia Java?

Fiecare implementare completă a platformei Java oferă următoarele caracteristici:


 Tool-uri pentru dezvoltare – sunt folosite pentru a compila, rula, monitoriza, depana (engl. debugging) și
documenta aplicațiile. Cele mai utilizate tool-uri sunt: compilatorul javac, launcher-ul java și tool-ul
pentru documentare javadoc.
 Interfețe de Programare de Aplicații (API) – API-ul ne oferă funcționalitatea de bază a limbajului de
progamare Java, constituită dintr-o colecție de clase gata pentru a fi utilizate in aplicațiile noastre, de la
obiecte de bază până la networking și securitate, generare de XML-uri și acces la baze de date și nu
numai.
 Tehnologii de deployment – Software-ul JDK oferă mecanisme standard, cum ar fi software-ul Java Web
Start precum și plug-in-uri Java care să asiste în livrarea către utilizatorii finali.
 Biblioteci de integrare – cum ar fi Java IDL API, JDBC API, Java Naming și Directory Interface (JNDI)
API, Java RMI (Remote Method Invocation) și protocolul pentru invocarea Java de la distanță Inter-ORB
Protocol (tehnologia Java RMI-IIOP) care permite accesul la baza de date și manipularea obiectelor de la
distanță.

0.2 Software-ul necesar pentru lucrul cu Java SE

Pentru utilizarea limbajului Java în scopul de a crea și rula programe, următoarele resurse sunt necesare:
 Java Runtime Environment (JRE) – reprezintă totalitatea resurselor necesare pentru a rula programe
Java. Printre ele se numără mașina virtuală Java (JVM) și biblioteci de clase Java ce se folosesc pentru
operații des întâlnite (ex. Operații matematice – pachetul Math) – a se vedea in imaginea de mai jos.
 Java Development Kit (JDK) – pachetul conține resursele necesare creării de programe Java:
compilator, generator de documentație, arhivator și o alte utilitare care ajută la dezvoltare. După cum se
observă în imaginea preluata din documentatia oficială a platformei de bază - Java Standard Edition 8
JDK este un superset al lui JRE și conține tot ceea ce conține și JRE, plus tool-urile pe care deja le-am
precizat.

Figura 0.4

4
© 2017 – Crystal Mind Academy – www.crystalmind.ro
Programare Java SE 8

 Un mediu de dezvoltare (IDE – engl. Integrated Development Environment) – Un program Java poate fi
scris în orice editor de text, dar un mediu de dezvoltare oferă multe facilități care sporesc eficiența
programatorului (editor avansat, management al proiectelor și al resurselor atașate acestore, debugging,
plugin-uri pentru alte utilitare – conectare la servere de aplicații, baze de date, etc.). IDE-ul este o
aplicație cu interfața grafică care pune la dispoziție unelte din JDK și numai.

Mediile de dezvoltare pot fi:


- open source – software public. În cadrul cursului vom utiliza două dintre cele disponibile pe piață: Eclipse
Oxygen și NetBeans.
- proprietare – software contra cost. Dintre cele mai cunoscute amintim: Intellij Idea, MyEclipse.

Instalare software necesar

Software-ul necesar pentru lucrul cu limbajul Java este:


 Kitul JDK
Notă: La momentul scrierii documentației s-a folosit versiunea 1.8.1.21 a kitului JDK.
 Mediul de dezvoltare Eclipse Oxygen for Java EE developers.

Instalare JDK 1.8.1_21

Pașii pentru instalarea pachetului JDK pentru sistemul de operare Windows sunt:

1. Accesare link: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html


2. Download și instalare.

Dacă se păstrează opțiunile default, vom regăsi software-ul instalat în folderul C:\Program
Files\Java\jdk1.8.1_21.

3. Setare variabilelor de sistem JAVA_HOME și Path (setare descrisă în cele ce urmează).

5
© 2017 – Crystal Mind Academy – www.crystalmind.ro
Programare Java SE 8

Variabilele de sistem (engl. environment variables) ale sistemului de Operare Windows sunt folosite de către
programele instalate pe acesta.

În cazul platformei Java, posibilele variabile de sistem care pot fi setate sunt următoarele:
- JAVA_HOME – este o variabilă de sistem care indică locația unde este instalat JDK-ul. În mod normal
Java nu folosește această variabilă, ci programe care interacționează cu limbajul Java (engl. third party
programs).
- JRE_HOME – este o variabilă de sistem care indică locația unde este instalat JRE-ul.
- Path – este o variabilă de sistem folosită pentru a localiza executabile, comenzi sau programe .exe,
fișiere .dll (în Windows) și fișiere .so (în Linux).
- CLASSPATH – este o variabilă de sistem care conține o listă de directoare și/sau fișiere JAR în care
Java verifică atunci când încarcă clase. În mod normal această variabilă nu se setează în locația
obișnuită, ca și în cazul de mai sus, ci se utilizează opțiunea -cp sau -classpath în linia de comandă
atunci când folosim comenzile java sau javac.

Aceste variabile pot si setate fie din command prompt, fie din interfața grafică.

Deschidere sesiune Command Prompt

Command Prompt, cunoscut sub numele de cmd.exe sau cmd – după numele executabilului, este un interpretor
de linie de comandă al sistemulor de operare Windows NT, Windows CE, OS/2 și eComStation. Acest program
interacționează cu utilizatorul prin interfața liniei de comandă, iar în Windows interfața este implementată prin
consola Win32.
El este folosit pentru a executa comenzile introduse de utilizator. Majoritatea comenzilor sunt folosite pentru a
automatiza taskuri prin scripturi sau fișiere batch cu scopul de a realiza funcții administrative avansate sau de a
depana și rezolva anumite probleme legate de Windows.

Cea mai rapidă metodă de deschidere a unei sesiuni cmd este combinația de taste Ctrl + Shift + click dreapta
în folderul curent de lucru sau dektop si apoi “Open command windows here” sau “Open Power Shell window
here” în Windows 10.
Figura 0.7

Metoda standard de deschidere a unei sesiuni cmd este din Start Menu sau Apps Screen în funcție de
versiunea de Windows, apoi cmd și deschiderea executabilului cmd.exe.

6
© 2017 – Crystal Mind Academy – www.crystalmind.ro
Programare Java SE 8

La pornirea sesiunii cmd userul va putea executa comenzi.


Figura 0.8

Prima comanda pe care o vom executa este SET (vedeți lista comenzilor posibile în cmd aici).

Setare variabile de sistem JAVA_HOME și Path

Pașii pentru setarea variabilelor de sistem JAVA_HOME și Path din interfața grafică sunt următorii:

1. Click dreapta pe My Computer -> Properties.


2. Pe tab-ul Advanced selectăm Environment Variables și edităm JAVA_HOME dacă există, dacă nu creăm
această variabilă pentru a conține locația instalării C:\Program Files\Java\jdk1.8.1_21
3. Tot în meniul System variables cautăm variabila Path si adaugăm la sfârșit ;C:\Program
Files\Java\jdk1.8.1_21
Notă: A se observa că toate setările din această variabilă sunt enumerate prin “;”).

Instalare Eclipse Oxygen for Java EE developers

Pașii instalarea mediului de dezvoltare Eclipse Oxygen, versiunea Java EE developers, sunt:

1. Accesare link: http://www.eclipse.org/downloads/packages/release/Oxygen/M2


2. Download și instalare versiune în funcție de configurarea sistemului de operare.

Figura 0.5

Din lista prezentată la instalare vom selecta Eclipse IDE for Java EE Developers cu toate că cea de-a doua
opțiune ar fi mai potrivită pentru începători, însă recomandarea noastră este să obișnuiți cu această versiune.

3. Alegerea folder-ului de instalare – este recomandat cel default.


4. După instalare se pornește mediul de dezvoltare și se alege o locație de pe disk, locație care va reprezenta
mediul nostru de lucru.
5. Verificăm versiunea compilatorului și interpretorului Java din meniul Windows -> Preferences -> Compiler
Figura 0.6

7
© 2017 – Crystal Mind Academy – www.crystalmind.ro
Programare Java SE 8

Primul program Java și rularea lui din Command Prompt

Termenul aplicație este sinonim cu program și se referă la codul sursă care este compilat și executat. Pentru a
crea o aplicație Java, programul trebuie conțină o clasă care definește metoda main(), metodă ce reprezintă
punctul de intrare pentru orice aplicație Java.

Această metodă este invocată de interpretorul Java, adică de mașina virtuală Java (JVM) la pornirea aplicației.

Semnătura metodei main() trebuie să fie următoarea:

public static void main(String[] args) { //semnatura metodei main()


/* instructiuni */
}

În continuare vom crea un program Java folosim un editor text (recomandăm Notepad++ - este ușor de utilizat) și
îl vom rula din Command Prompt.
1. Creăm un folder de lucru, în cazul de față C:\crystalmind\cursuri\curs1.
Folosind Notepad++ sau alt editor de text, în care creăm fișierul Java Exemplu.java.

public class Exemplu {

public static void main(String[] args) {


System.out.println("Hello World!");
}
}

Salvăm fișierul HelloWorld.java cu numele în directorul C:\crystalmind\cursuri\curs1.

8
© 2017 – Crystal Mind Academy – www.crystalmind.ro
Programare Java SE 8

Notă: Un fișier .java poate conține mai multe clase, dintre care doar una poate avea modificatorul public și aceea
impune numele fișierului.

2. Rulăm Command Prompt (îl găsim în meniul Start sub All Programs/Accessories) și stabilim directorul de
lucru cu comanda cd:
C:\Users\Jeni> cd "c:\crystalmind\cursuri\curs1"

3. Verificăm conținutul directorului cu comanda dir:

c:\crystalmind\cursuri\curs1> dir
Volume in drive C has no label.
Volume Serial Number is DABF-668E

Directory of c:\crystalmind\cursuri\curs1

04/01/2017 01:11 PM <DIR> .


04/01/2017 01:11 PM <DIR> ..
04/01/2017 01:11 PM 113 Exemplu.java
1 File(s) 113 bytes
2 Dir(s) 170,031,943,680 bytes free

4. Pentru a rula Java trebuie să spunem sistemului unde găsesc programele JDK, dar noi am setat deja
variabilele de sistem JAVA_HOME și Path.
Vom verifica în schimb versiunea Java instalată cu comanda java –version:

c:\crystalmind\cursuri\curs1>java –version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

Precum și versiunea compilatarului:

c:\crystalmind\cursuri\curs1>javac -version
javac 1.8.0_121

5. Se compilează fișierul sursă folosind compilatorul Java:

c:\crystalmind\cursuri\curs1>javac Exemplu.java

Această comandă rulează javac.exe (Windows) sau javac (Unix/Linux). Ar trebui să vedem următorul
system prompt...

c:\crystalmind\cursuri\curs1>

javac a creat fișierul Exemplu.class. Dacă verificăm din nou conținutul directorul, îl vom găsi alaturi de
fișierul .java.

c:\crystalmind\cursuri\curs1> dir
Volume in drive C has no label.
Volume Serial Number is DABF-668E

Directory of c:\crystalmind\cursuri\curs1
9
© 2017 – Crystal Mind Academy – www.crystalmind.ro
Programare Java SE 8

04/01/2017 02:11 PM <DIR> .


04/01/2017 02:11 PM <DIR> ..
04/01/2017 02:11 PM 420 Exemplu.class
04/01/2017 01:11 PM 113 Exemplu.java
2 File(s) 533 bytes
2 Dir(s) 170,096,017,408 bytes free

6. Rulăm programul creat de noi cu următoarea comandă:

c:\crystalmind\cursuri\curs1>java Exemplu

Comanda a rulat interpretorul Java. Rezultatul afișat ar trebui să fie următorul:

Hello World!

Observăm că a afișat exact ce am dorit. Pe lângă acest lucru observăm și faptul că mașina virtuală
primește ca parametru un nume de clasă și nu de fișier. Dacă încercăm să rulăm comanda folosind
numele clasei o eroare va fi afișată:

c:\crystalmind\cursuri\curs1>java Exemplu.class
Error: Could not find or load main class Exemplu.class

5.1 Mediu de dezvoltare Eclipse (Oxygen)

Eclipse este mai mult decât un mediu de dezvoltare (IDE), el este un întreg ecosistem de dezvoltare. Această
secțiune este o scurtă introducere pentru utilizarea Eclipse (Oxygen este ultima versiune) în lucrul cu limbajul
Java.

Ultima versiune se poate downloada de la adresa https://www.eclipse.org/downloads/. În cadrul acestui curs vom
folosi Eclipse OXYGEN. Opțiunile posibile de lucru sunt:
 Eclipse IDE for Java EE Developers – oferă suport pentru dezvoltarea aplicațiilor web. Această versiune
conține:
o Data Tools Platform
o Git integration for Eclipse
o Eclipse Java Development Tools
o Eclipse Java EE Developer Tools
o JavaScript Development Tools
o Maven Integration for Eclipse
o Mylyn Task List
o Eclipse Plug-in Development Environment
o Remote System Explorer
o Code Recommenders Tools for Java Developers
o Eclipse XML Editors and Tools
 Eclipse IDE for Java Developers. Acestă versiune conține:
o Git integration for Eclipse
o Eclipse Java Development Tools
o Maven Integration for Eclipse
o Mylyn Task List
o Code Recommenders Tools for Java Developers
o Eclipse XML Editors and Tools

Notă: Recomandăm prima versiune pentru obișnuirea pe viitor cu această versiune.

10
© 2017 – Crystal Mind Academy – www.crystalmind.ro
Programare Java SE 8

Descrierea mediului de dezvoltare

Mediul de dezvoltare Eclipse are 4 componente principale:


 Workspace
 Proiecte (engl. Projects)
 Perspective (engl. Perspectives)
 View-uri (engl. Views)

Unitatea primară de organizare în Eclipse este spațiul de lucru (engl. workspace). Un workspace conține toate
proiectele noastre. O perspectivă este o modalitate de a privi fiecare proiect, iar în cadrul unei perpective există
mai multe view-uri.

În figura de mai jos este afișată perspectiva Java, perspectivă care este default și pe care o vedem când pornim
Eclipse-ul.

Figura 0.8

O perspectivă Java conține toate instrumentele de care avem nevoie pentru a începe scriem aplicații Java.
Fiecare fereastră tabulară prezentată în figura 0.8 este o vizualizare pentru perspectiva Java. Package Explorer
și Outline sunt două vizualizări destul de utile.
Mediul Eclipse este configurabil. Fiecare vizualizare este dockable astfel încât să o puteți muta în perspectiva
Java și să o plasați acolo unde doriți.

11
© 2017 – Crystal Mind Academy – www.crystalmind.ro
Programare Java SE 8

Bibliografie

1. Introducere în limbajul Java https://www.ibm.com/developerworks/java/tutorials/j-introtojava1/index.html


2. Command Prompt https://www.lifewire.com/command-prompt-2625840

12

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