Struttura del corso

Introduzione a Java

  • Storia ed evoluzione Java
  • Panoramica delle versioni e degli aggiornamenti di Java
  • Novità di Java 17
  • Configurazione del kit di sviluppo Java (JDK 17) e dell'IDE

Java Struttura del programma

  • Scrivere un semplice programma Java
  • Java Panoramica della sintassi
  • Compilazione ed esecuzione di applicazioni Java

Tipi di dati e variabili

  • Tipi di dati primitivi e classi wrapper
  • Dichiarazione di variabili e costanti
  • Conversione del tipo e fusione

Operatori in Java

  • Operatori aritmetici, relazionali, logici e bit per bit
  • Precedenza e associatività degli operatori

Istruzioni del flusso di controllo

  • Istruzioni condizionali (if-else, switch)
  • Costrutti di ciclo (for, while, do-while)
  • Espressioni switch migliorate (Java funzione 17)

Introduzione ai concetti OOP

  • Classi e Oggetti
  • Incapsulamento, ereditarietà, polimorfismo e astrazione

Creazione di classi e oggetti

  • Dichiarazione e inizializzazione di oggetti
  • La parola chiave this
  • Costruttori (predefiniti e con parametri)

Eredità

  • Estensione delle classi (parola chiave extends)
  • Override del metodo e parola chiave super
  • Classi e metodi astratti

Polimorfismo

  • Polimorfismo in fase di compilazione e polimorfismo di runtime
  • Overload e override dei metodi

Interfacce

  • Definizione e implementazione delle interfacce
  • Interfacce funzionali e metodi predefiniti

Classi di record (Java 17 funzionalità)

  • Informazioni sui record in Java 17
  • In che modo i record semplificano l'incapsulamento dei dati

Generici in Java

  • Informazioni sui parametri di tipo
  • Classi, metodi e interfacce generici
  • Tipi delimitati e caratteri jolly

Gestione delle eccezioni

  • Tipi di eccezioni (selezionate e deselezionate)
  • Blocchi try-catch-finally
  • Generazione e rilevamento delle eccezioni
  • Creazione di eccezioni personalizzate

Java Quadro delle collezioni

  • Interfacce Elenco, Impostazione, Mappatura e Coda
  • Implementazioni più diffuse: ArrayList, HashMap, HashSet
  • Iteratori e cicli for migliorati

Lambda Expressioni e funzionali Programming

  • Introduzione alle espressioni lambda
  • Sintassi e utilizzo
  • Interfacce funzionali

API di flusso

  • Panoramica dei flussi Java
  • Operazioni di flusso (filtraggio, mapping, riduzione)
  • Flussi paralleli e considerazioni sulle prestazioni

Classi sigillate

  • Definizione e utilizzo di classi sealed
  • Sottoclassi consentite e restrizioni

Pattern Matching per esempio di (Java 17 caratteristica)

  • Semplificazione dei controlli dei tipi con la corrispondenza dei criteri

Blocchi di testo

  • Utilizzo di blocchi di testo su più righe in Java
  • Confronto con la gestione tradizionale delle corde

Miglioramenti ai record e alla serializzazione

  • Serializzazione e compatibilità con le versioni precedenti
  • In che modo i record migliorano la leggibilità e la manutenzione del codice

Deprecazione e rimozione di funzionalità

  • API deprecate in Java 17
  • Rimozione di funzionalità obsolete

Miglioramenti dell'interruttore Expression

  • Corrispondenza dei modelli nell'interruttore
  • Utilizzo di espressioni switch per un codice più pulito

Funzione esterna e API di memoria (incubatore)

  • Panoramica del modulo incubatore
  • Utilizzo del codice nativo in Java

Java Sistema di moduli (Progetto Seghetto Alternativo)

  • Introduzione ai moduli in Java
  • Creazione e utilizzo dei moduli
  • Descrittori e module-info.java dei moduli
  • Vantaggi della modularizzazione

Concorrenza e multithreading

  • Introduzione ai thread e al multithreading
  • Interfaccia eseguibile e interfaccia chiamabile
  • Sincronizzazione, blocchi e sicurezza dei thread

Asincrono Programming con CompetableFuture

  • Scrittura di codice asincrono
  • Utilizzo di CompetableFuture per operazioni non bloccanti

Distribuzione di applicazioni Java

  • Creazione ed esecuzione di file JAR
  • Creazione di pacchetti e distribuzione di applicazioni Java
  • Introduzione a GraalVM (opzionale)

Best practice e ottimizzazione del codice

  • Scrittura di codice efficiente e manutenibile Java
  • Problemi comuni di prestazione e come evitarle
  • Tecniche di refactoring del codice

Riepilogo e passaggi successivi

Requisiti

  • Conoscenze di base di programmazione

Pubblico

  • Sviluppatori di software
  • Programmatori
 35 ore

Numero di Partecipanti


Prezzo per Partecipante

Recensioni (1)

Corsi in Arrivo

Categorie relative