❓
물음표살인마 블로그
CtrlK
  • README
  • ALGORITHM
    • Sieve of Eratosthenes
    • Round Up
    • Binary Search
    • Union Find
    • Sorting Array
    • Lcm, Gcd
  • TechTalk Review
    • if(kakao)
    • Woowacon
    • Slash(toss)
  • Books
    • CS Note for Interview
    • Learning the Basics of Large-Scale System Design through Virtual Interview Cases
    • Computer System A programmer's perspective
    • Effective Java
      • Item 1. Consider Static Factory Methods Instead of Constructors
      • Item 2. Consider a Builder When Faced with Many Constructor Parameters
      • Item 3. Ensure Singleton with Private Constructor or Enum Type
      • Item 4. Enforce Noninstantiability with a Private Constructor
      • Item 5. Prefer Dependency Injection to Hardwiring Resources
      • Item 6. Avoid Creating Unnecessary Objects
      • Item 7. Eliminate Obsolete Object References
      • Item 8. Avoid Finalizers and Cleaners
      • Item 9.Prefer try-with-resources to try-finally
      • Item10. Adhering to General Rules When Overriding equals
      • Item11. Override hashCode When You Override equals
      • Item12. Always Override toString
      • Item13. Override Clone Judiciously
      • Item14. Consider Implementing Comparable
      • Item15. Minimize the Accessibility of Classes and Members
      • Item16. Accessor Methods Over Public Fields
      • Item17. Minimize Mutability
      • Item18. Composition over inherentance
      • Item19. Design and Document for Inheritance, or Else Prohibit It
      • Item20. Prefer Interfaces to Abstract Classes
      • Item21. Design Interfaces with Implementations in Mind
      • Item22. Use Interfaces Only to define Types
      • Item23. Prefer Class Hierarchies to Tagged Classes
      • Item24. Favor Static Member Classes Over Non-Static
      • Item28. Use Lists Instead of Arrays
      • Item29. Prefer Generic Types
      • Item30. Favor Generic Methods
    • Head First Design Patterns
    • Digging Deep into JVM
  • Interview Practices
    • Restful API Practices
    • Naver Interview Prep
  • K6 Optimization Project
    • Tweeter Project
    • Leetcode Project
  • F-Lab
    • Ecom - Ecommerce Project
    • Week1
    • Week2
    • Week3
    • Week4
    • Week5
    • Week6
    • Week7
    • Week 8
    • Week10
  • TOY Project
    • CodeMentor
  • AI
    • VibeCoding
  • Kotlin
    • Kotlin CheatSheet
    • Kotlin Test Tutorial
    • Beginner Kotlin for Java Developer
  • JAVA
    • MESI protocol in CAS
    • CAS (Compare and Set)
    • BlockingQueue
    • Producer & Consumer
    • Synchronized && ReentrantLock
    • Memory Visibility
    • Checked vs Unchecked Exception
    • Thread
    • Batch delete instead of Cascade
    • Java Questions
    • Java 101
  • SPRING
    • Hybrid RBAC (Role + Permission)
    • AOP
    • DIP. Dependency Inversion Principal
    • Ioc container, di practice
    • @Transactional
    • Proxy Pattern
    • Strategy Pattern
    • Template Method Pattern
    • using profile name as variable
    • Spring Questions
  • DATABASE
    • Consistent Hashing
    • Subquery
    • Outer Join , other join & Experiments
    • Inner Join
    • Twitter Table Structure Guide
    • Twitter - Cassandra, Fan out on Write
    • Enhancing Query Performance & Stability - User list
    • Ensuring Data Consistency, Atomicity and UX Optimization (feat.Firebase)
    • Redis: Remote Dictionary Server
    • Database Questions
    • Normalization
  • NETWORK
    • HTTP & TCP head of line blocking
    • HTTP 0.9-3.0
    • Blocking, NonBlocking and Sync, Async
    • Network Questions
    • Network 101
  • OS
    • Operating System Questions
    • Operating System 101
  • COMPUTER SCIENCE
    • Computer Architecture 101
  • Programming Paradigm
    • Declarative vs Imperative
  • JPA, QueryDsl
    • why fetchResults() is deprecated
  • PYTHON
    • Icecream
  • FASTAPI
    • Template Page
  • LINUX
    • Template Page
  • DATA STRUCTURE
    • Counting Sort
    • Array vs Linked List
  • GIT, Github
    • git clone, invalid path error
  • INFRA
    • BFF & Front Server
  • AWS
    • Server Log Archive Pipeline
    • Image Processing using Lambda
  • DOCKER
    • Docker and VM
    • Python Executable Environment
    • Docker commands
  • docker-compose
    • Kafka, Multi Broker
  • KUBERNATES
    • !Encountered Errors
    • Kubernetes Components
    • Helm
    • Pod network
    • Service network
    • Service type
    • service-name-headless?
    • kube-proxy
  • GraphQL
    • Template Page
  • WEB
    • Template Page
  • Reviews
    • Graphic Intern Review
    • Kakao Brain Pathfinder Review
    • JSCODE 자바 1기 Review
  • 😁Dev Jokes
    • Image
Powered by GitBook
On this page
  1. Books

Effective Java

Item 1. Consider Static Factory Methods Instead of ConstructorsItem 2. Consider a Builder When Faced with Many Constructor ParametersItem 3. Ensure Singleton with Private Constructor or Enum TypeItem 4. Enforce Noninstantiability with a Private ConstructorItem 5. Prefer Dependency Injection to Hardwiring ResourcesItem 6. Avoid Creating Unnecessary ObjectsItem 7. Eliminate Obsolete Object ReferencesItem 8. Avoid Finalizers and CleanersItem 9.Prefer try-with-resources to try-finallyItem10. Adhering to General Rules When Overriding equalsItem11. Override hashCode When You Override equalsItem12. Always Override toStringItem13. Override Clone JudiciouslyItem14. Consider Implementing ComparableItem15. Minimize the Accessibility of Classes and MembersItem16. Accessor Methods Over Public FieldsItem17. Minimize MutabilityItem18. Composition over inherentanceItem19. Design and Document for Inheritance, or Else Prohibit ItItem20. Prefer Interfaces to Abstract ClassesItem21. Design Interfaces with Implementations in MindItem22. Use Interfaces Only to define TypesItem23. Prefer Class Hierarchies to Tagged ClassesItem24. Favor Static Member Classes Over Non-StaticItem28. Use Lists Instead of ArraysItem29. Prefer Generic TypesItem30. Favor Generic Methods
PreviousComputer System A programmer's perspectiveNextItem 1. Consider Static Factory Methods Instead of Constructors