fundamentele limbajului java

Post on 22-Nov-2014

9.863 Views

Category:

Technology

9 Downloads

Preview:

Click to see full reader

DESCRIPTION

Introducere Tipuri de date Structuri de control Clase si obiecte Alte constructii JDBC

TRANSCRIPT

CURS JAVA Fundamente

CRISTIAN OLARU

http://olaru.blogspot.com

Cuprins

1. Introducere2. Tipuri de date3. Structuri de control4. Clase si obiecte5. Alte constructii6. JDBC7. Servlets8. JSP9. Struts10. ANT

1. INTRODUCERE

1.1 Istoric si caracteristici

1995 - Java se naste. Tata: James Goslings, Mama: Sun Microsystems

Distributii: JSDK, J2EE, J2ME Versiuni JSDK : 1.1…1.4, 5.0 (Tiger), prezent -

6.0(Mustang), viitor 7.0(Dolphin) Caracteristici: total orientat obiecte, suport

intern pentru fire de executie, complet specificat (JLS), case sensitive

1.2 JVM

Compilare – trecerea din cod sursa (.java) in byte code pentru JVM (.class)

Executia – interpretarea byte code-ului in JVM Avantaje JVM – independenta de platforma,

servicii pentru codul executrat JSDK vs JRE vs JVM

1.3 Instalare si utilizare

Instalare JDK, JRE Exemplu HelloWorld Compilare - javac, executie java, documentatie

standard - javadoc Prezentare IDE: Eclipse si IDEA IDE: debugging, javadoc, refactoring …

2. TIPURI DE DATE

2.1 Tipuri de date1

Limbaj puternic tipizat – tip cunoscut in momentul compilarii

Variabile constante si conventii de nume in Java

Tipuri: primitive (numerice si boolean), referinta (clase, interfete, tablouri)

Tipurile numerice: integrale (byte, schort, int, long, char), virgula mobila (float, double)

Conversii intre tipuri

2.2 Domenii valori

Tipuri primitive

2.3 Tipuri de date2

Infasuratori pentru tipurile primitive (Float, Double, Byte, Long, Short, Boolean, Character) – java.lang

Clasa Math, pachetul java.math Operatii cu numere mari: BigDecimal si

BigInteger Siruri de caractere – tipul String,

concatenare +, imutabilitate, StringBuffer - mutabil

Immutable

Clasa String

1) String s=”abc” ; 3) String s2= s ;

s2 “abc”

The heap

String reference variable

String objects

String reference variable

s

“abcdef”

String objects

2) String s= s.concat(“def”) ;

2.4 Tablouri

Sunt referinte – creare folosind operatorul new, length, indexare []

Lungime prestabilita Pot contine atat primitive cat si referinte

(spre deosebire de JCF) Clasa utilitara java.util.Arrays – sort, fill,

equals

3. STRUCTURI DE CONTROL

a. Alternativei. ifii. switch

b. Repetitive1) while2) do 3) for

c. Altelea. breakb. continue

4. CLASE SI OBIECTE

4.1 Clase si pachete

Declararea unei clase, membri: atribute, metode, constructori

Public static void main Unitatea de compilare, pachete - fs Librarii vs. pachete, spatiu de nume,

package, include Incarcare dinamica ClassLoader,

CLASSPATH, jars

4.2 Clase si obiecte in Java

Domeniul de vizibilitate al unei clase este intreg pachetul din care face parte

Modificatorii de acces unei clase: public, abstract, final

Obiecte: declarare, instantiere, initializare, operatorul new, constructori

Clasa Object: equals, hashCode, toString, clone Distrugerea obiectelor, garbage colector

4.4 Mosteniri si interfete

Interfete – clase abstracte pure Implements, mostenire multipla – extends,

incapsulare Mosteniri

Semnificatia mostenirii, constructorii claselor derivate, late binding, polimorfism

Conversii intre tipuri referinta - cast, upcast

4.3 Ascunderea implementarii

Modificatori de acces: private – numai in clasa in care e declart protected – acces via mostenire peste pachete public – acces de interfata package – la nivel de pachet

Membri si modificatori Modificatori atribute - static, final Modificatori metode – static, final, abstract Exemple JDK(Calendar) + patterns

5. ALTE CONSTRUCTII

5.1 Sistemul de exceptii

Suport intern pentru exceptii in limbaj Separa tratarea exceptiilor de codul obisnuit Tipuri de exceptii:

Exception – eroare generica Error – eroare de sistem – se prinde degeaba RuntimeException – eroare uzuala – nu trebuie prinsa in

mod uzual

Try, catch, finally, trows Exceptii proprii – de bussines: trow

5.2 Ierarhia de exceptii

Ierarhia de exceptii

5.3 Fire de executie Programare concurenta, operatii atomice, monitoare Incrementarea nu este operatie atomica; initializarea

simpla este (inclusiv referinte), inafara de double si long

Suport inclus direct in limbaj – clasa Thread, interfata Runnable

Sincronizarea operatiilor atomice folosind syncronize

Studiu de caz – colectiile sincronizate LocalThread

5.4 Colectii

Java Collection Framework (JCF) – containeri de obiecte

Colectii: Collection (List, Set) pentru valori simple, Map pentru perechi cheie/valoare

Implementari uzuale: ArrayList (List), HashSet (Set), HashMap (Map)

Colectii sincronizate 1.1 – Vector (List), Hashtable (Map)

Parcurgerea colectiilor: Iterator Sortare colectii: Comparable – compareTo()

5.5 Colectii - interfete

5.6 Librarii standard

java.lang – Cloneable, Comparable, Runnable, Object, infasuratori, Math, Number, String, Thread, System, Throwable, Exception

java.util - colectii, Calendar - GregorianCalendar, Date, Timer, Locale, StringTokenizer

java.io – File, Reader, Writer, InputStream, OutputStream

java.lang.reflect – reflection API java.net – Socket, URL

6. JDBC

Java Database Connectivity

6.1 Introducere in JDBC

Prin JDBC se incearca realizarea unei interfete intre Java si baze de date

Pachetul din JDK: java.sql Pentru fiecare tip de SGBD este necesar un driver

(o librarie jar) care abstractiveaza conectivitatea classes12 pentru Oracle, jconnector pentru

MySQL clasa DriverManager, ce se ocupa cu inregistrarea

driverelor ce vor fi folosite in aplicatie

6.2 Specificarea URL-ului

Sursa de date se specifica prin intermediul unei adrese numite JDBC URL care are urmatorul format jdbc:sub-protocol:identificator_baza_de_date

Exemple: jdbc:odbc:testdb jdbc:oracle:thin@persistentjava.com:1521:testdb jdbc:sybase:testdb jdbc:db2:testdb

6.3 Pasi in lucrul cu JDBC

1. Inregistrarea si incarcarea driver-ului

2. Crearea unei conexiuni folosind clasa

Connection

3. Interactiunea cu baza de date

folosind clasa Statement, PreparedStatement, CallableStatement

4. Receptionarea rezultatelor utilizand

metode ale clasei ResultSet

6.4 Interogari

Un obiect Statement este cel care trimite cereri SQL catre baza de date

Pentru realizarea unei cereri folosim metoda executeQuery() a unui obiect din clasa Statement

Pentru crearea unui obiect Statement este folosit un obiect al clasei Connection

Prelucrarea rezultatului – ResultSet, decuplarea de baza de date

Obiectul ResultSet contine linii din baza de date pe care le parcurgem folosind metoda next().

Referinte utile

0. Cristian Olaru: http://olaru.blogspot.com 1. Istoric - Java timeline:

http://www.javarss.com/java-timeline-10years.html 2. Download: http://java.sun.com/ 3. Specificatia limbajului: http://java.sun.com/docs/books/jls/ 4. Specificatia masinii virtuale: http://java.sun.com/docs/books/vmspec/ 5. Blog Gosling: http://blogs.sun.com/jag/ 6. Bruce Eckel - Thinking in Java: http://www.mindview.net/Books/TIJ/ 7.Eclipse: http://www.eclipse.org 8. IntelliJ IDEA: http://www.jetbrains.com/ 9. JavaDoc: http://java.sun.com/j2se/1.4.2/docs/api/index.html 10. Java Tutorial: http://java.sun.com/docs/books/tutorial/index.html 11. Forum curs: http://www.javaromania.com

top related