|
|
|
Corso Programmazione Java Avanzata (cod. ktjaav)
|
Chiedi informazioni su questo corso | Visualizza Scheda PDF
Per Java Avanzato si intende l'applicazione di determinate metodologie di programmazione fondamentali per la realizzazione di progetti Java complessi. Attraverso la trasmissione di tecniche di programmazione orientate agli oggetti, il corso vuole formare figure professionali altamente specializzate che possano affrontare la realizzazione di un progetto nella sua interezza.
Verranno esaminati alcuni concetti relativi a Java Base, approfondendo le conoscenze e gli elementi avanzati del linguaggio, quali l'integrazione con i DataBase, la programmazione parallela, i Design Pattern, ottimizzazione della JVM e le Best Practice. Ogni modulo di studio si completa con esercitazioni ed esempi. |
| Obiettivi |
Top |
Il corso Programmazione Java Avanzata, ha come obiettivo quello di far comprendere le tecniche di programmazione orientata agli oggetti, cioè di modellare e "pensare" a oggetti, di approfondire i concetti base del linguaggio applicando le metodologie di programmazione necessarie alla costruzione di applicazioni complesse.
Dopo il completamento del corso i discenti saranno in grado di:
- utilizzare le Regular Expression
- interagire con un Database attraverso le API JDBC
- applicare i Design Pattern nel proprio contesto applicativo
- lavorare con applicazioni su network e gestire le socket
- lavorare con gli oggetti distribuiti attraverso RMI
- scrivere codice performante rispettando le best practice consigliate
- lavorare con documenti XML
|
| A chi è rivolto |
Top |
Potrà trarre i maggiori benefici dal corso di Programmazione Java Avanzata chi è coinvolto nella fase:
- di implementazione del Software
- di messa in esercizio delle Applicazioni Java
|
| Prerequisiti |
Top |
Per partecipare al corso di Programmazione Java Avanzata è necessario possedere buona esperienza sul linguaggio Java e delle relative librerie.
|
| Moduli |
Top |
Il corso Programmazione Java Avanzata è suddiviso nei seguenti diciotto moduli:
- Introduzione (richiami a concetti di Java Base)
- Regular Expression, String Tokenizer, librerie di utilità
- JavaMail
- JDBC
- Design Pattern
- Networking (URI, URL, HTTP Connection, Socket)
- RMI
- i18n, dateformat, locale
- Reflection
- XML (Dom, Sax)
- ORM- Overview
- Cache
- Logging
- SWING/AWT
- JVM
- Profiling e Tuning
- Multithreading
- Grid Computing
Vi presentiamo un modulo in anteprima.
|
| Letture Consigliate |
Top |
Prima di seguire il corso di Programmazione Java Avanzata è consigliabile la lettura di almeno uno dei seguenti libri:
- The Object Oriented Thought Process (Matt Weisfeld) [libro cartaceo]
- Thinking in Java (Bruce Eckel) [libro cartaceo]
- Algoritmi e strutture dati in java (Drozdek) [libro cartaceo]
- Java Network Programming (Elliotte Rusty Harold) [libro cartaceo]
- Java Threads (Scott Oaks and Henry Wong) [libro cartaceo]
Link utili:
Best Practices
Performance
Networking Standards
|
| Programma Completo |
Top |
1. Introduzione (richiami dei concetti di java base)
- La JVM, JRE e JDK
- Sintassi (Tipi primitivi, parole chiavi, flussi di controllo, ecc...)
- Classe e istanza
- L'ereditarietà
- Polimorfismo
- Eccezioni
- I/O
- Collections
- Intro Thread
2. Regular Expression, String Tokenizer, librerie di utilità
- Il package java.util.regex
- Il package java.util.jar e java.util.zip
- java.util.StringTokenizer
- java.text.SimpleDateFormat
- java.lang.System
- java.lang.Runtime
3. JavaMail
- Introduzione e protocolli (POP, IMAP, SMTP)
- API
4. JDBC
- Architettura
- Drivers tipo 1
- Drivers tipo 2
- Drivers tipo 3
- Drivers tipo 4
- API
- Esempi
5. Design Pattern
- Introduzione
- Classificazione dei patterns
- Pattern creazionali: Singleton e Factory method
- Pattern strutturali: Composite e Proxy
- Pattern comportamentali: Iterator
6. Networking(URI,URL,HTTP Connection, Client/Server)
7. RMI
- Architettura RMI
- Il Package java.rmi
- Esempio
8. i18n, dateformat, locale
- Contesti di internazionalizzazione
- Locale, ResourceBoundle e Date & Time handling (SimpleDateFormat)
9. Reflection
- Cos'è la reflection
- Il package java.lang.reflect
- Contesti di utilizzo
- La reflection e la sicurezza
10. XML (Dom, Sax)
- XML, DTD, XSD
- XQuery, XPath
- Parsing XML con SAX e DOM
- XMLBeans
11. ORM- Overview
- Cos'è un ORM (Object relational mapping)
- ORM vs JDBC
- Hibernate
- JPA/JDO
12. Cache
- Contesti di utilizzo della cache
- Proxy pattern e cache
- Librerie: Java Caching System(JCS), EHCache, OSCache
13. Logging
- Logging overview
- Log4j, commons-logging e util.logging: overview
14. SWING/AWT
- Scrivere GUI con AWT e Swing
- Composite pattern applicato a Swing/AWT: le API
- Look and feel - Il toolkit SWT (Cenni)
15. JVM
- Introduzione
- Il compilatore javac
- JIT vs HotSpot (ottimizzazioni della JVM)
- Struttura della memoria
- Garbage collector
16. Profiling e Tuning
- JvmStat e JConsole
- Tuning dei parametri della memoria della JVM
- Tuning dei parametri del GC
17. Multithreading
- Cos'è un Java Thread
- Creare Threads
- Ciclo di vita dei Threads
- Priority, scheduler e sistemi operativi
- Synchronized
- sleep(), wait(), notify(), notifyAll(), join(), yield()
- ThreadGroup e ThreadLocal
- Esempio pratico: produttore/consumatore
18. Grid Computing
- Cos'è Grid Computing?
- jcgrid
|
| Wiki a supporto |
Top |
Dal primo giorno di corso, i partecipanti potranno accedere ad un wiki di supporto dove troveranno aggiornamenti sul corso, sulle relative integrazioni e documentazione di approfondimento. Sarà disponibile un sistema di segnalazione con il quale, tramite ticket, si potranno inserire suggerimenti e proposte di ampliamento al programma e al materiale del corso. |
| Sconti e Promozioni |
Top |
I partecipanti che si iscriveranno al corso con almeno 30 giorni di anticipo sulla data di termine iscrizione avranno uno sconto del 10% sul prezzo. Scopri tutti gli sconti. |
|
|