this is a list of 10 best practices that are more subtle than your average josh bloch effective java rule. while josh bloch’s list is very easy to learn and concerns everyday situations, this list here contains less common situations involving api / spi design that may have a big effect nontheless.
i have encountered these things while writing and maintaining jooq , an internal dsl modelling sql in java. being an internal dsl, jooq challenges java compilers and generics to the max, combining generics, varargs and overloading in a way that josh bloch probably wouldn’t recommend for the “average api”.