[Oggetto] Capitolo 2. Programmazione orientata agli oggetti Questo documento descrive la metodologia di programmazione orientata agli oggetti per implementare un sistema di prenotazione di biglietti cinematografici, trattando concetti come collaborazione, oggetti, classi, ereditarietà, polimorfismo, astrazione e c
[Oggetti] Capitolo 1. Oggetti, progettazione Nello sviluppo software, la pratica è più importante della teoria, e una buona progettazione rende il codice più facile da capire e più flessibile alle modifiche. La progettazione orientata agli oggetti fornisce un modo per gestire in modo appropriato le
[Effictive Java] Item 6. Evitare la creazione di oggetti non necessari Questa è una guida su come ridurre la creazione di oggetti non necessari in Java. Per gli oggetti immutabili come String e Boolean, è meglio usare i letterali e per le espressioni regolari è meglio mettere in cache l'istanza di Pattern. Inoltre, l'autobox
[Effettivi Java] Elemento 5. Non dichiarare risorse, utilizzare l'iniezione di dipendenze Se una classe dipende da risorse esterne, è meglio non utilizzare classi di utilità statiche o singleton. L'iniezione di dipendenze può migliorare la flessibilità, la riusabilità e la facilità di test della classe, e l'utilizzo del pattern di metodo di fa
[Effective Java] Item 4. Utilizzare un costruttore privato per impedire l'istanziamento Per le classi di utilità che includono solo metodi e campi statici, è consigliabile impostare l'accesso al costruttore su privato per impedire l'istanziamento. Ciò impedisce agli utenti di creare istanze della classe in modo errato, in quanto si basano su
[Effective Java] Elemento 3. Garantisci il singleton con un costruttore privato o un tipo di enumerazione Presenta tre modi per implementare il modello singleton in Java (membro statico pubblico, metodo di fabbrica statico, tipo di enumerazione) e spiega i pro e i contro di ciascun metodo e le precauzioni da prendere durante la serializzazione. Si consiglia d
[Effective Java] Item 2. Se hai molti parametri nel costruttore, considera di usare un builder Quando si crea un oggetto con molti parametri, l'utilizzo del pattern builder può rendere il codice più pulito e leggibile. Si crea un oggetto builder con i parametri obbligatori, si impostano i parametri facoltativi utilizzando i metodi setter e infine s
[Effective Java] Item 1. Consider static factory methods instead of constructors I metodi di fabbrica statici sono un modo flessibile ed efficiente per creare istanze invece di costruttori. Possono avere un nome, restituire istanze che soddisfano determinate condizioni e migliorare le prestazioni tramite il caching. A differenza del m
Che cos'è Java Collections Framework (JCF)? - Definizione e caratteristiche di JCF (JAVA) Java Collections Framework (JCF) è un insieme di classi Java che fornisce un modo standardizzato per elaborare in modo efficiente grandi quantità di dati. JCF implementa strutture di dati di archiviazione e algoritmi come classi per migliorare la riutiliz
[Spring] Che cos'è Filter, Interceptor, Argument Resolver? Scopri di più sui concetti e sulle differenze tra Filter, Interceptor e Argument Resolver nelle applicazioni web Spring. Scopri come implementare ciascuna funzione, quando usarla, i pro e i contro e usa esempi di codice reali per comprenderli. Inoltre,
[Spring] Come usare @Async Scopri come implementare facilmente la gestione asincrona di Java usando Spring @Async. Impara come convertire i metodi sincroni in asincroni tramite l'annotazione @Async e come migliorare l'efficienza impostando un pool di thread. Verrà anche trattato co
[Java] Synchronized Collection vs Concurrent Collection In Java, we compared and analyzed various methods and advantages and disadvantages for solving synchronization problems when using collections in a multithreaded environment. We introduce the characteristics and performance differences of synchronized col
equals() vs hashCode() In Java, `equals()` and `hashCode()` are important methods used to compare the equality and identity of objects. `equals()` compares whether the contents of the objects are the same, while `hashCode()` checks whether the objects are identical. In hash dat
[Java] Concetto e utilizzo della Reflection La Reflection è un'API che supporta l'accesso alle informazioni di classe e la manipolazione delle classi durante l'esecuzione di un programma Java. Consente di creare classi e accedere a campi e metodi in fase di runtime, ma è necessario utilizzarla con
[DB] Criteri per la configurazione della cache Questa è una guida pratica su come eseguire la cache dei dati che vengono letti frequentemente ma scritti raramente. Ti mostreremo come utilizzare APM come DataDog per analizzare la cronologia delle chiamate delle query RDB e come selezionare le tabelle c