Informazioni su andbin

Senior Java developer SCJP 5 – SCWCD 5

Java – Panoramica dei framework GUI “desktop”

Una applicazione GUI (Graphical User Interface, cioè “interfaccia utente grafica”) è un tipo di applicazione che permette di interagire con l’utente in maniera “visuale” utilizzando un insieme di componenti “grafici” quali ad esempio pulsanti, etichette, campi di testo, icone, menù, ecc...

Nell’ambito della programmazione Java sui sistemi di tipo “desktop”, è possibile realizzare applicazioni GUI utilizzando appositi framework di classi, che consentono di creare, disporre e gestire i componenti grafici. La piattaforma Java di riferimento in questo contesto è la Standard Edition (Java SE).

Continua a leggere

Java – List, List<Object>, List<?> e List<? extends Object>

Quali sono le differenze tra List, List<Object>, List<?> e List<? extends Object> ? Se qualcuno vi ponesse questa domanda (ad esempio ad un colloquio di lavoro😉), sapreste rispondere? La questione riguarda chiaramente i generics, una funzionalità tra le più importanti introdotte in Java 5.

Per descrivere veramente bene queste differenze sarebbe necessaria una trattazione molto più ampia, ma si può dare una buona e valida spiegazione anche in uno spazio più ristretto (dando però per scontato che chi legge abbia già delle nozioni basilari sui generics).

Continua a leggere

Pubblicato in Java

Java – Un caso di deadlock con join() di Thread

Un po’ di mesi fa ho risposto ad una questione relativa a Java su un forum in cui un utente chiedeva sostanzialmente la seguente cosa: se un thread A acquisisce il lock su un oggetto X e mantenendo questo lock fa un join() su un thread B, si rischia di causare un deadlock? L’utente inoltre domandava anche se il join() rilascia il lock sull’oggetto.

Dal momento che è uno scenario un pochino particolare e interessante, credo sia utile descriverlo meglio in dettaglio.

Continua a leggere

Pubblicato in Java

Java – Generare valori “casuali” con una certa probabilità

Nel precedente articolo Generazione di numeri “casuali” ho descritto le funzionalità che il framework standard di Java mette a disposizione per generare dei numeri “casuali”.

Ci possono essere delle situazioni particolari in cui c’è bisogno di estrarre dei valori casuali che abbiano una certa probabilità specifica di uscita. Esistono due esempi molto classici: la moneta “truccata” e il dado “truccato”. In questo articolo descriverò questi due casi mostrando anche del codice concreto di prova.

Continua a leggere

Pubblicato in Java