Should You Update Java or Upgrade and Which Version Should You Use?

Update versus Upgrade: what’s the difference and what are the consequences of your decision? Since 2018, every six months we get an upgrade to a new OpenJDK version, and this year versions 20 and 21 will be released. Next to these six-month releases, OpenJDK distributor Azul, amongst others, provides four critical patch updates (CPU) and patch set updates (PSU) per …

Read More »

The Evolution of APIs: From RESTful to Event-Driven

History of Services and APIs Enterprise application landscapes consist of inter-connected and inter-related applications. The world of application integrations has been constantly evolving over several years. Over time, we’ve observed a trend towards more modular and data model-focused integration components, and an increased emphasis on real-time processing. Beginning with EJBs in the 90s, progressing to Webservices and Service-Oriented Architecture (SOA) …

Read More »

Is There a Best OS to Develop a Java Application on?

One subject that often evokes a lot of debate is which is the best OS to develop a Java application on. This article gives my view on the issue. Java runs very well on Windows, macOS and Linux Distributions. I work for Chronicle Software, and much of our software is open-source Java libraries, so we don’t, or rather we can’t, …

Read More »

How to Get Started with the Hazelcast Viridian Serverless

Hazelcast Serverless means that Hazelcast manages your Cloud infrastructure for you. Each Viridian Serverless cluster is an independent deployment of Hazelcast Platform in a Kubernetes container. This design guarantees resource isolation, prevents resource stealing, and provides isolated network access. Viridian Serverless clusters come in two types:1) Development: Capped storage. You can store at most 1 GiB of data; and 2) …

Read More »

Web App Startup in 3ms with RIFE2 and GraalVM

RIFE2 applications already launch quickly with a regular JVM thanks merely calling Java methods, lambdas and doing object instantiations at startup. There are no annotations to scan for, nor any declarations or config files to parse and resolve. The RIFE2 v1.3.0 release introduced experimental support for GraalVM Ahead-Of-Time compilation with native-image, reducing the startup time of the bootstrap project from …

Read More »

Java Sealed Classes in Action: Building Robust and Secure Applications

Java sealed classes were introduced in Java 15 as a way to restrict the inheritance hierarchy of a class or interface. A sealed class or interface restricts the set of classes that can implement or extend it, which can help prevent bugs and make code more maintainable. Suppose you’re building an e-commerce application that supports different payment methods, such as …

Read More »

An Introduction to Scoped Values in Java

After moving to the six-month release cadence, the Java language has entered a rapid development process. While the process introduces many new features, these new features sometimes cause updates to existing APIs and sometimes result in the development of new APIs. An example of the second is Scoped Values which has been included in the JDK since Java 20 as …

Read More »

Foojay Podcast #14: Debugging Tools and Skills for Fun and Profit

Let’s talk about debugging and observability. We work with debugging all the time, but how well do we know this common practice? Observability, monitoring, and debugging at scale for your production… Guests A lot of rubber ducks Johannes Bechberger JVM and profiler developer Worked on the JDWP protocol and profiling https://github.com/parttimenerd https://twitter.com/parttimen3rd https://mastodon.social/@parttimenerd  AsyncGetStackTrace: A better Stack Trace API for …

Read More »

What are you Missing by Debugging in VS Code?

In the first chapter of my debugging book, I discuss IDE debugging. In that chapter, I mostly talk about IntelliJ/IDEA. People often ask me why I didn’t write as much about VS Code… The reason is that there isn’t much to write about. Its debugger is simpler for better and for worse. It isn’t as powerful as other IDEs. I …

Read More »

A Quick Look At Faces (JSF) 4.0 In Jakarta EE 10

Jakarta EE 10 shipped with the fourth major release of its component based web framework Jakarta Faces. Hitherto known as Jakarta Server Faces, and Java Server Faces before that, Jakarta Faces, or just Faces, version 4.0 is the first major version with API change since version 2.3 in Java EE 8. Among the major changes in this version are the following. …

Read More »