1. Consider creating a static factory method instead of a constructor
2. Use builder when constructor arguments are huge
Contrast the telescoping constructor with the JavaBeans pattern.
In instance generation, if the number of parameters is larger than one-handed counting, it is better to consider instance generation with the builder pattern.
I didn't understand the explanation of the drawbacks when using the JavaBeans pattern. It seems that inconsistencies can occur because there are multiple calls, but what exactly do you mean?
3. When designing a singleton class, make the constructor private or use ENUM.
I've never seen a singleton using an ENUM type. ..
4. Create a private constructor for the class you want to suppress instantiation
Utility class etc. wants to suppress instance generation, so it seems to be used at that time.
5. Dependency Injection should be done rather than hard-coding resources
At large scale, you should use the framework's DI mechanism.
Use the Factory pattern.
This item does not seem to be in the 2nd edition.
6. Avoid unnecessary object creation
Unless defensive copy is required. What is a defensive copy?
7. Discard references that are no longer in use
If not discarded, a memory leak will occur.
It seems to be a problem that tends to occur in classes with caches and callbacks.