Effective Java

Detalles Bibliográficos
Autor Principal: Bloch, Joshua
Formato: Libro
Lengua:inglés
Datos de publicación: Upper Saddle River : [S.n.], c2008
Edición:2nd ed.
Temas:
Acceso en línea:Consultar en el Cátalogo
Descripción Física:xxi, 346 p. ; 24 cm.
ISBN:9780321356680

MARC

LEADER 00000nam a2200000 a 4500
003 AR-LpUFIB
005 20250423183314.0
008 230201s2008 xxu r 000 0 eng d
020 |a 9780321356680 
024 8 |a DIF-M2987  |b 3087  |z DIF008315 
040 |a AR-LpUFIB  |b spa  |c AR-LpUFIB 
100 1 |a Bloch, Joshua  |9 50752 
245 1 0 |a Effective Java 
250 |a 2nd ed. 
260 |a Upper Saddle River :  |b [S.n.],  |c c2008 
300 |a xxi, 346 p. ;  |c 24 cm. 
505 0 |a  Foreword -- Preface -- Acknowledgments -- 1. Introduction -- 2. Creating and Destroying Objects -- Item 1: Consider static factory methods instead of constructors -- Item 2: Consider a builder when faced with many constructor parameters -- Item 3: Enforce the singleton property with a private constructor or an enum type -- Item 4: Enforce noninstantiability with a private constructor -- Item 5: Avoid creating unnecessary objects -- Item 6: Eliminate obsolete object references -- Item 7: Avoid finalizers -- 3. Methods Common to All Objects -- Item 8: Obey the general contract when overriding equals -- Item 9: Always override hashCode when you override equals -- Item 10: Always override toString -- Item 11: Override clone judiciously -- Item 12: Consider implementing Comparable -- 4. Classes and Interfaces -- Item 13: Minimize the accessibility of classes and members -- Item 14: In public classes, use accessor methods, not public fields -- Item 15: Minimize mutability -- Item 16: Favor composition over inheritance -- Item 17: Design and document for inheritance or else prohibit it -- Item 18: Prefer interfaces to abstract classes -- Item 19: Use interfaces only to define types -- Item 20: Prefer class hierarchies to tagged classes -- Item 21: Use function objects to represent strategies -- Item 22: Favor static member classes over nonstatic -- 5. Generics -- Item 23: Don’t use raw types in a new code -- Item 24: Eliminate unchecked warnings -- Item 25: Prefer lists to arrays -- Item 26: Favor generic types -- Item 27: Favor generic methods -- Item 28: Use bounded wildcards to increase API flexibility -- Item 29: Consider typesafe heterogeneous containers -- 6. Enums and Annotations -- Item 30: Use enums instead of int constants -- Item 31: Use instance fields instead of ordinals -- Item 32: Use EnumSet instead of bit fields -- Item 33: Use EnumMap instead of ordinal indexing -- Item 34: Emulate extensible enums with interfaces -- Item 35: Prefer annotations to naming patterns -- Item 36: Consistently use the Override annotation -- Item 37: Use marker interfaces to define types -- 7. Methods -- Item 38: Check parameters for validity -- Item 39: Make defensive copies when needed -- Item 40: Design method signatures carefully -- Item 41: Use overloading judiciously -- Item 42: Use varargs judiciously -- Item 43: Return empty arrays or collections, not nulls -- Item 44: Write doc comments for all exposed API elements -- 9. General Programming -- Item 45: Minimize the scope of local variables -- Item 46: Prefer for-each loops to traditional for loops -- Item 47: Know and use the libraries -- Item 48: Avoid float and double if exact answers are required -- Item 49: Prefer primitive types to boxed primitives -- Item 50: Avoid strings where other types are more appropriate -- Item 51: Beware the performance of string concatenation -- Item 52: Refer to objects by their interfaces -- Item 53: Prefer interfaces to reflection -- Item 54: Use native methods judiciously -- Item 55: Optimize judiciously -- Item 56: Adhere to generally accepted naming conventions -- 9. Exceptions -- Item 57: Use exceptions only for exceptional conditions -- Item 58: Use checked exceptions for recoverable conditions and runtime exceptions for programming errors -- Item 59: Avoid unnecessary use of checked exceptions -- Item 60: Favor the use of standard exceptions -- Item 61: Throw exceptions appropriate to the abstraction -- Item 62: Document all exceptions thrown by each method -- Item 63: Include failure-capture information in detail messages -- Item 64: Strive for failure atomicity -- Item 65 Don’t ignore exceptions -- 10. Concurrency -- Item 66: Synchronize access to shared mutable data -- Item 67: Avoid excessive synchronization -- Item 68: Prefer executors and tasks to threads -- Item 69: Prefer concurrency utilities to wait and notify -- Item 70: Document thread safety -- Item 71: Use lazy initialization judiciously -- Item 72: Don’t depend on the thread scheduler -- Item 73: Avoid thread groups -- 11. Serialization -- Item 74: Implement Serializable judiciously -- Item 75: Consider using a custom serialized form -- Item 76: Write readObject methods defensively -- Item 77: For instance control, prefer enum types to readResolve -- Item 78: Consider serialization proxies instead of serialized instances -- Appendix: Items Corresponding to First Edition -- References -- Index 
650 4 |a JAVA  |9 42682 
650 4 |a OBJETOS  |9 19975 
650 4 |a PROGRAMACIÓN  |9 42809 
942 |c BK 
952 |0 0  |1 0  |4 0  |6 D3JAV_BLO  |7 0  |9 84625  |a DIF  |b DIF  |d 2010-12-01  |i DIF-03584  |l 0  |o D.3.JAV BLO   |p DIF-03584  |r 2025-03-11 17:05:37  |w 2025-03-11  |y BK 
999 |c 58084  |d 58084