> De: "Kevin Bourrillion" <kev...@google.com> > À: "Remi Forax" <fo...@univ-mlv.fr> > Cc: "daniel smith" <daniel.sm...@oracle.com>, "amber-spec-experts" > <amber-spec-experts@openjdk.java.net> > Envoyé: Mardi 9 Octobre 2018 21:03:42 > Objet: Re: New JEP: Concise Method Bodies
> I do like that feature, but, aren't statics the only things that are already > easy to make lazy (holder class)? > This pattern should already be evangelized heavily today for anyone with Java > 8 > and up. The holder class is a great pattern until you have a better one (sorry just kidding). The holder class means you create a supplementary class and a class object + metadata in not something very lightweight in memory (and on disc) and you still have to hold a lock the first time you call it (the lock around the static init). If the initialization of the constant has no side effect, we can re-use another mechanism than the lazy initialization of the class, the lazy initialization of the constant of the constant pool aka constant dynamic. The other advantages of the lazy static final is that it is binary backward compatible with the static final so you can choose if a static final is lazy or not whenever you want at no cost. Rémi > On Tue, Oct 9, 2018 at 11:50 AM < [ mailto:fo...@univ-mlv.fr | > fo...@univ-mlv.fr > ] > wrote: >>> De: "Kevin Bourrillion" < [ mailto:kev...@google.com | kev...@google.com ] > >>> À: "daniel smith" < [ mailto:daniel.sm...@oracle.com | >>> daniel.sm...@oracle.com ] >>> > >>> Cc: "Remi Forax" < [ mailto:fo...@univ-mlv.fr | fo...@univ-mlv.fr ] >, >>> "amber-spec-experts" < [ mailto:amber-spec-experts@openjdk.java.net | >>> amber-spec-experts@openjdk.java.net ] > >>> Envoyé: Mardi 9 Octobre 2018 20:48:10 >>> Objet: Re: New JEP: Concise Method Bodies >>> On Tue, Oct 9, 2018 at 11:43 AM Dan Smith < [ >>> mailto:daniel.sm...@oracle.com | >>> daniel.sm...@oracle.com ] > wrote: >>>> We have a rich API for building Comparators. I would expect most non-legacy >>>> implementations of Comparable to implement their 'compareTo' method by >>>> delegating to a Comparator. >>> +100 >>> To me, this pattern is the strongest use case for the entire feature. >> We need the lazy static final feature too. >> Rémi > -- > Kevin Bourrillion | Java Librarian | Google, Inc. | [ > mailto:kev...@google.com | > kev...@google.com ]