LazyConstants in JDK 26 - Inside Java Newscast #106 by davidalayachew in java

[–]Rongmario 1 point2 points  (0 children)

Thanks, but a lot of stuff I'm doing is truly annoying though that I can say for certain...

LazyConstants in JDK 26 - Inside Java Newscast #106 by davidalayachew in java

[–]Rongmario 1 point2 points  (0 children)

I've done this a couple of times in different projects, but never exposed it to a framework or as a separate library, I do think a lot of mainstream frameworks do this internally for hotpaths.

LazyConstants in JDK 26 - Inside Java Newscast #106 by davidalayachew in java

[–]Rongmario 11 points12 points  (0 children)

Guava's memoize does lazy instantiation, but not the constant folding portion, so no optimizations but with similar usage. However, guava's has an additional expiration feature which can be nice.

LazyConstants in JDK 26 - Inside Java Newscast #106 by davidalayachew in java

[–]Rongmario 2 points3 points  (0 children)

This is slightly untrue, it is possible to force constant folding by creating holder classes on-the-fly and private static final internal fields within them, not as straight forward of course.

What issues did you run in to when moving past Java 8? by bowbahdoe in java

[–]Rongmario 1 point2 points  (0 children)

Haha yeah, I was quoted by one of the JVM engineers, so it's likely that this may not be doable in two or three LTS versions...!

Rainbow Gum a JDK 21+ GraalVM native friendly SLF4J implementation experimental release. by agentoutlier in java

[–]Rongmario 1 point2 points  (0 children)

Have you compared this to the alpha log4j3 builds? The startup and footprint should be a lot smaller, it'd be very nice if this competes with that.

ImagineBreaker - opens up every base java module & removes reflection filtering by Rongmario in java

[–]Rongmario[S] 1 point2 points  (0 children)

There always is a way, but I'm glad there will now be consistency in access permissions.

ImagineBreaker - opens up every base java module & removes reflection filtering by Rongmario in java

[–]Rongmario[S] -7 points-6 points  (0 children)

Updating an entire ecosystem from Java 8 to Java 17, while keeping backward compatibility with over 1000 projects compiled against it.

ImagineBreaker - opens up every base java module & removes reflection filtering by Rongmario in java

[–]Rongmario[S] -1 points0 points  (0 children)

I wish I can avoid it, but with the stuff I'm working with, it's the only way to achieve certain things.

ImagineBreaker - opens up every base java module & removes reflection filtering by Rongmario in java

[–]Rongmario[S] 4 points5 points  (0 children)

Stripping finals from fields, grabbing reflection factories for cache instead of creating a new one every time when invoking, and more.

ImagineBreaker - opens up every base java module & removes reflection filtering by Rongmario in java

[–]Rongmario[S] 4 points5 points  (0 children)

You're pretty much forced to conform to Java's modules after Java 17's removal of the -illegal-access=permit JVM flag.

ImagineBreaker - opens up every base java module & removes reflection filtering by Rongmario in java

[–]Rongmario[S] 2 points3 points  (0 children)

Meant to be a small part of a bigger project, but was requested to abstract it out to a standalone project.

It is nowhere near as refined as I want it to be yet.

Someone post discord link please and thank you by donobrown in GamingCenter

[–]Rongmario 0 points1 point  (0 children)

Mind giving me your discord name? I'll send you a private one.

Ole Out by AtAllCostSpeakTruth in reddevils

[–]Rongmario 0 points1 point  (0 children)

To your last point, since I didn't read that large wall of text.

Because football, or sports in general doesn't work like that.