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
  • Architettura della memoria nella JVM: stack, heap, PermGen/MetaSpace

    JAVA 25 SELF
    Livello 64,Lezione 0
    Dove finiscono le variabili locali, gli oggetti e i metadati delle classi durante l’esecuzione della JVM: analizziamo lo stack dei thread, l’heap e l’evoluzione da PermGen a MetaSpace. Parleremo di come funziona il GC, quali errori di memoria possono verificarsi ( StackOverflowError, OutOfMemoryError) e come influiscono i flag di avvio ( -Xss, -Xmx, -XX:MaxMetaspaceSize). Sono incluse schemi, un diagramma mermaid e un esempio funzionante.
    Disponibile
  • I garbage collector: G1, ZGC, Shenandoah, confronto

    JAVA 25 SELF
    Livello 64,Lezione 1
    In questa lezione analizziamo come funziona il garbage collector ( GC) nella JVM, in cosa differiscono i classici Serial/ Parallel/ CMS dai moderni G1, ZGC e Shenandoah, cosa sono la giovane e la vecchia generazione, perché si verificano le pause Stop-the-World e come minimizzarle. In pratica vedremo come abilitare diversi GC con i flag ( -XX:+UseG1GC, -XX:+UseZGC, -XX:+UseShenandoahGC), configurare le pause ( -XX:MaxGCPauseMillis) e le dimensioni dell’heap ( -Xms/ -Xmx), leggere i log ( -Xlog:gc*) ed evitare errori tipici (ad esempio, l’invocazione forzata di System.gc()).
    Disponibile
  • Variabili locali, perdite di memoria, riferimenti deboli

    JAVA 25 SELF
    Livello 64,Lezione 2
    Da questa lezione scoprirai dove vivono le variabili locali (lo stack del thread) e in cosa differisce dall’heap, perché in Java sono comunque possibili perdite di memoria nonostante il GC e come evitarle. Analizzeremo scenari reali: «eterne» static-collezioni, listener non rimossi e cache. Conosceremo la famiglia dei riferimenti: SoftReference, WeakReference, PhantomReference, nonché il contenitore WeakHashMap. Faremo pratica nel correggere le perdite e discuteremo perché la chiamata a System.gc() è solo un suggerimento per la JVM, non un ordine, e come può finire con OutOfMemoryError.
    Disponibile
  • Strumenti di analisi della memoria: jmap, jvisualvm

    JAVA 25 SELF
    Livello 64,Lezione 3
    Guida pratica alla diagnostica dei problemi di memoria nella JVM: creiamo un’istantanea dell’heap ( heap dump) con l’utilità jmap, leggiamo i riepiloghi tramite -heap e -histo, esploriamo l’applicazione in jvisualvm (schede Monitor, Heap Dump, Threads, Profiler), analizziamo una perdita con un esempio e facciamo conoscenza con Eclipse MAT e jconsole. Alla fine — errori comuni e consigli.
    Disponibile
  • Analisi degli errori tipici nella gestione della memoria

    JAVA 25 SELF
    Livello 64,Lezione 4
    Analisi pratica del perché un’applicazione Java può «perdere» memoria e rallentare: listener dimenticati ( addActionListener/ removeActionListener), collezioni statiche eterne, risorse non chiuse (consiglio: try-with-resources), classi anonime/interne che trattengono riferimenti e abuso di System.gc(). Impareremo a leggere i log del GC ( -Xlog:gc*, -XX:+PrintGCDetails), scegliere il collector, costruire cache con WeakHashMap, monitorare ( jvisualvm, jconsole), analizzare heap dump e configurare correttamente -Xmx/ -Xms. Alla fine — esempi reali di leak e le loro correzioni.
    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