nipafx · GitHub

Folders and files

NameName

Last commit message

Last commit date

Latest commit

History

16 Commits

This project contains examples, tests, and benchmarks for my YouTube series on Effective Java, Third Edition. The tests can be run with mvn test or any IDE with JUnit 5 integration. To run the benchmarks:

mvn package
java -jar target/benchmarks.jar

Related links:

Creating and destroying objects

  • Item 1: Consider static factory methods instead of constructors - examples
  • Item 2: Consider a builder when faced with many constructor parameters - examples
  • Items 3-5 - examples:
    • Enforce the singleton property with a private constructor or an enum type
    • Enforce noninstantiability with a private constructor
    • Prefer dependency injection to hardwiring resources
  • Item 6: Avoid creating unnecessary objects - benchmark

Methods

  • Item 50: Make defensive copies when needed - example and tests

Read the original on github.com ↗