Scegli la tua lingua
Corso di Java
Più di 2 milioni di studenti in tutto il mondo

Corso di Java

4,3

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.

Dedika per aziende

Cosa imparerai:

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 studi in modo pratico Corso di Java

Come metti in pratica Corso di Java

Per te che sei un'azienda e vuoi formare il tuo team

Su Dedika per aziende, il corso include esercizi ed esempi personalizzati sul tuo business e secondo le esigenze della tua azienda.

Clicca qui

Contenuto del corso

8 Capitoli • 40 LezioniDurata tra 4 e 360 ore (decidi tu)

Capitolo 1Vedi dettagli

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 2Vedi dettagli

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 3Vedi dettagli

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 4Vedi dettagli

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 5Vedi dettagli

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 6Vedi dettagli

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 7Vedi dettagli

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 8Vedi dettagli

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.

Certificazione

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.

Cosa dicono i nostri studenti

Le sue lezioni sono perfette. Ho acquistato il pacchetto annuale e finalmente ho l'opportunità di seguire diversi argomenti di mio interesse senza dover cambiare piattaforma... vi ringrazio per tutto quello che fate, vi ho già raccomandati ad altre persone...
Giulio Carlo
Giulio CarloStudente di Marketing Digitale
Mi piace come le lezioni vanno dritte al punto e come riesco a cambiare capitoli e saltare contenuti di cui non ho bisogno.
Mariana Ferres
Mariana FerresStudentessa di Fotografia
Mi piace il contenuto e il modo di presentazione e trascrizione dei video, che accelera il processo!
Luciana Alvarenga
Luciana AlvarengaStudentessa di Nail Design
La piattaforma è veloce, semplice da usare. La diversità dei contenuti e i video complementari aiutano molto nell'apprendimento.
André Felipe
André FelipeStudente di Prompt Engineering

Principali percorsi formativi

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