
Corso di Java
Padroneggia Java dalle fondamenta e acquisisci le competenze che i datori di lavoro cercano in realtà. Questo corso ti accompagna dalla sintassi di base e dalla progettazione orientata agli oggetti fino alla concorrenza, all'ottimizzazione delle prestazioni e ai flussi di lavoro professionali. Ogni concetto è supportato da codice pratico che scrivi tu stesso. Inizia oggi a scrivere Java di qualità da produzione.
Cosa il tuo team imparerà a padroneggiare:
Imparerà a configurare un ambiente di sviluppo Java professionale e a scrivere codice pulito e ben strutturato fin dal primo giorno. Il corso tratta la programmazione orientata agli oggetti, il Collections Framework, i generics, le lambda e l'API Streams. Gestirà le eccezioni in modo corretto, lavorerà con file e reti e costruirà applicazioni multithread utilizzando moderni strumenti di concorrenza. Oltre al linguaggio stesso, utilizzerà Maven o Gradle, scriverà test automatizzati con JUnit 5 e Mockito e collegherà le applicazioni Java ai database relazionali con JDBC e JPA. Studierà inoltre i design pattern, l'analisi delle prestazioni e le pratiche professionali che rendono efficaci gli sviluppatori Java nei team reali.
Come il tuo team studia in modo pratico Corso di Java
Come il tuo team mette in pratica Corso di Java
I professionisti di queste aziende studiano su Dedika









Contenuto del corso
8 Capitoli • 40 LezioniDurata tra 4 e 360 ore (decidi tu)
Capitolo 1NascondiNascondi dettagliVedi dettagliFondamenti di Java e configurazione dell'ambiente
Fondamenti di Java e configurazione dell'ambiente
Lezione 1 • Panoramica della piattaforma e dell'ecosistema Java
Illustra i ruoli di JVM, JDK e JRE e spiega come Java raggiunga l'indipendenza dalla piattaforma. Fornisce agli studenti le basi dell'architettura prima di scrivere codice.
Lezione 2 • Tipi di dati primitivi e variabili
Illustra gli otto tipi primitivi, la dichiarazione di variabili e le regole di conversione di tipo. Gli studenti acquisiscono un controllo preciso sulla rappresentazione dei dati in memoria.
Lezione 3 • Sintassi Java e struttura del programma
Introduce classi, metodi e il punto di ingresso main come scheletro di ogni programma Java. Costruisce le fondamenta sintattiche da cui dipendono tutti i capitoli successivi.
Lezione 4 • Installazione e configurazione dell'ambiente di sviluppo
Guida l'installazione del JDK e di un IDE moderno, quindi verifica la configurazione con una prima compilazione. Garantisce che ogni studente disponga di uno spazio di lavoro funzionante fin dal primo giorno.
Lezione 5 • Operatori ed espressioni
Tratta operatori aritmetici, relazionali, logici e bit a bit, con precedenza degli operatori. Gli studenti imparano a costruire espressioni corrette per calcoli e decisioni.
Capitolo 2NascondiNascondi dettagliVedi dettagliFlusso di controllo e metodi
Flusso di controllo e metodi
Lezione 1 • Fondamenti di ricorsione
Introduce il pensiero ricorsivo con casi base e chiamate ricorsive. Prepara gli studenti ai pattern di attraversamento di alberi e divide-et-impera nei capitoli successivi.
Lezione 2 • Costrutti di iterazione
Tratta i cicli for, while e do-while, insieme alle istruzioni di controllo del ciclo. Gli studenti imparano a iterare sui dati ed evitare le trappole comuni dei cicli infiniti.
Lezione 3 • Definizione e chiamata dei metodi
Illustra le firme dei metodi, i tipi di ritorno e i meccanismi di invocazione. Stabilisce la riusabilità come principio di progettazione fondamentale applicato in tutto il corso.
Lezione 4 • Ambito, tempo di vita e shadowing delle variabili
Definisce l'ambito di blocco, le variabili locali e i rischi di shadowing. Previene bug subdoli che sorgono quando i nomi delle variabili collidono in ambiti annidati.
Lezione 5 • Istruzioni condizionali
Insegna catene if-else e istruzioni switch per la logica di diramazione. Si collega direttamente alla conoscenza degli operatori del Capitolo 1 per formare strutture decisionali complete.
Capitolo 3NascondiNascondi dettagliVedi dettagliFondamenti di programmazione orientata agli oggetti
Fondamenti di programmazione orientata agli oggetti
Lezione 1 • Polimorfismo e dispacciamento dinamico
Dimostra il polimorfismo a runtime attraverso i tipi riferimento e il dispacciamento dei metodi. Gli studenti scrivono codice flessibile che opera su famiglie di tipi correlati.
Lezione 2 • Classi, oggetti e costruttori
Definisce i modelli di classe, l'istanziazione di oggetti e l'overloading dei costruttori. Traduce le entità del mondo reale in progetti di classi Java.
Lezione 3 • Incapsulamento e modificatori di accesso
Tratta i livelli di accesso public, private e protected con pattern getter/setter. Impone l'occultamento dei dati come primo pilastro dell'OOP.
Lezione 4 • Classi astratte e interfacce
Contrappone classi astratte e interfacce e spiega quando usare ciascuna. Completa le basi OOP necessarie per design pattern e framework.
Lezione 5 • Ereditarietà e gerarchia delle classi
Spiega extends, l'override dei metodi e la parola chiave super per riutilizzare il comportamento della classe genitore. Costruisce il secondo pilastro dell'OOP sui concetti di incapsulamento.
Capitolo 4NascondiNascondi dettagliVedi dettagliArray, stringhe e strutture dati fondamentali
Array, stringhe e strutture dati fondamentali
Lezione 1 • Liste e la classe ArrayList
Introduce l'interfaccia List e ArrayList come la collection più utilizzata. Collega gli array nativi al Collections Framework completo introdotto in seguito.
Lezione 2 • Array e array multidimensionali
Tratta la dichiarazione, l'inizializzazione e l'attraversamento degli array, inclusi gli array 2D. Fornisce la base della struttura dati di basso livello prima di introdurre le collection.
Lezione 3 • Ordinamento e ricerca su collection
Applica Comparable, Comparator e i metodi utility di Collections per l'ordinamento. Prepara gli studenti al pensiero algoritmico utilizzato nei capitoli avanzati.
Lezione 4 • Manipolazione di stringhe e immutabilità
Illustra l'immutabilità delle stringhe, il pool di stringhe e i metodi chiave dell'API String. Gli studenti gestiscono le attività di elaborazione del testo in modo corretto ed efficiente.
Lezione 5 • Mappe, set e strutture a coda
Tratta HashMap, HashSet, LinkedList come Queue e i loro casi d'uso. Gli studenti scelgono la collection corretta in base al pattern di accesso e alle esigenze di unicità.
Capitolo 5NascondiNascondi dettagliVedi dettagliGestione delle eccezioni e debug
Gestione delle eccezioni e debug
Lezione 1 • Try-Catch-Finally e Multi-Catch
Tratta i blocchi try-catch, la sintassi multi-catch e la clausola finally per la pulizia. Gli studenti gestiscono modalità di errore multiple senza duplicare il codice di ripristino.
Lezione 2 • Try-With-Resources e AutoCloseable
Introduce la gestione automatica delle risorse per I/O e connessioni a database. Elimina le perdite di risorse che derivano da chiamate close manuali nei blocchi finally.
Lezione 3 • Creazione di eccezioni personalizzate
Guida la progettazione di classi di eccezione specifiche del dominio con messaggi significativi. Consente alle API di comunicare chiaramente il contesto dell'errore ai chiamanti.
Lezione 4 • Tecniche e strumenti di debug
Tratta l'uso del debugger IDE, la lettura dello stack trace e le basi del logging. Gli studenti localizzano e correggono i difetti in modo sistematico anziché affidarsi a istruzioni di stampa.
Lezione 5 • Gerarchia delle eccezioni Java
Mappa l'albero delle classi Throwable, Exception ed Error e distingue le eccezioni controllate da quelle non controllate. Fornisce il modello concettuale per tutte le decisioni di gestione delle eccezioni.
Capitolo 6NascondiNascondi dettagliVedi dettagliGenerics, lambda e programmazione funzionale
Generics, lambda e programmazione funzionale
Lezione 1 • Generics e parametri di tipo
Illustra classi generiche, metodi generici e parametri di tipo limitati. Elimina i cast non sicuri e consente strutture dati riutilizzabili e type-safe.
Lezione 2 • L'API Streams
Insegna la creazione di stream, le operazioni intermedie e le operazioni terminali per l'elaborazione di collection. Sostituisce i cicli verbosi con trasformazioni di dati dichiarative in stile pipeline.
Lezione 3 • Interfacce funzionali ed espressioni lambda
Introduce @FunctionalInterface, la sintassi lambda e i riferimenti ai metodi. Consente di passare il comportamento come dato, un prerequisito per l'API Streams.
Lezione 4 • Interfacce funzionali integrate
Tratta Predicate, Function, Consumer, Supplier e BiFunction da java.util.function. Gli studenti compongono blocchi comportamentali riutilizzabili per le pipeline di stream.
Lezione 5 • Optional e sicurezza contro i null
Utilizza Optional per modellare valori assenti senza riferimenti null. Riduce le NullPointerException e rende esplicita l'assenza nelle firme dei metodi.
Capitolo 7NascondiNascondi dettagliVedi dettagliI/O su file, serializzazione e basi di networking
I/O su file, serializzazione e basi di networking
Lezione 1 • Stream di byte e di caratteri
Illustra le gerarchie InputStream, OutputStream, Reader e Writer con il buffering. Gli studenti gestiscono dati binari e di testo in modo efficiente senza perdite di risorse.
Lezione 2 • Networking con socket e HTTP
Tratta la programmazione socket TCP e l'API HttpClient per richieste HTTP. Gli studenti costruiscono semplici programmi di comunicazione client-server.
Lezione 3 • Lavorare con JSON e formati di testo
Introduce l'analisi e la generazione di JSON utilizzando una libreria standard. Prepara gli studenti all'integrazione con API REST trattata nei capitoli supplementari.
Lezione 4 • Serializzazione e deserializzazione di oggetti
Insegna Serializable, ObjectOutputStream e il controllo di versione con serialVersionUID. Gli studenti persistono grafi di oggetti su disco e li ripristinano in modo affidabile.
Lezione 5 • Operazioni sul file system con java.nio.file
Tratta Path, Files e l'attraversamento di directory utilizzando l'API NIO.2. Sostituisce l'uso della classe File legacy con l'alternativa moderna e sicura contro le eccezioni.
Capitolo 8NascondiNascondi dettagliVedi dettagliConcorrenza e multithreading
Concorrenza e multithreading
Lezione 1 • Sincronizzazione e stato condiviso
Tratta blocchi synchronized, lock intrinseci e la parola chiave volatile. Gli studenti eliminano le race condition e i bug di visibilità nei programmi a memoria condivisa.
Lezione 2 • Executor Framework e pool di thread
Introduce ExecutorService, i tipi di pool di thread e Future per risultati asincroni. Sostituisce la gestione diretta dei thread con politiche di esecuzione scalabili e configurabili.
Lezione 3 • Collection concorrenti e variabili atomiche
Tratta ConcurrentHashMap, CopyOnWriteArrayList e AtomicInteger per operazioni lock-free. Gli studenti evitano blocchi a grana grossa che limitano il throughput.
Lezione 4 • CompletableFuture e pipeline asincrone
Insegna il concatenamento di CompletableFuture, la gestione delle eccezioni e la combinazione di più task asincroni. Gli studenti costruiscono pipeline non bloccanti che massimizzano l'utilizzo della CPU.
Lezione 5 • Thread e l'interfaccia Runnable
Illustra la creazione di thread tramite sottoclasse Thread e Runnable, oltre agli stati del ciclo di vita dei thread. Stabilisce il modello di concorrenza su cui si basano tutte le sezioni successive.
Il tuo certificato valido di completamento
Questo corso è per te:
Sviluppatori in erba: desiderosi di entrare nel mondo dell'ingegneria del software con un linguaggio richiesto dal mercato e molto ricercato.
Chi cambia carriera: pronto a lasciare ruoli non tecnici e a costruire solide basi nella programmazione.
Studenti di informatica: desiderosi di rafforzare la teoria appresa in aula con progetti Java pratici e concreti.
Programmatori hobbisti: che vogliono andare oltre lo scripting e affrontare lo sviluppo strutturato e orientato agli oggetti.
Professionisti IT: che mirano ad ampliare le proprie competenze, passando dall'infrastruttura allo sviluppo di applicazioni.
Sviluppatori junior: che lavorano con un altro linguaggio e aggiungono Java per aumentare il proprio valore sul mercato del lavoro.
Corsi correlati
FAQ
Chi è Dedika?
Il certificato è valido in Italia?
I corsi sono gratuiti?
Qual è il carico di lavoro del corso?
Come sono strutturati i corsi?
Come funzionano i corsi?
Qual è la durata dei corsi?
Qual è il costo o il prezzo dei corsi?
Cos’è un corso EAD o online e come funziona?
Corso PDF



















