I help professional Java developers to learn language features so they can work on the best Java projects, software developer, speaker, OpenJDK contributor.
Professional Java developers need immutable data carrier-classes for communication with databases and web Services. We need to write a lot of boilerplate code to create a simple data carrier-class, we typically implement constructor, accessors, equals(), hashCode(), and toString(). This process is repetitive and error-prone. Developers also complain “Java is too verbose”.
Record classes provide a way to model data in Java. An example of data is a row in a database table. This feature simplifies coding, makes Java code more concise and readable, increasing productivity for professional Java developers. Java14 introduced Records as a preview feature, Java15 brings in some updates as a second preview, and Java16 makes it a final feature, no changes will be needed for Records after this.V. Sharma
Writing concurrent programs is hard, testing concurrent programs is harder, and debugging concurrent programs is a nightmare.
The incorrect concurrent program can run for years, tricking us to believe it is stable code, and it fails when we least expect.
JCStress is a concurrency stress test tool used by JVM developers to test the correctness of the JVM itself. The OpenJDK provides this amazing tool to test the correctness of your concurrent programs.V. Sharma
As we know, sun.misc.Unsafe APIs are not recommended to use outside the JDK, with a slight mistake it may result in a JVM crash. In some cases, code may not be portable across different platforms and many other problems that may occur.
Classes that cannot be used directly by the bytecode of other classes are hidden classes. Hidden classes allow frameworks/JVM languages to define classes as non-discoverable implementation details, so that they cannot be linked against by other classes.V. Sharma