The aim of the article is to introduce my newly published book "Practical Design Pattern for Java Developers". The post 42 Practical Java Design Patterns: Builder and More appeared first on foojay. | Continue reading
Let's learn all about software composition analysis, how they work and why it is important for developers to get started as soon as possible! The post SBOMs and Software Composition Analysis appeared first on foojay. | Continue reading
Learn how to successfully create an orchestrated microservices system with Docker Compose! The post Journeys in Java, Level 9: Docker compose all the things appeared first on foojay. | Continue reading
Sometimes there are JavaFX apps that I would also like to use on my iPhone but I wrote them for the desktop and it's always the question how to do that? The post Porting an Existing JavaFX App to iOS appeared first on foojay. | Continue reading
Keeping your Java environment stable requires discerning which updates to install and then installing them appropriately. The post Should You Update Java or Upgrade and Which Version Should You Use? appeared first on foojay. | Continue reading
Transitioning from synchronous to event-driven APIs modernizes the enterprise and unlocks real-time events and information. The post The Evolution of APIs: From RESTful to Event-Driven appeared first on foojay. | Continue reading
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. The post Is There a Best OS to Develop a Java Application on? appeared first on foojay. | Continue reading
RIFE2 v1.3.0 has experimental support for GraalVM Ahead-Of-Time compilation with native-image, reducing the startup time of the bootstrap project from 177ms to an incredible 3ms. The post Web App Startup in 3ms with RIFE2 and GraalVM appeared first on foojay. | Continue reading
The Scoped Values API allows us to store and share immutable data for a bounded lifetime and only the thread that wrote the data can read it. The post An Introduction to Scoped Values in Java appeared first on foojay. | Continue reading
Java sealed classes are a powerful feature that can help you create more robust and maintainable code by restricting the inheritance hierarchy of your classes and interfaces. The post Java Sealed Classes in Action: Building Robust and Secure Applications appeared first on foojay. | Continue reading
Let's talk about debugging and observability. We work with debugging all the time, but how well do we know this common practice? The post Foojay Podcast #14: Debugging Tools and Skills for Fun and Profit appeared first on foojay. | Continue reading
16 missing features in the VS code debugger that are available in IntelliJ. Are they worth switching your main IDE? Detailed lists and videos! The post What are you Missing by Debugging in VS Code? appeared first on foojay. | Continue reading
Learn why Jakarta Faces is a great choice especially as a Java developer when you need a UI framework for your application! The post A Quick Look At Faces (JSF) 4.0 In Jakarta EE 10 appeared first on foojay. | Continue reading
A new Y2K-bug seems to be approaching and we still have time to prevent it! Or you can already schedule a long holiday for the year 2038... The post Still Time to Schedule Your Holiday for 2038 appeared first on foojay. | Continue reading
TornadoVM 0.15 introduced changes at the API level with the aim of making the exposed operations more comprehensive to the programmers. The post Migrating Applications to TornadoVM v0.15 (Part 1) appeared first on foojay. | Continue reading
How to use Behaviour Driven Development to establish the requirements from users, and Event Driven Architecture to automate testing! The post How Behaviour Driven Development Works Well with Event Driven Architectures appeared first on foojay. | Continue reading
Software bill of materials, anyone? A year ago, developers had not heard of the 'SBOM' acronym... and now SBOM visualiser called BOM Doctor. The post SBOMs: First Steps in a New Journey for Developers appeared first on foojay. | Continue reading
Following on from FOSDEM discussions, let's expand on the problem of nullability and how it's solved in Kotlin and Java. The post Null Safety: Kotlin vs. Java appeared first on foojay. | Continue reading
The Hazelcast Serverless means that Hazelcast manages the 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 provid … | Continue reading
In this article, we're going to take a look at the Package Checker plugin, that's bundled with IntelliJ IDEA Ultimate! The post Package Checker: Find & Fix Vulnerabilities with IntelliJ IDEA Ultimate appeared first on foojay. | Continue reading
API Gateways are critical components in one's infrastructure. Here we list a couple of ways to secure your Apache APISIX admin access. The post Securing Admin Access to Apache APISIX appeared first on foojay. | Continue reading
Debugging over the network using JDWP isn't hard. However, there are risks that aren't immediately intuitive and some subtle solutions! The post Remote Debugging Dangers and Pitfalls appeared first on foojay. | Continue reading
Convert an existing MongoDB-connected service to use Spring Cloud Config for accessing database credentials, as with a Neo4j microservice. The post Journeys in Java, Level 8: Add MongoDB to Spring Cloud Config appeared first on foojay. | Continue reading
This is the first of a series on how Gradle works! For example, how does Gradle start up and how many JVMs are involved in a Gradle build? The post How Gradle Works: Startup appeared first on foojay. | Continue reading
Did you ever wonder whether JFR timestamps use the same time source as System.nanoTime? Come down the rabbit hole with me! The post JFR Timestamps and System.nanoTime appeared first on foojay. | Continue reading
How is a high-performance, low-latency Java application affected by the JVM version used? Find out more on Foojay! The post Which is the Fastest JVM: OpenJDK or GraalVM? appeared first on foojay. | Continue reading
Benefiting from a decade of work that went into original RIFE, the new RIFE2 provides an opinionated full stack web framework in a 2MB JAR. The post Getting Started with RIFE2 Java Web Framework v1.0.0 appeared first on foojay. | Continue reading
I’m happy to share Hazelcast will be kicking off 2023 by hosting #RTSPUnconf to connect with community members and industry experts on the Future of Real-Time Stream Processing. The post Announcing Real-time Stream Processing Unconference appeared first on foojay. | Continue reading
"What if Simon Ritter's Friends of OpenJDK keynote session at FOSDEM entitled 'After Nearly 30 Years, How Is Java So Popular?' ends up being held... in an empty room?" The post Foojay.io at FOSDEM 2023 Trip Report appeared first on foojay. | Continue reading
Last month we were in Dubai... and now we are on the other side of the world in the US to meet the people behind the Denver and Boulder JUG. The post Foojay Podcast #13: Denver and Boulder JUG appeared first on foojay. | Continue reading
Ever wondered how to use Firefox Profiler to view your own profiling data? This article gives you the foundations! The post Using Firefox Profiler Beyond the Web appeared first on foojay. | Continue reading
Allocation Pacing (AP) is a technique within the JVM of Azul Zulu Prime builds of OpenJDK to prevent long memory allocation delays. The post Explained: Memory Allocation Pacing in Azul Zulu Prime builds of OpenJDK appeared first on foojay. | Continue reading
Check out this overview of the functionality of the Garbage Collector and the things a developer should know. The post What Should I Know About Garbage Collection as a Java Developer? appeared first on foojay. | Continue reading
It isn't just about memory leaks. Understanding how RAM is used and its content provides insight into the app you can't get in any other way! The post Memory Debugging – a Deep Level of Insight appeared first on foojay. | Continue reading
Track thread race conditions, figure out deadlocks, and understand the flow of asynchronous applications (even in custom code) using the debugger. The post Debugging Threads and Asynchronous Code appeared first on foojay. | Continue reading
Ever wanted to profile your application directly from your IDE? Here comes the Java JFR Profiler plugin, an open-source plugin for IntelliJ! The post Firefox Profiler Beyond the Web appeared first on foojay. | Continue reading
An initial goal of Java was to “write once, run anywhere”, but does that mean we should not be sympathetic to the hardware? The post Why Core-to-Core Latency Matters appeared first on foojay. | Continue reading
CRaC is an OpenJDK project developed by Azul to solve the problem of "slow" startup times of the JVM in a microservice environment. The post How to Run a Java Application with CRaC in a Docker Container appeared first on foojay. | Continue reading
Learn how to stream data from Apache Pulsar into Hazelcast, where you learn how to process data in real time. The post Real-time Stream Processing with Hazelcast and StreamNative appeared first on foojay. | Continue reading
Following from the first part in this series, here is the next, from speakers who will be in the Foojay room at FOSDEM, Sunday, 5 February. The post More Foojay.io FOSDEM Speaker Predictions for 2023 appeared first on foojay. | Continue reading
Learn how to set up a service that hosts the Spring Cloud Config server and wire our Neo4j microservice as the config client service. The post Journeys in Java, Level 7: Externalize Microservice Configuration appeared first on foojay. | Continue reading
2023 has taken of with a flying start! Here is a summary of the Links Of The Week that were published in January on jfx-central.com. The post JavaFX Links of January 2023 appeared first on foojay. | Continue reading
SOAP's biggest flaw was its complexity and its focus on big companies, but it at least provided a shared set of standard specifications. The post Quest for REST appeared first on foojay. | Continue reading
Explore how solid-state drives (SSDs), the default storage medium for on-disk data, use garbage collection. The post How Java Litters Beyond the Heap: Part 3, Solid-State Drives appeared first on foojay. | Continue reading
An introduction into GetStackTrace, AsyncGetCallTrace, and the history and specification of AsyncGetStackTrace. The post AsyncGetStackTrace: A better Stack Trace API for the JVM appeared first on foojay. | Continue reading
In this article, you learn about the Modular Monolithic architecture and how you can create it using the Spring Framework and Gradle. The post Modular Monolithic in Practice appeared first on foojay. | Continue reading
…The Fewer the Words, the Greater the Profit.” And more wisdom and insight from Peter Lawrey, covering a range of development approaches. The post “The More You Say, the Less People Remember… appeared first on foojay. | Continue reading
Java bytecode can be updated and controlled for many reasons, such as adding new features, instrumenting code for performance monitoring. The post Java Bytecode Simplified: Journey to the Wonderland (Part 3) appeared first on foojay. | Continue reading