Custom JFR Events: A Short Introduction

Find out how JFR allows you to implement your events to record custom information directly in your profiling file. The post Custom JFR Events: A Short Introduction appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Java for desktop applications: Tips and Tricks (Part 1)

Improve your desktop applications with easy-to-apply tips! The post Java for desktop applications: Tips and Tricks (Part 1) appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Video: “If I decide to stay with Oracle Java what issues will I face?”

Simon Ritter and Gerrit Grunwald answer a question that they hear repeatedly: “If I decide to stay with Oracle Java (rather than migrate to an OpenJDK distribution) what issues will I face?" The post Video: “If I decide to stay with Oracle Java what issues will I face?” appeared … | Continue reading


@foojay.io | 5 months ago

Feedback from calling Rust from Python

Improving low-level integration with ctypes to the generic ready-to-use pyo3 library. The post Feedback from calling Rust from Python appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Announcing the Build Server for Gradle Open-Source Repository

We are excited to announce our decision to officially open-source the Build Server for Gradle project! The post Announcing the Build Server for Gradle Open-Source Repository appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Explore project structure with IntelliJ IDEA’s Dependency Matrix

In this tutorial, we'll look at exploring project structure with IntelliJ IDEA's Dependency Matrix. When working with large, complex software projects, we need to understand the dependencies between components in your projects. IntelliJ IDEA has a feature called Dependency Struct … | Continue reading


@foojay.io | 5 months ago

Foojay Podcast #33: J-Fall Report, Part 1

This is part 1, and we talk about J-Fall, of course. Plus, much more, with Brian Vermeer, Pratik Patel, and many more! The post Foojay Podcast #33: J-Fall Report, Part 1 appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Unexpected Things That Make You a Senior Developer

In the end, it’s essential to keep in mind that people will mostly remember how you reacted to a disaster. The post Unexpected Things That Make You a Senior Developer appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Preserving Software Continuity: Empowering Failover Strategies for Uninterrupted Operations

Let’s examine the world of failover strategies and explore how they safeguard software continuity. The post Preserving Software Continuity: Empowering Failover Strategies for Uninterrupted Operations appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Live (re)compile, (re)load, (re)execute Java code in 100 LoC

In this article, we'll write a program (The Reloader) to easily play with Java code without the need to know how to compile or run the code or print the result. The post Live (re)compile, (re)load, (re)execute Java code in 100 LoC appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Loom is just HyperThreading in Java

I had an epiphany: Aren't virtual threads with Loom just a version of HyperThreading on the JVM? The post Loom is just HyperThreading in Java appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Digma, Apache APISIX, and OpenValue Sponsor Foojay.io at JFall 2023

Last week's JFall 2023 was a high point in the evolution of Foojay.io, the place for friends of OpenJDK. The post Digma, Apache APISIX, and OpenValue Sponsor Foojay.io at JFall 2023 appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Payara Platform Surpasses 150,000 Monthly Users, Achieving Global Adoption Milestone

Jakarta EE application server Payara Platform reaches 150,000 monthly users, a key global milestone! The post Payara Platform Surpasses 150,000 Monthly Users, Achieving Global Adoption Milestone appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Creating an OpenAPI Generator from Scratch: From YAML to JetBrains HTTP Client

In this article, I'll be implementing an openapi generator from scratch so you can too! We'll be creating a very simple generator for the Jetbrains HTTP Client. The post Creating an OpenAPI Generator from Scratch: From YAML to JetBrains HTTP Client appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Integrate executable Java code in your blog posts

Thanks to JDoodle you can now also add executable code to your Foojay content! The post Integrate executable Java code in your blog posts appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

How to find dead code in your Java services

There’s an interesting relation between the problem of finding dead code and another widespread practice: measuring code coverage for tests. The post How to find dead code in your Java services appeared first on foojay. | Continue reading


@foojay.io | 5 months ago

Foojay Podcast #32: Philippines JUG

Once a month we talk about the history of a JUG and the people behind it. Today we travel to the Philippines. Let's talk about the history and future of the Java community in the Philippines! The post Foojay Podcast #32: Philippines JUG appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

Generative AI and Java – hype or urgent reality?

It’s hard to grasp that it’s been about a year since Chat GPT and other generative AI tools burst onto the scene. We’re all still grappling with, well, everything about them. Whatever equilibrium we eventually find, it’s clear that the ... The post Generative AI and Java – hype o … | Continue reading


@foojay.io | 6 months ago

Python “magic” methods – part 2

Let's continue our exploration of Python's magic methods in this second part of the series. The post Python “magic” methods – part 2 appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

Python “magic” methods – part 1

Java was the first language I used professionally and is the scale by which I measure other languages I learned afterward. Hence, Python feels a bit weird because of its dynamic typing approach. The post Python “magic” methods – part 1 appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

Putting JFR into Context

Have you ever wanted to bring your JFR events into context? Adding information on sessions, user IDs, and more can improve your ability to make sense of all the events in your profile. The post Putting JFR into Context appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

GlassFish Embedded – a simple way to run Jakarta EE apps

Jan Blavins shares how builds both server component and a client component in his project using the GlassFish Embedded container with little effort. The post GlassFish Embedded – a simple way to run Jakarta EE apps appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

Controlling JIT Compiler Overhead to Avoid CPU Autoscaling

Using the latest features available in Azul Platform Prime, we explore advanced methods for shaping CPU utilization. The post Controlling JIT Compiler Overhead to Avoid CPU Autoscaling appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

JavaFX Links of October 2023

Have fun with this overview of the "JavaFX LinksOfTheWeek" that got published on jfx-central.com during October. The post JavaFX Links of October 2023 appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

Everything Bad in Java is Good for You

I love the premise of disrupting the conventional narrative and was reminded of that constantly when debating some of the more controversial features and problems in Java. It’s a feature, not a bug… The post Everything Bad in Java is Good for You appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

Elevating Java Development in Visual Studio Code: Experience the New Build Server for Gradle

Microsoft and Gradle Enterprise have joined forces to explore a novel approach to Gradle project import and building, based on the Build Server Protocol (BSP). The post Elevating Java Development in Visual Studio Code: Experience the New Build Server for Gradle appeared first on … | Continue reading


@foojay.io | 6 months ago

Patterns For The Design Of Microservices – Part 2

Design patterns plays a pivotal role in designing and solving the commonly occurring problems in software application. The post Patterns For The Design Of Microservices – Part 2 appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

Book review: “Persistence Best Practices for Java Applications”

I can heartily recommend this book, it offers a lot of valuable insights into persistence in Cloud computing, the involved technologies, and technical and architectural considerations by two developers with years of experience. The post Book review: “Persistence Best Practices fo … | Continue reading


@foojay.io | 6 months ago

JDWP, onthrow and a mysterious error

Collaborating with other people from different companies in an Open-Source project is great. The post JDWP, onthrow and a mysterious error appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

Navigating Behaviour with Events

The practices of Event-Driven Architecture and Behaviour-Driven Development have more in common than may at first be apparent. The post Navigating Behaviour with Events appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

Java 21 – JEP 445 – Unnamed Classes and Instance Main Methods

The goal of JEP 445 is to make it easier to get started with Java, as it’s all about reducing the number of keywords when you write, for instance, your very first HelloWorld Java code. The post Java 21 – JEP 445 – Unnamed Classes and Instance Main Methods appeared first on foojay … | Continue reading


@foojay.io | 6 months ago

Payara Makes a Splash at Devoxx Belgium 2023

As representatives of Payara, a sponsor of the conference, we had the privilege of attending this year's gathering, which took place at the iconic Kinepolis Antwerpen Cinema. The post Payara Makes a Splash at Devoxx Belgium 2023 appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

Resizing images on-the-fly

How to use Apache APISIX with imgproxy to reduce the storage cost of images in multiple resolutions. The post Resizing images on-the-fly appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

Start using Java 21 in your apps on Open Liberty 23.0.0.10

Java 21 is finally here! Java 21 is the first long-term support (LTS) release since Java 17 was released two years ago. And you can try it all out now on Open Liberty 23.0.0.10. The post Start using Java 21 in your apps on Open Liberty 23.0.0.10 appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

Book review: “Developing Apps with GPT-4 and ChatGPT”

Thorough, practical examples using a new & rapidly evolving tool. Pro or contra, it's a very worthwhile read. The post Book review: “Developing Apps with GPT-4 and ChatGPT” appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

Domain-Deadline-Dog-Driven Development

Many Something-Driven Developments are available nowadays! Which are your favorites and are you going to introduce to your company or team? The post Domain-Deadline-Dog-Driven Development appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

Not a Single Trace

Observability is an orchestra, not a single instrument. By combining multiple data points we form an accurate production narrative. The post Not a Single Trace appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

Beyond Pass/Fail- a Modern Approach to Java Integration Testing

Tests can run limited sets of assertions on your code, or reveal important insights about how your application really works! The post Beyond Pass/Fail- a Modern Approach to Java Integration Testing appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

New: JDKMonitor

A widget on your MacOS desktop that shows the days until the next release/update of OpenJDK, and more. The post New: JDKMonitor appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

The Files in JDK 21

As Java developers, we all have it installed on our computer: the Java Development Kit, also known as the JDK. In this article, we'll explore the files of the JDK. The post The Files in JDK 21 appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

Level-up your Java Debugging Skills with on-demand Debugging

Learn about onthrow and onjcmd and more that can improve the performance of on-demand debugging, as this allows us to trigger the start of the debugging session from outside the debugger. The post Level-up your Java Debugging Skills with on-demand Debugging appeared first on fooj … | Continue reading


@foojay.io | 6 months ago

Foojay Podcast #31: Report of Devoxx ’23 in Belgium

The first week of October, the 20th edition of Devoxx took place in Antwerp, Belgium. I got the opportunity to walk around with a microphone and talk to visitors and speakers! The post Foojay Podcast #31: Report of Devoxx ’23 in Belgium appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

Book review: “Get Your Hands Dirty on Clean Architecture – Second Edition”

A magnificent job of walking through a lot the different architectural considerations one has to make to develop maintainable code. The post Book review: “Get Your Hands Dirty on Clean Architecture – Second Edition” appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

FEPCOS-J (2) – Declaratively compose networked systems in Java

Compose networked systems like building blocks. An example illustrates how a Java developer can do this by using FEPCOS-J. Read more. The post FEPCOS-J (2) – Declaratively compose networked systems in Java appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

State of the Software Supply Chain Report: Key Takeaways for Java Developers

Software Supply Chains and Open Source Maven Central hits 1 Trillion downloads Open source adoption continues to grow, with Java (Maven) being a significant ecosystem. The report indicates that Java projects and their versions have seen substantial growth. a 28% ... The post Stat … | Continue reading


@foojay.io | 6 months ago

Send Your Logs To Loki

Loki, a storage engine, provides a RESTful API to store and read logs. Let's push a log from a Java app. The post Send Your Logs To Loki appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

Changes Included in the Stable release 23.08 of Azul Zulu Prime Builds of OpenJDK

The new Stable Azul Zulu Prime Build of OpenJDK brings many improvements and fixes to bring a more performant and secure runtime to your environment. The post Changes Included in the Stable release 23.08 of Azul Zulu Prime Builds of OpenJDK appeared first on foojay. | Continue reading


@foojay.io | 6 months ago

How to Diagnose and Mitigate Pinning in Java’s Virtual Thread Execution

In the context of virtual threads, pinning refers to the condition where a virtual thread is "stuck" to its carrier thread (the platform thread on which it runs). The post How to Diagnose and Mitigate Pinning in Java’s Virtual Thread Execution appeared first on foojay. | Continue reading


@foojay.io | 6 months ago