|
|
CONSIGLIATO DA LIBRINFORMATICA
Thinking in Java quarta edizione vol.3 - Concorrenza e interfacce grafiche
|
| Editore | Pearson Education Italia |
| Autore | Eckel Bruce |
| Titolo originale | Thinking in Java fourth edition |
| Editore originale | Prentice Hall |
| Pagine | 399 |
| Volumi | 1 |
| Livello | Intermedio-Avanzato |
| Lingua | Italiano |
| Data pubblicazione | 11 - 2006 |
| ISBN | 8871923057 |
|
|
| Prezzo di copertina | Sconto | Prezzo Librinformatica |
| Euro 39,00 | 5% | Euro 37,05 |
|
Prefazione
Java SE5 e SE6
Java SE6
La quarta edizione
Modifiche
Note sulla grafica di copertina
Ringraziamenti dell’autore
Introduzione
Prerequisiti
Imparare Java
Obiettivi
Imparare da questo libro
Documentazione JDK in HTML
Esercizi
Fondamenti di Java
Codice sorgente
Standard di codifica
Errori
Capitolo 1 – La concorrenza
Molteplici aspetti della programmazione concorrente
Velocità di esecuzione
Migliorare la progettazione del codice
Gestione di base dei thread
Definizione dei task
Classe Thread
Utilizzo di Executor
Ottenere valori di ritorno dai task
Messa in pausa con sleep()
Priorità
Yielding
Thread demoni
Variazioni sul codice
Terminologia
Collegamento dei thread
Creazione di interfacce utente reattive
Gruppi di thread
Intercettazione delle eccezioni
Condivisione delle risorse
Accesso improprio alle risorse
Risoluzione di conflitti tra risorse condivise
Sincronizzazione di EvenGenerator
Utilizzo di oggetti Lock espliciti
Atomicità e volatilità
Classi atomiche
Sezioni critiche
Sincronizzazione su altri oggetti
Memoria locale di thread
Chiusura dei task
Il giardino ornamentale
Terminare un task bloccato
Stati dei thread
Condizione di blocco
Interruzione
Blocco causato da mutex
Controllo di un interrupt
Cooperazione tra task
Metodi wait() e notifyAll()
Segnali mancanti
Confronto tra notify() e notifyAll()
Produttori e consumatori
Produttori, consumatori e code
Utilizzo di BlockingQueue nella produzione di toast!
Utilizzo delle pipe per l’I/O tra i task
Deadlock
Nuovi componenti di libreria
CountDownLatch
Funzionalità di libreria per la sicurezza dei thread
CyclicBarrier
DelayQueue
PriorityBlockingQueue
Un controller di serra con ScheduledExecutor
Semafori
Exchange
Simulazione
Simulatore di uno sportello bancario
Simulatore di un ristorante
Attività distribuite
Ottimizzazione delle prestazioni
Confronto tra le tecnologie mutex
Contenitori non soggetti a lock
Problemi di ottimizzazione
Confronto tra implementazione Map
Lock ottimistico
Lock di tipo ReadWriteLock
Oggetti attivi
Riepilogo
Ulteriori letture
Capitolo 2 – Interfacce grafiche (GUI)
Gli applet
Nozioni di base su Swing
Un framework di visualizzazione
Costruzione di un pulsante
Intercettare un evento
Aree di testo
Controllare la disposizione dei componenti
BorderLayout
FlowLayout
GridLayout
GridBagLayout
Posizionamento assoluto
BoxLayout
Qual è l’approccio migliore?
Modello a eventi di Swing
Tipi di eventi e di listener
Semplificazione mediante gli adattatori di listener
Monitoraggio di eventi multipli
Selezione di componenti Swing
Pulsanti
Gruppi di pulsanti
Icone
Tooltip
Campi di testo
Bordi
Un mini-editor
Caselle di scelta
Pulsanti radio
Caselle combinate o elenchi a discesa
Caselle di riepilogo
Pannelli a schede
Finestre di messaggio
Menu
Menu pop-up
Disegno
Finestre di dialogo
Finestre di dialogo per i file
HTML nei componenti Swing
Cursori scorrevoli e barre di avanzamento
Modificare l’aspetto dell’interfaccia
Strutture ad albero, tabelle e appunti
JNLP e Java web Start
Concorrenza e Swing
Task di lunga durata
Threading visuale
Programmazione visuale e JavaBeans
Che cos’è JavaBean?
Estrazione di BeanInfo con Introspector
Un bean più complesso
JavaBeans e sincronizzazione
Pacchettizzazione dei bean
Supporto ai bean avanzato
Ulteriori risorse su JavaBeans
Alternative a Swing
Costruire client web in Flash con Flex
Hello, Flex
Compilare MXML
MXML e ActionScript
Contenitori e controlli
Effetti e stili
Eventi
Connettersi a Java
Modelli dei dati e collegamento ai dati
Compilazione e distribuzione
Creare applicazioni SWT
Installazione di SWT
Hello, SWT
Eliminare il codice ridondante
Menu
Pannelli a schede, pulsanti ed eventi
Grafica
Concorrenza in SWT
SWT o Swing?
Riepilogo
Risorse
Appendice A – Supplementi
Supplementi scaricabili
Thinking in C: i fondamenti di Java
Seminari Thinking in Java
Seminario Hands-On Java su CD
Seminario Thinking in Objects
Thinking in Enterprise Java
Thinking in Patterns (with Java)
Seminario Thinking in Patterns
Consulenza e revisione di progetti
Appendice B- Risorse
Software
Editor e ambienti IDE
Libri
Analisi e progettazione
Python
Bibliografia dell’autore
Indice analitico
|
|
|
|