fundamentele limbajului java 1194470480324646 3

Upload: chitinutza

Post on 11-Jul-2015

43 views

Category:

Documents


1 download

TRANSCRIPT

CURS JAVA FundamenteCRSTAN OLARUhttp://olaru.blogspot.comCuprins. ntroducere2. Tipuri de date3. Structuri de control4. Clase si obiecte5. Alte constructii6. JDBC7. Servlets8. JSP9. Struts. ANT INTRODUCERE Istoric si caracteristici995 - Java se naste. Tata: James Goslings, Mama: Sun Microsystems Distributii: JSDK, J2EE, J2ME Versiuni JSDK : ..4, 5. (Tiger), prezent -6.(Mustang), viitor 7.(Dolphin) Caracteristici: total orientat obiecte, suport intern pentru fire de executie, complet specificat (JLS), case sensitive 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 InstaIare si utiIizare nstalare JDK, JRE Exemplu HelloWorld Compilare - javac, executie java, documentatie standard - javadoc Prezentare DE: Eclipse si DEA DE: debugging, javadoc, refactoring TIPURI DE DATE Tipuri de date 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 Domenii vaIoriTipuri primitive Tipuri de date nfasuratori pentru tipurile primitive (Float, Double, Byte, Long, Short, Boolean, Character) java.lang Clasa Math, pachetul java.math Operatii cu numere mari: BigDecimal si Bignteger Siruri de caractere tipul String, concatenare , imutabilitate, StringBuffer -mutabilImmutabIe Clasa String String s=abc ; String s2= s ;s2"abcThe heapString reference variableString objectsString reference variables"abcdefString objects String s= s.concat("def) ; TabIouri 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 STRUCTURI DE CONTROLa. Alternativei. ifii. switchb. Repetitive) while2) do 3) forc. Altelea. breakb. continue CLASE SI OBIECTE CIase 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 ncarcare dinamica ClassLoader, CLASSPATH, jars CIase si obiecte in JavaDomeniul de vizibilitate al unei clase este intreg pachetul din care face parteModificatorii de acces unei clase: public, abstract, finalObiecte: declarare, instantiere, initializare, operatorul new, constructoriClasa Object: equals, hashCode, toString, cloneDistrugerea obiectelor, garbage colector Mosteniri si interfete nterfete clase abstracte pure mplements, mostenire multipla extends, incapsulare Mosteniri Semnificatia mostenirii, constructorii claselor derivate, late binding, polimorfism Conversii intre tipuri referinta - cast, upcast Ascunderea impIementarii 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 modificatoriModificatori atribute - static, finalModificatori metode static, final, abstractExemple JDK(Calendar) + patterns ALTE CONSTRUCTII SistemuI 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 Ierarhia de exceptii erarhia de exceptii Fire de executieProgramare concurenta, operatii atomice, monitoarencrementarea nu este operatie atomica; initializarea simpla este (inclusiv referinte), inafara de double si longSuport inclus direct in limbaj clasa Thread, interfata RunnableSincronizarea operatiilor atomice folosind 8ncronizeStudiu de caz colectiile sincronizateLocalThread CoIectiiJava Collection Framework (JCF) containeri de obiecteColectii: Collection (List, Set) pentru valori simple, Map pentru perechi cheie/valoaremplementari uzuale: ArrayList (List), HashSet (Set), HashMap (Map)Colectii sincronizate . Vector (List), Hashtable (Map)Parcurgerea colectiilor: teratorSortare colectii: Comparable compareTo() CoIectii - interfete Librarii standard ,;,l,ng Cloneable, Comparable, Runnable, Object, infasuratori, Math, Number, String, Thread, System, Throwable, Exception ,;,:til - colectii, Calendar -GregorianCalendar, Date, Timer, Locale, StringTokenizer ,;,io File, Reader, Writer, nputStream, OutputStream ,;,l,ngreflect reflection AP ,;,net Socket, URL JDBC Java Database Connectivity Introducere in JDBCPrin JDBC se incearca realizarea unei interfete intre Java si baze de datePachetul din JDK: java.sql Pentru fiecare tip de SGBD este necesar un driver (o librarie jar) care abstractiveaza conectivitateaclasses2 pentru Oracle, jconnector pentru MySQLclasa DriverManager, ce se ocupa cu inregistrarea driverelor ce vor fi folosite in aplicatie Specificarea URL-uIui Sursa de date se specifica prin intermediul unei adrese numite JDBC URL care are urmatorul format dbc:sub-protocoI:identificator_baza_de_date Exemple: dbc:odbc:testdb dbc:oracIe:thin@persistentavacom::testdb dbc:sybase:testdb dbc:db:testdb Pasi in IucruI cu JDBC. nregistrarea si incarcarea driver-ului2. Crearea unei conexiuni folosind clasaConnection3. nteractiunea cu baza de datefolosind clasa StatementPreparedStatementCallableStatement4. Receptionarea rezultatelor utilizandmetode ale clasei ResultSet Interogari Un obiect Statement este cel care trimite cereri SQL catre baza de date Pentru realizarea unei cereri folosim metoda executeQuerya 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 #e8:ltSetcontine linii din baza de date pe care le parcurgem folosind metoda next().Referinte utiIe . Cristian Olaru: http://olaru.blogspot.com . storic - Java timeline: http://www.javarss.com/java-timeline-years.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/TJ/ 7.Eclipse: http://www.eclipse.org 8. ntelliJ DEA: http://www.jetbrains.com/ 9. JavaDoc: http://java.sun.com/j2se/.4.2/docs/api/index.html . Java Tutorial: http://java.sun.com/docs/books/tutorial/index.html . Forum curs: http://www.javaromania.com