Java 17 Updates: The latest from Callum Doyle

Hello and welcome to another blog written by Callum Doyle. It’s been a little while since I have written one, so if I am a little rusty, please bear with me. As ever with my last few blogs focusing on AutoDesk updates to Revit and AutoCAD I will be continuing in that vein and be looking at another compatible technology that works with Archibus and what updates are happening with it.


Today I will be going over the current long term and latest release of Java, which as whole may not be the most interesting of topics, is still central to Web Central running at all, as well as many programs and applications that run on your PC and mobile phone.

 

 

In the past I have gone over how Java as a language works by utilising what is known as a Java Virtual Machine (JVM) to dynamically compile and manage programs working together by using the shared language, but before I can get in to the latest updates made to Java, I think I need to explain that Java has 2 versions of the language that is usable by private persons or companies, or at least it normally would.

 

The two versions that are normally available are the latest version, and the long term support version. So, if I had written this blog about a month ago, I would have been talking about Java 16 and Java 11 as the latest version of the software language and Java 11 as the long term support version. However, Oracle decided to release a new version of Java which just so happens to also be the new long term release. As such, this blog will be going over some of the updates made for Java 17.

Much like in past blogs, I will simply be summarising the updates that I find interesting and doing what I can to relate them through to how they may impact Archibus.

 

Sealed Classes

This is exactly as it sounds. With the new updates to Java 17, classes within different programs won’t be able to automatically implement or extend on classes from other programs if they are compiled as sealed classes. This means that multiple programs running in the same application space won’t end up trying to utilise the same classes or functions should they have been named roughly the same.

 

Source Details in Error Messages

This is something that is perhaps more useful for our side with regards to problem solving, but the added tools that will deliberately track the source code that is having an issue will allow su to identify and resolve problems faster in the future.

 

JDK Flight Recorder Event for Deserialization

So this one requires a little bit of explanation, serialization within Java means that the JVM will cache the class files it’s running for the program so that the program will run smoother with repeated processes within the program. Deserialization will do the opposite, in that it will remove the cached class files from the JVM. This is done so that the JVM doesn’t run out of memory assigned to it and thus slow down the program more than the caching helps smooth out the internal processes.

The flight recorder in this case, is a tag that has been added so that there is a log file record of cached classes that are removed from the JVM and thus allow you to track what is utilised more or less during the standard operation of the program.

 

There are other improvements that have been made, as well as the standard efficiencies written in to the language as a whole, but this blog would go on for far too long were I to cover them all. As such the above is simply a snapshot of some of the more useful improvements and I hope that you’ve enjoyed reading about them.

 

Callum



BACK TO BLOG


Organisations keeping track using ARCHIBUS Compliance Management application 07/12/2021

Organisations around the world are subject to a vast array of local, regional, national, and international laws, regulations, and standards pertaining to their properties and facilities. ...
read more view all blog posts

GET IN TOUCH