Decoding Success: An Industry Expert’s Guide to Thriving in Software Development and Security

In our conversation with Erik, Senior Director at Azul, we explore the journey from engineering to product management. Erik highlights communication skills, understanding the 'why' and 'what' of a product, and the challenges of prioritization and expectation management. For new p … | Continue reading


@foojay.io | 1 year ago

State of Java Survey

Do you ever wonder what OpenJDK distributions and what Java versions your peers are using? What Java versions? The post State of Java Survey appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Announcing the Digma Beta: First Runtime Linter for Java Code

We are looking for senior Java developers to participate in the beta program of a new free runtime linter that provides Continuous code Feedback. The post Announcing the Digma Beta: First Runtime Linter for Java Code appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Foojay Podcast #23: Java Profiling and Performance

There are challenges with Java profiling, and the need for profiling depends on application complexity and performance requirements. The post Foojay Podcast #23: Java Profiling and Performance appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

FinOps: Tim O’Brien at Walmart

"Java and my experience with the Java community and open source are what brought me to this role, but these days my focus is entirely on Cloud cost, budget, and ideas for efficiency." The post FinOps: Tim O’Brien at Walmart appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Mastering the Art of Controlling the JIT: Unlocking Reproducible Profiler Tests

How to use the WhiteBox API and Compiler Directives to get control of the JIT for better profiling of API tests! The post Mastering the Art of Controlling the JIT: Unlocking Reproducible Profiler Tests appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Rolling Binary Trees: A Guide to Common Design Patterns in Java

In this article, we introduce a linear-time algorithm for rolling binary trees and implement it in Java, by utilizing common design patterns. The post Rolling Binary Trees: A Guide to Common Design Patterns in Java appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Enriching Kafka Applications with Contextual Data

Hazelcast can process real-time and batch data in one platform, making it the right platform to use because it enriches your Kafka applications with "context." The post Enriching Kafka Applications with Contextual Data appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Using Pausers in Event Loops

Techniques that help maximise hardware utilisation, while also reducing power consumption, helping reduce costs to your organisation. The post Using Pausers in Event Loops appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Write Once, Run Embedded in any IDE

Having written many Java GUI applications, I thought it would be cool to run them embedded in IntelliJ IDEA, Eclipse and NetBeans. I didn't want to write 3 plugins per application so I came up with this solution. The post Write Once, Run Embedded in any IDE appeared first on fooj … | Continue reading


@foojay.io | 1 year ago

Reduce Java Application Startup and Warmup Times with CRaC

Today Azul announces the general availability of Azul Zulu Builds of OpenJDK for Java 17 with CRaC support in x86, 64-bit configurations. The post Reduce Java Application Startup and Warmup Times with CRaC appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Announcing “Java Unscripted: An Asynchronous Exploration of Excellence”

Join us for "Java Unscripted," an enlightening interview series spotlighting the wisdom of seasoned Java experts. The post Announcing “Java Unscripted: An Asynchronous Exploration of Excellence” appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Managing Data Residency: Concepts & Theory

Take a look at data residency and design a draft architecture to implement it. In the next article, we will delve into the technical details. The post Managing Data Residency: Concepts & Theory appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Discovering the Secrets to Success: An Exclusive Interview with Java Champion Michael P. Redlich

In a recent interview, Java Champion Michael P. Redlich shared valuable insights on software development. He emphasized continuous learning, open-source contributions, and adapting to new technologies like cloud computing. The interview provides practical advice for developers, h … | Continue reading


@foojay.io | 1 year ago

Logging Best Practices Revisited

As I write this my interview on DevCentral hasn't started yet so if you subscribe to my blog or follow me on socials you might be able to catch it live. If not the recording should appear right here: Either ... The post Logging Best Practices Revisited appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Foojay Podcast #22: When Profession and Fun Overlap

Let's talk to volunteers from different organizations where coding is used to inspire children to become engineers. The post Foojay Podcast #22: When Profession and Fun Overlap appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

A Dissection of Java JDBC to PostgreSQL Connections

When using Java JDBC with PostgreSQL, know the difference between simple and extended protocols, how to recognize protocol implementations, and more. The post A Dissection of Java JDBC to PostgreSQL Connections appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Analyzing Dependencies in IntelliJ IDEA

Use IntelliJ IDEA to analyze dependencies in your project. Use the Dependency Analyzer to find specific dependencies, show conflicts and more, or use the Dependency Diagram in IntelliJ IDEA Ultimate. The post Analyzing Dependencies in IntelliJ IDEA appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Code Interoperability Mode for OpenCL Portability Across Various Programming Languages with TornadoVM

Code Interoperability Mode enables TornadoVM to prototype kernels that run from multiple programming languages. The post Code Interoperability Mode for OpenCL Portability Across Various Programming Languages with TornadoVM appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Tuning Java Applications for Low Latency on Linux

An introduction to some approaches that can be taken when we want to have our applications utilise system resources most effectively. The post Tuning Java Applications for Low Latency on Linux appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Unleashing the Power of Lightweight Concurrency: A Comprehensive Guide to Java Virtual Threads (Part 1)

Java Virtual Threads, also known as lightweight threads, are a new feature in Java's Project Loom that aim to simplify concurrent programming. The post Unleashing the Power of Lightweight Concurrency: A Comprehensive Guide to Java Virtual Threads (Part 1) appeared first on foojay … | Continue reading


@foojay.io | 1 year ago

Unconventional Remote Process Control Without Libraries In Java: Presenting X-Pipe

If the user has already installed the programs to connect to remote systems, why not try to use them from Java instead of libraries? The post Unconventional Remote Process Control Without Libraries In Java: Presenting X-Pipe appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Interview with Paul Kocian aka OrangoMango

Learn about an impressive list of JavaFX and Raspberry Pi projects and beyond worked on by a 16 year old in Italy! The post Interview with Paul Kocian aka OrangoMango appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Spring Boot Debugging with Aspect-Oriented Programming (AOP)

Does your app fail CI tests "sometimes"? Does it display flaky behavior? Did you add many logs trying to solve it? There's a better way: AOP! The post Spring Boot Debugging with Aspect-Oriented Programming (AOP) appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Using Async-Profiler and Jattach Programmatically with AP-Loader

AP-Loader wraps async-profiler and its tools with an API in a cross-platform JAR. This article is about the API. The post Using Async-Profiler and Jattach Programmatically with AP-Loader appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Hidden and Not-So-Hidden Gems In Java 20

Let's see the preview and incubator JEPs in Java 20, as well as many smaller enhancements, bug fixes, and deprecations. The post Hidden and Not-So-Hidden Gems In Java 20 appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Timefold Forks OptaPlanner: Open Source Solver in Java

Timefold continues OptaPlanner, open source project optimizing operational planning, saving thousands of organizations time, money, resources. The post Timefold Forks OptaPlanner: Open Source Solver in Java appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Leverage the Richness of HTTP Status Codes

While many discussions about REST focus on entities and methods, using the correct response status codes can make your API stand out. The post Leverage the Richness of HTTP Status Codes appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Foojay Podcast #21: Brazil SouJava JUG and How to Grow your Developer Career

SouJava, the Brazil JUG, was founded in 1999, is recognized as the world’s largest Java User Group with 40,000 members. The post Foojay Podcast #21: Brazil SouJava JUG and How to Grow your Developer Career appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

JavaFX Links of April 2023

JavaFX Core, Conferences, Scene Builder, Gluon, JFX Central, Almas, Gerrit, Dirk, and much more... JavaFX Links of April 2023! The post JavaFX Links of April 2023 appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

The Basis of Virtual Threads: Continuations

Virtual threads are lightweight implementations of java.lang.Thread, while this article turns the spotlight on the Continuations that are the basis of Virtual threads. The post The Basis of Virtual Threads: Continuations appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Java Developer vs. ChatGPT Part I: Writing a Spring Boot Microservice

Pitting a seasoned Java developer against the all-knowing generative AI to find out... can AI generate a Java microservice end-to-end? The post Java Developer vs. ChatGPT Part I: Writing a Spring Boot Microservice appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Creating Scalable OpenAI GPT Applications in Java

Learn how to integrate the ChatGPT engine into your Java applications in a scalable way by sending prompts to the engine only when necessary. The post Creating Scalable OpenAI GPT Applications in Java appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Comparing Approaches to Durability in Low Latency Messaging Queues

Is replicating data to a secondary system faster than sync-ing to disk? My first time benchmarking with a realistic example. The post Comparing Approaches to Durability in Low Latency Messaging Queues appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

FEPCOS-J (1) – Description, Impressions of Usage, Current State

FEPCOS-J implements a Java-language extension that frees a Java-developer from network programming and supports cross-system concurrency. The post FEPCOS-J (1) – Description, Impressions of Usage, Current State appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Couldn’t We Just Use AsyncGetCallTrace In A Separate Thread?

Using AsyncGetCallTrace from a separate sampler thread is possible and this article tells you why and how! The post Couldn’t We Just Use AsyncGetCallTrace In A Separate Thread? appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Relearning Java Thread Primitives

"Synchronized" was revolutionary and still has great uses. But it's time to move to newer thread primitives and rethink our core logic. The post Relearning Java Thread Primitives appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Foojay Podcast #20: Functional Programming, “The Good, the Bad, and the Ugly”

Functional programming: you either love it or you hate it. But it is a trade-off. So for today, let's focus on the good, the bad, the ugly! The post Foojay Podcast #20: Functional Programming, “The Good, the Bad, and the Ugly” appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Fearless Distroless

Distroless images are a solution to reduce your image size and improve its security, by providing neither a package manager nor a shell. The post Fearless Distroless appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Automatically Creating Microservices Architecture Diagrams

Upload a JAR, search for YAML, create a DOT, convert this to a PNG, all taking place behind the scenes, with just a click of a button. The post Automatically Creating Microservices Architecture Diagrams appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

JUG PH: Java User Group PH Revitalization Report 2023

Event group report for the revitalized meetup of Java User Group PH. A meetup group focusing in Java ecosystem. The post JUG PH: Java User Group PH Revitalization Report 2023 appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Not Your Grandfather’s Logs — A Java Library’s New Approach To Observability

How a Java library is taking a completely new approach to understanding what the code does, and why it makes perfect developer sense. The post Not Your Grandfather’s Logs — A Java Library’s New Approach To Observability appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Foojay Podcast #19: How Working For Free For Fun Brought Me Fame and Fortune – Or At Least Some Of Each – In The End

Many developers spend a lot of their time on side projects. It’s an opportunity to learn new techniques and get involved in communities. But sometimes it can also lead to a new job. The post Foojay Podcast #19: How Working For Free For Fun Brought Me Fame and Fortune – Or At Leas … | Continue reading


@foojay.io | 1 year ago

Boldness in Refactoring!

"Don't touch it, it works" is problematic. It leads us down a bad path. How do you handle a project that held that policy for years? The post Boldness in Refactoring! appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Replacing Postman with the JetBrains HTTP Client

How to use the JetBrains HTTP Client to replace Postman, test third party APIs, share requests and run them in CI all of that within minutes! The post Replacing Postman with the JetBrains HTTP Client appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Chronicle FIX: Much More Than a Quick Fix

Many of our customers have upgraded from QuickFIX/J to Chronicle FIX and this article provides some background as to why. The post Chronicle FIX: Much More Than a Quick Fix appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Getting Started With Jakarta EE 10 – Jakarta REST

In this article, we take a look at how to get started developing RESTful web services on the Jakarta EE Platform using the Jakarta REST API. The post Getting Started With Jakarta EE 10 – Jakarta REST appeared first on foojay. | Continue reading


@foojay.io | 1 year ago

Hidden Beauties of Java Enums

Java enums can contain much more than just a list of definitions, but also data and extended functionality! The post Hidden Beauties of Java Enums appeared first on foojay. | Continue reading


@foojay.io | 1 year ago