The Critical Role Streaming Plays in a Data Stack

Why Apache Pulsar and its support for streaming data is the right choice for multi-datacenter, geo-distributed deployments. | Continue reading


@foojay.io | 2 years ago

System Logger

Almost all Java developers are familiar with logging frameworks like Log4j, but not the System.Logger that has been available since java 9. | Continue reading


@foojay.io | 2 years ago

Foojay at FOSDEM 2022 on YouTube

Last weekend, FOSDEM 2022 was held, with the friends of OpenJDK putting together an awesome program on the tools and editors around OpenJDK. | Continue reading


@foojay.io | 2 years ago

Journeys in Java, Level 2: Building an Empire of Microservices

Let's dive into the world of microservices find out the complexities, best practices, and troubles. I will share all my learnings, as well! | Continue reading


@foojay.io | 2 years ago

Playing practically with Stream API

Let’s learn java stream API with a few practical examples. | Continue reading


@foojay.io | 2 years ago

Cassandra Database Migration to Kubernetes with Zero Downtime

foojay is the place for all OpenJDK Update Release Information. Learn More. | Continue reading


@foojay.io | 2 years ago

Building Reactive Java Applications with Spring Framework

Pretty much all Java developers are familiar with Spring Pet Clinic. Let's get to know the reactive implementation of it. | Continue reading


@foojay.io | 2 years ago

Introducing 140 Second Ducklings: What is Debugging?

I’m launching a new Twitter video series that will focus on teaching the concepts of debugging (and other concepts) in small video bites | Continue reading


@foojay.io | 2 years ago

Backpressure in Reactive Systems

Considering a fast data producer and a slow data consumer, backpressure "pushes back" on the producer, not to be overwhelmed by data. | Continue reading


@foojay.io | 2 years ago

Full Stream Ahead: Astra Streaming, Powered by Apache Pulsar

foojay is the place for all OpenJDK Update Release Information. Learn More. | Continue reading


@foojay.io | 2 years ago

Debugging RAM: Detect/Fix Memory Leaks in Managed Languages – Heap Deep Dive (Part 2)

Java and JavaScript are garbage collected languages. But memory leaks can still plague them. How to avoid, detect, and fix heap problems? | Continue reading


@foojay.io | 2 years ago

Building Scalable Streaming Applications with DataStax Astra Streaming

DataStax Astra Streaming with a step-by-step tutorial that illustrates how it can be used to easily build scalable, streaming applications. | Continue reading


@foojay.io | 2 years ago

SQL vs. NoSQL: Pros & Cons

What’s the best way to store, protect and access your data? This is a fundamental, yet critical decision. Find out more on Foojay.io Today! | Continue reading


@foojay.io | 2 years ago

Java Thread Programming (Part 13)

What is the maximum number of worker threads we can put in a ThreadPool? Let's find out today on Foojay's amazing Java threading series! | Continue reading


@foojay.io | 2 years ago

Installing Java with SDKMAN on Raspberry Pi

Java on Raspberry Pi has always been possible, but SDKMAN makes the getting-started process a lot easier. It's as easy as pi... | Continue reading


@foojay.io | 2 years ago

Deploying to Multiple Kubernetes Clusters with the K8ssandra Operator

Let’s learn about the new K8ssandra Operator that simplifies deploying multiple Apache Cassandra data centers in different regions | Continue reading


@foojay.io | 2 years ago

GoF Design Patterns Using Java – Part 02

Let's continue learning design patterns by implementing the Adapter, Facade, Template, Iterator, and State patterns using Java. | Continue reading


@foojay.io | 2 years ago

Video: SDKMAN Explained

One of the highlights of the Friends of OpenJDK room at FOSDEM 2021 was Marco Vermeulen, the creator of SDKMAN, talking about SDKMAN. | Continue reading


@foojay.io | 2 years ago

Backing up K8ssandra with MinIO

foojay is the place for all OpenJDK Update Release Information. Learn More. | Continue reading


@foojay.io | 2 years ago

Lights, Camera, Action: GitHub Actions with Java (Part 3)

The Java GitHub Actions that rules them all! Third and final instalment of Lights, Camera, Action: GitHub Actions with Java | Continue reading


@foojay.io | 2 years ago

Friends of OpenJDK at FOSDEM with Prizes

A great line up of known and less known OpenJDK users from the Foojay community will be at FOSDEM, with a quiz and awesome prizes to be won. | Continue reading


@foojay.io | 2 years ago

Create a CRUD UI in Pure Java

Many developers struggle with writing a web UI, but it becomes absolute fun if we could do it with pure java; let's find out how. | Continue reading


@foojay.io | 2 years ago

Four Reasons Why Apache Pulsar is Essential to the Modern Data Stack

Messaging has been on DataStax’s radar for several years regarding microservices-based architectures. Let’s learn the top reasons why we should consider Apache Pulsar. | Continue reading


@foojay.io | 2 years ago

Unboxing K8ssandra: The Data Layer For Your Kubernetes-Powered Applications

foojay is the place for all OpenJDK Update Release Information. Learn More. | Continue reading


@foojay.io | 2 years ago

Java Thread Programming (Part 12)

Let's find out what are the ways to create ThreadPool using Executor framework in java and use result-bearing tasks using Callable and Future | Continue reading


@foojay.io | 2 years ago

The Flatten Maven plugin

You don't need to wait until the release of Maven 5; We can use the Maven Flatter Plugin to between build POM and consumer POM. It's a freebie; consider using it if you are a library developer. | Continue reading


@foojay.io | 2 years ago

Journeys in Java, Level 1: Building an Empire of Microservices

Let's dive into the world of microservices find out the complexities, best practices, and troubles. I will share all my learnings, as well! | Continue reading


@foojay.io | 2 years ago

Treat Security as a Risk

Security is the poster child of a Non-Functional Requirement: most people don't care until the proverbial matter hits the rotary propeller. | Continue reading


@foojay.io | 2 years ago

Java on Visual Studio Code Update – January 2022

Since this is our first blog post of the new year, we are going to look back on highlights of 2021 and take a look at our roadmap for 2022. | Continue reading


@foojay.io | 2 years ago

Java Thread Programming (Part 11)

Learn how to ask the executor framework at startup to provision threads for us and they will be reused as long as the application runs. | Continue reading


@foojay.io | 2 years ago

The State of Java in 2022

While more than 26 years old, Java is still one of the top three most popular programming languages. Find out how to find out why and how! | Continue reading


@foojay.io | 2 years ago

Introduction to Maven Toolchains

How to make sure I can build projects projects on Java 8, 11, and 17 without having to constantly switch Java runtimes? | Continue reading


@foojay.io | 2 years ago

Statically Spilling Your (Spring) Beans

There are some edge cases where you want to access Spring Beans in a static method, while you should always try to avoid this. | Continue reading


@foojay.io | 2 years ago

Introducing the GKE Autopilot Cluster

Google's fully managed Kubernetes services, GKE Autopilot, is a completely managed and serverless "Kubernetes as a service" offering. | Continue reading


@foojay.io | 2 years ago

Taking Your Database Beyond a Single Kubernetes Cluster

foojay is the place for all OpenJDK Update Release Information. Learn More. | Continue reading


@foojay.io | 2 years ago

Polyglot Cloud Native Debugging: Beyond APM and Logging

Continuous observability can facilitate a new generation of applications that will change the customer experience and yours. | Continue reading


@foojay.io | 2 years ago

You’re Running Untrusted Code!

I'm afraid the deprecation of the Security Manager just added several lines to that risk, all linked to running untrusted code. | Continue reading


@foojay.io | 2 years ago

Kubernetes and Apache Cassandra: What Works (and What Doesn’t)

Cassandra and K8s are seen as the “most logical pairing”, let’s take a look at how they are a dream team — and why this isn’t always true.    | Continue reading


@foojay.io | 2 years ago

Foojay Status Report: July – December 2021

foojay is the place for all OpenJDK Update Release Information. Learn More. | Continue reading


@foojay.io | 2 years ago

Template to Get Started with Pi4J and JavaFX on Raspberry Pi

How to use the same architecture to implement a JavaFX-based GUI, a PUI attached to a Raspberry Pi, and integrate in a clean, modular way. | Continue reading


@foojay.io | 2 years ago

How to Put a Database in Kubernetes?

Learn the key steps of deploying databases and stateful workloads in Kubernetes and meet the cloud-native technologies! | Continue reading


@foojay.io | 2 years ago

Monitoring Spring Boot Applications (Part 1)

In part 1 of this new Foojay series, learn about JDK Flight Recorder and how we can use it to monitor a Spring Boot application. | Continue reading


@foojay.io | 2 years ago

Hype-Driven Development: Don’t Be a Victim!

Don't be a victim of development trends that are "hot" right now, but might not actually be best for your specific business! | Continue reading


@foojay.io | 2 years ago

Debugging RAM: Java Garbage Collection – Java Heap Deep Dive (Part 1)

Memory usage is one of the most important aspects for devs in general and Java SE devs in particular. GC tips, tricks, internals, and more! | Continue reading


@foojay.io | 2 years ago

A Tentative Comparison of Fault Tolerance Libraries on the JVM

If you're implementing microservices or not, chances are that you're calling HTTP endpoints. With HTTP calls, a lot of things can go wrong. | Continue reading


@foojay.io | 2 years ago

Log4Shell Shows The Need for “Trustworthy Java”

I think the Java community handled this crisis poorly and needs to do much better next time. What do you think? | Continue reading


@foojay.io | 2 years ago

Hashcode and Equals: Debugging and Performance

Standard Java methods hashcode & equals are crucial to performance but this is very hard to detect as they're often too small for profilers. | Continue reading


@foojay.io | 2 years ago

Requirements for Running K8ssandra for Development

Learn how to configure K8ssandra for your development machine, and get ready to start building cloud-native apps. | Continue reading


@foojay.io | 2 years ago