Yes, methods/constructors as well - I should've pointed that out but only answered the field question that was originally asked.
Valid points on metadata and stack pollution, although a bit pedantic for real code :). Thanks Sent from my phone On May 25, 2012 6:03 PM, "Rémi Forax" <fo...@univ-mlv.fr> wrote: > On 05/25/2012 11:50 PM, Vitaly Davidovich wrote: > >> This is specific to private fields in inner classes - >> > > and methods and constructors > > java allows access to >> them from the outer class, but the JVM doesn't so javac generates >> synthetic >> accessor methods for them. Don't think it's a problem for JIT compiler >> though as it should inline them. >> > > yes, there are unconditionally inlined so performance is not the problem. > The issues are more that the compiler generates unnecessary code, > unnecessary class metadata, stack pollution and stacktrace pollution too. > > Rémi > > >> Sent from my phone >> On May 25, 2012 5:23 PM, "Ulf Zibis"<ulf.zi...@gmx.de> wrote: >> >> Am 25.05.2012 22:30, schrieb Jeff Hain: >>> >>> Hello. >>>> >>>> In HashMap, the class Holder should not declare the static final fields >>>> >>>>> 'private' because the compiler will generate an accessor in that case, >>>>> >>>>> I wasn't aware that making fields private could have a downside >>>> (other than making them non-visible). >>>> >>>> Could you, or anyone, please give (a link to) more info about this? >>>> >>>> I'm interested too. >>> >>> -Ulf >>> >>> >>> >