Librinformatica

ATTENZIONE

Spedizioni sospese da sabato 17 Luglio fino a domenica 01 Agosto.
Riprenderanno regolarmente lunedi 02 Agosto.

Newsletter

Libreria Gaia Scienza Edizioni Erasmo

Effective Java

Pearson Education Italia

Effective Java


32,00 € IVA compresa

9788871924816

  • Volumi: 1
  • Data Pubblicazione: 05/2009
  • Lingua: italiano
  • Livello: Intermedio Avanzato
  • Pagine: 332
  • Editore Originale: Prentice Hall
  • Titolo Originale: Effective Java - second edition
  • Autore: Joshua Bloch

Questo libro è indirizzato ai programmatori Java che desiderano approfondire e migliorare il livello di conoscenze di questo linguaggio in particolare e sulla programmazione orientata agli oggetti più in generale.
All’interno dei capitoli ogni paragrafo affronta un aspetto specifico della programmazione in Java analizzandolo in modo breve, esauriente e autonomo dai restanti paragrafi.
Il libro è aggiornato alla versione SE 6 di Java.
Il libro è destinato ai programmatori Java di livello medio-avanzato.
  • Presenta le tecniche di programmazione più aggiornate e di successo
  • Suggerisce come evitare i tipici errori di programmazione in Java
  • Si focalizza sulle librerie fondamentali di questo linguaggio

L'autore
Joshua Bloch è capo architetture Java presso Google, in passato ha collaborato con Sun Microsystems.

Indice
Presentazione
Ringraziamenti

1 INTRODUZIONE

2 CREAZIONE E DISTRUZIONE DEGLI OGGETTI
tema 1: utilizzate metodi static factory al posto dei costruttori
tema 2 :utilizzate un oggetto builder nel caso in cui siano presenti molti parametri dei costruttori
tema 3 :potenziate la proprietà singleton utilizzando un costruttore privato oppure un tipo enum
tema 4:rafforzate la non instanziabilità utilizzando un costruttore privato
tema 5:evitare la creazione di oggetti non necessari
tema 6:evitare i riferimenti a oggetti obsoleti
tema 7: evitare l'utilizzo di metodi finalizer

3 METODI COMUNI A TUTTI GLI OGGETTI
tema 8:rispettare le regole generali quando eseguite l'override di equals
tema 10 :eseguite sempre l'override di toSTRING
tema 11 :valutate con l'attenzione l'override di clone
tema 12:considerare l'implementazione di comparable

4 CLASSI E INTERFACCE
tema 13:minimizzate l'accessibilita'
tema 14:nelle classi pubbliche utilizzate metodi accessori non campi pubblici
tema 15:minimizzate la mutabilità
tema 16:preferite la composizione all'ereditarietà
tema 17:progettate e documentate l'ereditarietà,altrimenti impeditela
tema 18:preferite le interfacce rispetto alle classi astratte
tema 19:utilizzate le interfacce solo per definire i tipi
tema 20:preferite le gerarchie di classi alle classi con tag
tema 21:utilizzate oggetti funzione per rappresentare le strategie
tema 22:preferite classi membro statiche rispetto a quelle non statiche

5 GENERICITA DEI TIPI
tema 23: non utilizzate tipi raw nei programmi nuovi
tema 24:eliminate i messaggi unchecked
tema 25:preferite le liste agli array
tema 26:preferite i metodi generici
tema 28:utilizzate tipi wildcard bounded per aumentare la flessibilità dell' API
tema 29:considerare l'utilizzo di contenitori typesafe eterogenei
tema 30: utilizzate enum al posto delle costanti int

6 TIPI ENUM E ANNOTAZIONI
tema 31: utilizzate campi istanza al posto di metodi ordinal
tema 32:utilizzate EnumSet al posto di campi bit
tema 33: utilizzate EnumMap al posto dell'indice ordinal
tema 34:emulate enum estensibili con le interfacce
tema 35:preferite le annotazioni agli schemi con nome
tema 36:utilizzate l'annotazione Override in modo coerente
tema 37:utilizzate interfacce marker per definire i tipi

7 METODI
tema 38: verificate la validità dei parametri
tema 39:definite copie defensive quando necessario
tema 40:progettate attentamente le firme dei metodi
tema 41:utilizzate l'overload con giudizio
tema 42:utilizzate varargs con giudizio
tema 43:restituite array o collezioni vuote, non null
tema 44:scrivete commenti doc per tutti gli elementi esposti delle API
tema 45: minimizzate l'ambito delle variabili locali

8 FONDAMENTI DI PROGRAMMAZIONE
tema 46: preferite i cicli for-each ai cicli for tradizionali
tema 47: analisi e utilizzo delle librerie
tema 48: evitate float e double se volete risposte esatte
tema 49: preferite i tipi primitivi alle primitive boxed
tema 50: evitate le stringhe se altri tipi sono più adeguati
tema 51: attenti alle operazioni di concatenamento di stringhe
tema 52: fate riferimento agli oggetti tramite le loro interfacce
tema 53: preferite le interfacce alla riflessione
tema 54: utilizzate i metodi nativi con giudizio
tema 55: ottimizzate con giudizio
tema 56: rispettate le concezioni di denominazione standard

9 ECCEZIONI
tema 57:utilizzate le eccezioni solo in situazioni particolari
tema 58:utilizzate le eccezioni verificate nelle situazioni recuperabili e le eccezioni runtime per gli errori di programmazioni
tema 59:evitare l'utilizzo non necessario di eccezioni verificate
tema 60:preferite l'utilizzo di eccezioni standard
tema 61:fate generare eccezioni adeguate all'astrazione
tema 62:documentate tutte le eccezioni generate da ogni metodo
tema 63:includete nei messaggi detail le informazioni relative al blocco del programma
tema 64:scrivete metodi failure atomic
tema:65 non ignorate le eccezioni

10 ESECUZIONE IN PARALLELO DEI PROGRAMMI
tema 66:sincronizzate l'accesso a dati mutabili condivisi
tema 67:evitate l'eccessiva sincronizzazione
tema 68:preferite esecutori e task rispetto ai thread
tema 69:preferite utility concurrent rispetto a wait e notify
tema 70:documentate la condizione thread-safe
tema 71:utilizzate l'inizializzazione lazy con giudizio
tema 72:non affidatevi alla funzione thread scheduler
tema 73:evitate i gruppi di thread

11 SERIALIZZAZIONE
tema 74:implementate l'interfaccia Serializable con giudizio
tema 75:valutate la possibilità di utilizzare una forma serializzata personalizzata
tema 76:scrivete metodi readObject in modo defensive
tema 77:per il controllo delle istanze preferite i tipi di enumerazione a readResolve
tema 78:considerate l'utilizzo di proxy di serializzazione al posto di istanze serializzate

Bibliografia
Indice Analitico

Carrello

Non ci sono prodotti

Spedizione 0,00 €
Totale 0,00 €

Carrello Acquista