CodeGym
AI Academy
Promozione
CodeGym University
Learning
Corsi
Tasks
Surveys & Quizzes
Games
Help
Schedule
Community
Users
Forum
Chat
Articles
Success stories
Activity
Reviews
Subscriptions
Tema chiaro

Lezioni

  • Recensioni
  • Chi siamo
Inizia
Inizia a imparare
Start learning now
  • I miei progressi
  • Corsi
  • Mappa Quest
  • Lezioni
  • Introduzione ai moduli: a cosa servono

    JAVA 25 SELF
    Livello 60,Lezione 0
    Vediamo perché Java 9 ha introdotto il sistema modulare JPMS: cosa c’è di sbagliato nella “ classpath-party”, come i moduli introducono confini di visibilità a livello di contenitore, che cos’è module-info.java e come lavorare con le direttive module, exports, requires, opens, uses/ provides. Discuteremo vantaggi (incapsulamento, dipendenze esplicite, sicurezza, jlink), ambiti di applicazione (inclusi java.base, java.sql), utili sfumature ed errori tipici durante la migrazione ( exports dimenticato, requires mancante, nomi di moduli duplicati).
    Disponibile
  • module-info.java: sintassi, creazione dei moduli

    JAVA 25 SELF
    Livello 60,Lezione 1
    Vediamo che cos’è il file module-info.java, dove si trova nel progetto e come dichiarare un modulo con la parola chiave module. Impariamo a esportare le API tramite exports, collegare le dipendenze con requires e diamo anche un’occhiata alle direttive aggiuntive ( opens, uses, provides ... with). Nella lezione — esempi, regole di denominazione dei moduli, analisi pratica della struttura del progetto ed errori tipici nella build modulare.
    Disponibile
  • Incapsulazione tramite moduli: esportazione e importazione

    JAVA 25 SELF
    Livello 60,Lezione 2
    Come Java 9+ ha aggiunto l’incapsulamento modulare sopra classi e pacchetti: persino le classi public sono nascoste finché il pacchetto non viene esplicitamente aperto tramite exports in module-info.java. Vediamo come dichiarare dipendenze con requires, come limitare la visibilità con exports to, in cosa il livello module differisce da private/ public e quali errori di compilazione (per esempio, « package ... is not visible », « cannot access ... ») indicano che hai dimenticato exports o requires.
    Disponibile
  • Suddivisione del progetto in moduli: best practice

    JAVA 25 SELF
    Livello 60,Lezione 3
    Guida pratica all’architettura modulare in Java: quando e perché suddividere il codice in moduli, schemi tipici (architettura a cipolla, separazione in api/ impl, moduli di test), configurazione delle dipendenze tramite module-info.java e le parole chiave requires/ exports, esempi funzionanti di un progetto in 3 moduli, integrazione con Maven/ Gradle e IntelliJ IDEA, oltre all’analisi degli errori più comuni (dipendenze cicliche, pacchetti non esportati, --module-path errato).
    Disponibile
  • Build di progetti multi-modulo: Maven, Gradle, IDEA

    JAVA 25 SELF
    Livello 60,Lezione 4
    Come costruire un progetto modulare in Java: la differenza tra classpath e module-path, quando usare il flag --module-path, come configurare una struttura multi-modulo in Maven e Gradle, e come avviare tutto da IntelliJ IDEA. Mostreremo la struttura dei moduli con module-info.java, le dipendenze tramite requires/ exports, la configurazione dei plugin e gli errori frequenti durante il build.
    Disponibile
Learn
  • Registration
  • Java Course
  • Help with Tasks
  • Pricing
  • Java Syntax
Community
  • Users
  • Articles
  • Forum
  • Chat
  • Success Stories
  • Activity
  • Affiliate Program
Company
  • About us
  • Contacts
  • Reviews
  • Press Room
  • CodeGym for EDU
  • FAQ
  • Support
CodeGymCodeGym is an online course for learning Java programming from scratch. This course is a perfect way to master Java for beginners. It contains 1200+ tasks with instant verification and an essential scope of Java fundamentals theory. To help you succeed in education, we’ve implemented a set of motivational features: quizzes, coding projects, content about efficient learning, and a Java developer’s career.
Follow us
Lingua dell'interfaccia
English Deutsch Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ்
Italiano
Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Programmers Are Made, Not Born" © 2026 CodeGym
MastercardVisa
"Programmers Are Made, Not Born" © 2026 CodeGym