Java 11 Nest-Based Access Control Via Reflection

Learn more about nest-based access control via Java 11 reflections.

Among the features of JDK 11, we have several hotspots (changes at the bytecode level). One of these hotspots is known as JEP 181, or nest-based access control (nests).

Basically, the nest term defines a new access control context that allows classes that are logically part of the same code entity, but which are compiled with distinct class files, to access each other's private members without the need for compilers to insert accessibility-broadening bridge methods (Java documentation).

So, in other words, nests allow nested classes to be compiled to different class files that belong to the same enclosing class. These are then allowed to access each other's private classes without the use of synthetic/bridge methods.

Scaling Benchmarks With More Robust UseNUMA Flag in OpenJDK

What happens when you run a Java application instead of checking your hardware configuration? Obviously, your application lags in terms of performance. For small applications, you need not to worry, but for applications that require larger memory (in GB's), you need to take care of the configurations; otherwise, your application can suffer a lot.

What Is NUMA?

Non-Uniform Memory Access, also called NUMA, is a configuration of processor and memory such that some cluster of cores are near to its memory and memory is local to those cores. The below picture of AMD EPYC 2P system explains more clearly about the NUMA nodes. Here, the Die is a single NUMA node and the memory channels (DDR) are also local to it. These dies are also interconnected by fabric, but the access penalty is more for far nodes compared to local nodes.