of 31 /31
CURS JAVA Fundamente CRISTIAN OLARU http:// olaru.blogspot.com

Fundamentele Limbajului Java

  • Author
    colaru

  • View
    9.856

  • Download
    9

Embed Size (px)

DESCRIPTION

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

Text of Fundamentele Limbajului Java

  • 1. CURS JAVA Fundamente CRISTIAN OLARU http:// olaru.blogspot.com
  • 2. Cuprins
    • Introducere
    • Tipuri de date
    • Structuri de control
    • Clase si obiecte
    • Alte constructii
    • JDBC
    • Servlets
    • JSP
    • Struts
    • ANT
  • 3. 1. INTRODUCERE
  • 4. 1.1 Istoric si caracteristici
    • 1995 - Java se naste. Tata: James Goslings, Mama: Sun Microsystems
    • Distributii: JSDK, J2EE, J2ME
    • Versiuni JSDK : 1.11.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
  • 5. 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
  • 6. 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
  • 7. 2. TIPURI DE DATE
  • 8. 2.1 Tipuri de date 1
    • 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
  • 9. 2.2 Domenii valori
    • Tipuri primitive
  • 10. 2.3 Tipuri de date 2
    • 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
  • 11. Immutable
    • Clasa String
    1) String s=abc ; 3) String s2= s ; 2) String s= s.concat(def) ; s2 abc The heap String reference variable String objects String reference variable s abcdef String objects
  • 12. 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
  • 13. 3. STRUCTURI DE CONTROL
      • Alternative
        • if
        • switch
      • Repetitive
        • while
        • do
        • for
      • Altele
        • break
        • continue
  • 14. 4. CLASE SI OBIECTE
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 5. ALTE CONSTRUCTII
  • 20. 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
  • 21. 5.2 Ierarhia de exceptii
    • Ierarhia de exceptii
  • 22. 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
  • 23. 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()
  • 24. 5.5 Colectii - interfete
  • 25. 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
  • 26. 6. JDBC
    • Java Database Connectivity
  • 27. 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
  • 28. 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:sybase:testdb jdbc:db2:testdb
  • 29. 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
  • 30. 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().
  • 31. 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