Corso Programmazione Java Avanzata (cod. ktjaav)

Obiettivi A chi è rivolto Prerequisiti Moduli
Letture Consigliate Programma Completo Wiki Sconti

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:

  1. Introduzione (richiami a concetti di Java Base)
  2. Regular Expression, String Tokenizer, librerie di utilità
  3. JavaMail
  4. JDBC
  5. Design Pattern
  6. Networking (URI, URL, HTTP Connection, Socket)
  7. RMI
  8. i18n, dateformat, locale
  9. Reflection
  10. XML (Dom, Sax)
  11. ORM- Overview
  12. Cache
  13. Logging
  14. SWING/AWT
  15. JVM
  16. Profiling e Tuning
  17. Multithreading
  18. 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)

  • package java.net

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.