Mark Stephens Mark has been working with Java and PDF since 1999 and is a big NetBeans fan. He enjoys speaking at conferences. He has an MA in Medieval History and a passion for reading.

Why we are using Java 17 for our products

1 min read

Java logo

Java logo

 

Staying updated to the relevant version of Java is crucial for many reasons, including security improvements and additional functionality. However, in a commercial setting it is likely that switching versions of Java could be more of a balancing act, rather than simply upgrading.

The key here would be to balance additional functionalities of the latest version of Java with compatibility to ensure a sustainable migration to the new code. For this reason we have chosen Java 17 to be the baseline for all our products moving forward.

While there are no requirements for you to update, to the latest release, any jars downloaded in the future will require Java 17 to run smoothly. There are many reasons why you would want to consider updating to Java 17 to use our products.

Pattern Matching

Java 17 natively supports this feature which will simplify your code by pattern matching within switch blocks. This can help immensely with writing a cleaner code and also help with maintainability.

Foreign Function and Memory API

This version allows for faster seamless interaction with native libraries, being specially helpful when integrating with existing C/C++ codebases or when you’re optimising performance critical components. The new method would be less prone to causing errors.

Easier Migration

Staying up-to-date with Java 17 will also ensure a smoother transition to newer versions. Frequent LTS releases allow gradual adoption of features, minimizing disruption to existing projects.

Enhanced Security

Besides deserialization filters, Java 17 comes with strong encapsulation for JDK internals and this in turn reduces the risk of accidental dependencies on internal APIs.

Better Control

Java 17 supports sealed classes which can help in restricting class inheritance, helping stop unintended subclassing. This is useful if you want your customer to only use the public API.

There are many other added functionalities for Java 17 some of which include new utilities for working with hexadecimal values, better pseudo random number generators and so on. More a more in-depth comparison you can read this article on different versions and their features.

We believe that all of these additional features could be useful for many functions, which is why we will be moving to Java 17 from Java 8 from October 2024. You can learn more about Java support for our products here.



Our software libraries allow you to

Convert PDF to HTML in Java
Convert PDF Forms to HTML5 in Java
Convert PDF Documents to an image in Java
Work with PDF Documents in Java
Read and Write AVIF, HEIC, WEBP and other image formats
Mark Stephens Mark has been working with Java and PDF since 1999 and is a big NetBeans fan. He enjoys speaking at conferences. He has an MA in Medieval History and a passion for reading.