1/32
Flashcard di vocabolario tecnico su Java basate sul transcript della lezione, caricate con definizioni puntuali su architettura, OOP, memoria, concetti avanzati e networking.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Bytecode
Codice intermedio in cui viene compilato Java, che permette l'indipendenza dall'architettura originale.
JVM (Java Virtual Machine)
Emulazione software di un'architettura hardware ideale in grado di eseguire il bytecode di Java.
JDK (Java Development Kit)
Ambiente di sviluppo per Java che include strumenti base come il compilatore javac e l'interprete java.
Tipi Primitivi
Tipi predefiniti (int, double, float, char, byte, short, long) manipolati direttamente per valore anziché tramite riferimento.
Stack
Area di memoria efficiente e veloce usata per memorizzare i tipi primitivi e i riferimenti, gestita tramite uno stack pointer.
Heap
Area di memoria utilizzata per memorizzare gli oggetti creati con l'operatore new durante l'esecuzione.
Wrapper Type
Involucri read-only come Integer o Boolean che contengono un tipo primitivo permettendogli di essere trattato come oggetto.
Variabili di Classe
Attributi definiti con la parola chiave static che appartengono alla classe stessa e sono condivisi da tutti i suoi oggetti.
Package
Strumento per raggruppare insiemi di classi correlate, mappato fisicamente sulla gerarchia delle cartelle del sistema operativo.
Costruttore
Metodo speciale con lo stesso nome della classe richiamato automaticamente per inizializzare un oggetto appena creato.
Garbage Collector
Programma in bytecode che libera automaticamente la memoria occupata da oggetti non più utilizzati, eliminando la necessità di un distruttore esplicito.
Overloading
Strumento che permette di definire più metodi con lo stesso nome all'interno di una classe, distinguendoli tramite i parametri.
This
Parola chiave usata all'interno di un metodo per mantenere il riferimento all'oggetto corrente e risolvere conflitti di nome tra variabili.
Information Hiding
Concetto realizzato tramite modificatori di accesso per nascondere i dettagli implementativi e proteggere i dati di una classe.
Accesso Friendly (o Package)
Livello di visibilità di default in Java che rende un membro accessibile solo alle classi dello stesso package.
Protected
Modificatore che rende un membro accessibile nella classe originale, nelle sue sottoclassi e in tutte le classi del medesimo package.
Interfaccia
Guscio vuoto che definisce una collezione di operazioni pubbliche senza variabili di istanza, specificando cosa fare ma non come.
Composizione
Tecnica di riuso che consiste nell'inserire riferimenti ad oggetti di classi esistenti all'interno di una nuova classe.
Ereditarietà
Meccanismo indicato dalla parola chiave extends che permette a una classe di derivare metodi e attributi da una classe base.
Overriding
Ridefinizione di un metodo ereditato dalla superclasse all'interno di una sottoclasse.
Upcasting
Meccanismo di polimorfismo per cui un riferimento a un oggetto viene trattato come riferimento al suo tipo base.
Late Binding (o Dynamic Binding)
Meccanismo che determina a runtime il tipo effettivo dell'oggetto per selezionare l'implementazione corretta del metodo da chiamare.
Final
Modificatore che assume significati diversi: costante per i dati, impedisce l'overriding per i metodi e impedisce l'ereditarietà per le classi.
Static
Modificatore che indica che un membro appartiene alla classe e non alla singola istanza, venendo creato in memoria una sola volta.
Eccezione
Condizione anormale o errore che si verifica durante l'esecuzione di un programma e ne impedisce la normale prosecuzione.
Finally
Blocco opzionale della guarded zone che viene eseguito indipendentemente dall'esito del blocco try per garantire il rilascio di risorse.
Type Erasure
Processo per cui, durante la trasformazione in bytecode, le informazioni sui tipi parametrici delle Generic vengono rimosse.
Serializzazione
Trasformazione di un oggetto in una sequenza di byte che implementa l'interfaccia Serializable per permetterne la persistenza.
Transient
Parola chiave usata per indicare al compilatore di non includere una variabile sensibile o privata nel file serializzato.
Thread
Singolo flusso di esecuzione sequenziale all'interno di un processo che permette l'esecuzione contemporanea di subtask.
Synchronized
Parola chiave che garantisce l'accesso esclusivo di un solo thread alla volta a un metodo o a un blocco critico di codice.
Deadlock
Situazione critica in cui due o più thread sono reciprocamente in attesa l'uno dell'altro, bloccando l'intero sistema.
Socket
Astrazione software che rappresenta un punto di connessione tra due macchine per abilitare la comunicazione in rete tramite stream.