Video series “JavaFX In Action”, Part 2

In July, we published the first part, which included four interviews with Pedro Duque Vieira, Daniel Zimmermann, Christopher Schnick, and Robert Ladstätter. In this part, we have four new interviews for you! Learn more about JavaFX combined with Scala, Swing, ... The post Video s … | Continue reading


@foojay.io | 6 hours ago

Build and Run TornadoVM with IntelliJ IDEA

TornadoVM is an open-source Java technology that is developed to aid Java programmers in adapting their code bases for hardware acceleration. This blog aims to explain how Java programmers can build TornadoVM with IntelliJ IDEA, and how they can run ... The post Build and Run Tor … | Continue reading


@foojay.io | 2 days ago

Hot Class Reload in Java: A Webpack HMR-Like Experience for Java Developers

In the world of software development, time is everything. Every developer knows the frustration of waiting for a full application restart just to see a small change take effect. Java developers, in particular, have long dealt with this issue. But ... The post Hot Class Reload in … | Continue reading


@foojay.io | 3 days ago

Crafting Your Own Railway Display with Java!

Have you fancied to have your own railway display at home? If you love traveling by public transport and always jump on the train just before the door closes like us, it’s really cool and highly efficient to have your ... The post Crafting Your Own Railway Display with Java! appe … | Continue reading


@foojay.io | 4 days ago

Foojay Podcast #61: As a developer, how do we keep our body and mind healthy?

At Devoxx and JFall, we talked with Georgios Diamantopoulos, Lutske de Leeuw, Tom Cools, Jessica Siewert, and Rijo Sam about staying physically and mentally healthy as software developers. There are many topics to handle, like the impact of AI on ... The post Foojay Podcast #61: … | Continue reading


@foojay.io | 4 days ago

Why Java 8 is a Ticking Time Bomb Hiding Within Your Organization

When I spoke to developers at Devoxx in Belgium in October, I was surprised to learn how many of them are maintaining systems that are still running on Java 8 (released in 2014). One of them even still has a ... The post Why Java 8 is a Ticking Time Bomb Hiding Within Your Organi … | Continue reading


@foojay.io | 7 days ago

Summary of the AJAX Frameworks Comparison

In previous weeks, I've analyzed several libraries and frameworks that augment the client with AJAX capabilities. Vue.js Alpine.js HTMX Vaadin In this post, I'll compare them across several axes. Analysis Frontend skills:Remember that I started this series from the point ... The … | Continue reading


@foojay.io | 8 days ago

Spring Boot: Java Template Engine (JTE)

Hello to all Java and Spring enthusiasts. I am the Java Template Engine, a fresh newcomer to the Spring Initializer Ecosystem. I have gained popularity as a template engine for developing user interface applications that use Java syntax within Spring ... The post Spring Boot: Jav … | Continue reading


@foojay.io | 9 days ago

Foojay.io At JFall 2024 (And The Winner Is…)

Last week JFall—the "Biggest Java Conference of the Netherlands"—took place. Foojay.io, the Friends of OpenJDK, were there in full force, including a booth with stickers and other swag, as well as Frank Delporte with his popular Foojay.io Podcast, doing live ... The post Foojay.i … | Continue reading


@foojay.io | 10 days ago

Front End Debugging Part 1: Not just Console Log

Instant Debugging with the debugger Keyword Triggering Debugging from the Console DOM Breakpoints: Monitoring DOM Changes XHR Breakpoints: Uncovering Hidden Network Calls Simulating Environments for Debugging Debugging Layout and Style Issues Final Word As a Java developer, most … | Continue reading


@foojay.io | 17 days ago

Effortless updates requires a zero-migration policy

In today’s production environments, it is not only expected, but critical to keep your technology stack as up to date as possible. Staying current helps to mitigate security risks, while also benefiting from bug fixes, performance improvements, and new features ... The post Effor … | Continue reading


@foojay.io | 17 days ago

Foojay Podcast #60: Proud Of Belgium – Devoxx, JobRunr, Timefold, OpenJDK Mobile, OpenJFX, Thymeleaf, and htmx

Belgium might be tiny, but we have a strong Java Community! As I was doing interviews at Devoxx in October, I met several of these people, and we talked about their projects, how you can get involved in OpenJDK, and ... The post Foojay Podcast #60: Proud Of Belgium – Devoxx, JobR … | Continue reading


@foojay.io | 18 days ago

How we almost missed a plane in Kazakhstan, but OpenJDK could have saved us…

A family vacation as a topic for a Foojay blog post? Really? Yes, because, very unexpectedly, it was influenced by a change in the OpenJDK project... Traveling to Kazakhstan In August, our family vacation brought us to Kazakhstan. An important ... The post How we almost missed a … | Continue reading


@foojay.io | 19 days ago

Exploring New Features in JDK 23: Module Design Pattern with JEP-476

Although the module design pattern can be implemented in many different ways, the main motivation behind using it remains the same. This is the isolation of a specific section into small building blocks, which are the so-called modules. Therefore, the ... The post Exploring New F … | Continue reading


@foojay.io | 22 days ago

Java Tips # 01 –  Writing Shebang Scripts in Pure Java

Did you know you can write a CLI script in Java just as easily as you would in a bash script, and run it directly from the shell? This is commonly called a shebang script, though we are mostly familiar ... The post Java Tips # 01 – Writing Shebang Scripts in Pure Java appeared fi … | Continue reading


@foojay.io | 24 days ago

JavaFX Links of October 2024

Here is the overview of the JavaFX LinksOfTheMonth of October 2024, published on jfx-central.com during this month. With some very nice new content for JFX Central itself, see at end of the list... Did we miss anything? Is there anything ... The post JavaFX Links of October 2024 … | Continue reading


@foojay.io | 25 days ago

The Art of Full Stack Debugging

Full Stack Development, A Shifting Definition The Full Stack Debugging Approach Frontend Debugging: Tools and Techniques It isn't "Just Console.log" The Power of Developer Tools Tackling Code Obfuscation Debugging Across Layers Isolating Issues Across the Stack The Importance of … | Continue reading


@foojay.io | 28 days ago

Learn About How Your Peers Use Java!

Do you ever wonder what OpenJDK distributions and what Java versions your peers are using? Java-based infrastructures and languages? How many are using Java to code AI functionality? How Java workloads are affecting cloud compute costs? Azul has been gathering ... The post Learn … | Continue reading


@foojay.io | 29 days ago

Exploring New Features in JDK 23: Just-Write-And-Run prototyping with JEP-477 not only for beginners

It seems like it's never been easier to start writing a simple program that can be turned into a more advanced one as development progresses. Let’s explore possibilities delivered by JDK 23 release. From the early days, Java may have ... The post Exploring New Features in JDK 23: … | Continue reading


@foojay.io | 1 month ago

Vaadin: Battery-Included Server-Side AJAX Framework

I've written a lot about Vaadin. I was so enthusiastic that I wrote the first book about it (besides the Book of Vaadin), its updated edition for Vaadin 7, and a companion website. Still, I'm amazed that so many people ... The post Vaadin: Battery-Included Server-Side AJAX Framew … | Continue reading


@foojay.io | 1 month ago

Foojay Podcast #59: DevRel Explained and How to Become a Conference Speaker

What do people who have Developer Relations as their job description do? And how do you become a conference speaker? You'll learn in this Foojay podcast! At Devoxx in Belgium, I got to talk to Josh Long, Baruch, Pratik Patel, ... The post Foojay Podcast #59: DevRel Explained and … | Continue reading


@foojay.io | 1 month ago

Book Review: Mastering the Java Virtual Machine

Otávio Santana's "Mastering the Java Virtual Machine" takes readers on an insightful journey through the inner workings of the JVM. As I read this book, I found myself reconnecting with the fundamentals of Java programming while also discovering new depths ... The post Book Revie … | Continue reading


@foojay.io | 1 month ago

Deep dive into bits, bytes, shorts, ints, longs, signed, and unsigned with Java

On the Pi4J discussion list, someone recently asked what the best and easiest way is in Java to convert a byte value. In Java, there is no distinction between signed and unsigned bytes, which can be confusing. My book "Getting ... The post Deep dive into bits, bytes, shorts, ints … | Continue reading


@foojay.io | 1 month ago

Changes Included in Release 24.08 of Azul Zing Builds of OpenJDK

Azul Zing Builds of OpenJDK, the optimized Java runtime within Azul Platform Prime, has reached the release of the 24.08 Stable Release line. Zing builds are available in two versions: As stream builds happen in a fixed schedule, all changes ... The post Changes Included in Relea … | Continue reading


@foojay.io | 1 month ago

Profile IntelliJ IDEA with its own profiler

Other languages: Español 한국어 Português 中文 Just like my previous post, this one is going to be slightly meta. Obviously, you can use IntelliJ IDEA to profile another process, but did you know IntelliJ IDEA can profile itself? This might ... The post Profile IntelliJ IDEA with its … | Continue reading


@foojay.io | 1 month ago

Exploring New Features in JDK 23: Gatherers upgrades pipeline design pattern JEP-461

Source-code flexibility goes hands in hands with maintainability and testability. The Java language benefits not only from its maturity but also from the fact that it is one of a strongly typed language. This may initiate possible discussion topics, as ... The post Exploring New … | Continue reading


@foojay.io | 1 month ago

Augmenting the client with HTMX

This article is part of a series comparing different ways to implement asynchronous requests on the client to augment the latter. So far, I described the process with Vue.js and Alpine.js. Both are similar from the developers' point of view: ... The post Augmenting the client wit … | Continue reading


@foojay.io | 1 month ago

Augmenting the client with Alpine.js

This article is part of a series comparing different ways to implement asynchronous requests on the client, which is colloquially known as AJAX. I dedicated the previous post to Vue.js; I'll dedicate this one to Alpine.js - not to be ... The post Augmenting the client with Alpine … | Continue reading


@foojay.io | 1 month ago

Augmenting the client with Vue.js

In my previous article, I laid the ground to build upon; now is the time to start "for real". I heard a lot of Vue.js. Additionally, a friend who transitioned from developer to manager told me good things about Vue, ... The post Augmenting the client with Vue.js appeared first on … | Continue reading


@foojay.io | 1 month ago

Exploring New Features in JDK 23: Builder Pattern Simplicity with JEP-455 Primitive Types in Patterns, instanceof, and switch (Preview)

The runtime initiation of any program requires allocating a given memory and after many additional steps the first object could be created. In a previous post, we explored how to improve maintainability of complex creation processes by using the factory ... The post Exploring New … | Continue reading


@foojay.io | 1 month ago

Unleashing the Power of Git Bisect

The Essence of Debugging with Git Setting the Stage for Debugging Initiating Bisect Mode Marking the Known Good Revision Marking the Known Bad Revision Bisecting to Find the Culprit Expected Output Reset and Analysis Advanced Usage and Tips Script Automation ... The post Unleashi … | Continue reading


@foojay.io | 1 month ago

Easily containerize Java applications with cloud native buildpacks

The concept of containers has helped to bring Java developers closer than ever to the cloud-native idiom of 'write once, run anywhere.' Effectively and efficiently containerizing your Java application can be much more of a challenge than you might originally ... The post Easily c … | Continue reading


@foojay.io | 1 month ago

FEPCOS-J: Implementing a Java Server and a Rust Client without Manual Network Programming

FEPCOS-J allows declaratively implementing a Java server and generating its profile, which, for example, can be used to generate the networking code of a Rust client. Introduction As I have shown in a previous post [1] and a video [2], ... The post FEPCOS-J: Implementing a Java S … | Continue reading


@foojay.io | 1 month ago

Exploring New Features in JDK 23: Null object pattern to avoid null pointer exception with JEP-455

The newest release JDK 23 [2] comes with a neat extension to pattern matching for switch and instanceof statements, JEP-455: Primitive Types in Patterns, instanceof and switch [1]. While the introduction of pattern matching can be considered a crucial element ... The post Explori … | Continue reading


@foojay.io | 1 month ago

Gear Up for NODES 2024: What to Know

NODES is a free, virtual conference run by Neo4j for developers, data scientists, and other technical roles who want to learn more about graph databases and how they can be used to solve complex problems. Join us online November 7! ... The post Gear Up for NODES 2024: What to Kno … | Continue reading


@foojay.io | 1 month ago

SQL Best Practices Every Java Engineer Must Know

In the world of software development, SQL optimization is a critical skill that every Java engineer must master. Efficient database interactions can significantly enhance the performance of your applications, leading to faster response times and a better user experience. This ... … | Continue reading


@foojay.io | 1 month ago

JavaFX Links of September 2024

Here is the overview of the JavaFX LinksOfTheMonth of September 2024, published on jfx-central.com during this month. Did we miss anything? Is there anything you want to have included in one of the next overviews? Let us know via links@jfx-central.com. ... The post JavaFX Links o … | Continue reading


@foojay.io | 1 month ago

Foojay Podcast #58: How Java Developers Can Secure Their Code

Three years after Log4Shell caused a significant security issue, we still struggle with insecure dependencies and injection problems. In this podcast, we'll discuss how developers can secure their code. I talked with three authors who posted a security and code ... The post Fooja … | Continue reading


@foojay.io | 1 month ago

Azul Brings Java from Edge to Cloud

In Part 1 of this series, “A Fresh Look at Embedded Java,” we explored the use of Java for embedded use cases. Azul and its Zulu Build of OpenJDK (Zulu) are the ideal partners in this part of the software ... The post Azul Brings Java from Edge to Cloud appeared first on foojay. | Continue reading


@foojay.io | 1 month ago

Exploring New Features in JDK 23: Factory Pattern with Flexible Constructor Bodies with JEP-482

Since the introduction of the new JDK release cadence, we have seen an incredible amount of new enhancements added to each JDK cycle, kicking the Java platform back on track compared to other languages. Source code maintainability plays a very ... The post Exploring New Features … | Continue reading


@foojay.io | 1 month ago

Run true-to-production tests on your MicroProfile and Jakarta EE applications

As supported by the 12 factor and 15 factor app methodologies, in application development, we've come to realize just how important it is to test our applications in a true-to-production environment before releasing them to consumers. This helps us to ... The post Run true-to-pro … | Continue reading


@foojay.io | 1 month ago

Server-Side Rendering with Spring Boot

Understanding the shared steps in the project setup is crucial before delving into the specifics of each client-augmenting technology. My requirements from the last post where quite straightforward: I'll assume the viewpoint of a backend developer No front-end build step: ... The … | Continue reading


@foojay.io | 2 months ago

A Short History of AJAX and SSR

My journey in programming began over two decades ago, a time when JavaScript was a far cry from its current state, and developers were primarily focused on Microsoft Internet Explorer. One of my proudest achievements back then was writing a ... The post A Short History of AJAX an … | Continue reading


@foojay.io | 2 months ago

TestPostForSorting

Testtsteset The post TestPostForSorting appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

TornadoVM for RISC-V Accelerators

Is Java ready for running on RISC-V accelerators? If so, how? This post shows a possible way by using open source solutions integrating TornadoVM with the oneAPI Construction Kit. The post TornadoVM for RISC-V Accelerators appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

The Persistent Threat: Why Major Vulnerabilities Like Log4Shell and Spring4Shell Remain Significant

This article was originally published at Snyk.io As developers, we're constantly juggling features, fixes, and deadlines. Yet, a lurking issue has been surprisingly overlooked: the continued use of vulnerable Log4j and Spring Framework versions in many projects. Despite the high- … | Continue reading


@foojay.io | 2 months ago

Java 23 Has Arrived, And It Brings a Truckload of Changes

Java 23 has arrived! It's been six months since Java 22 was released, so it's time for a fresh truckload of JEPs. In this article, we take you on a tour of everything that is part of this release, giving ... The post Java 23 Has Arrived, And It Brings a Truckload of Changes appea … | Continue reading


@foojay.io | 2 months ago

Foojay Podcast #57: Welcome to OpenJDK (Java) 23

OpenJDK (Java) 23 is (almost) here! OpenJDK 23 introduces three new features to the language and runtime and many bug fixes, small improvements, and a longer list of preview features. What are the most important facts about this release? Let's ... The post Foojay Podcast #57: Wel … | Continue reading


@foojay.io | 2 months ago