Quantcast
Channel: Java Archives - Java Code Geeks
Browsing all 772 articles
Browse latest View live

Nested Loops To Stream Conversion Example

Java developers frequently use nested loops to iterate over collections, but as the complexity increases, it becomes harder to read and maintain. Java Streams API provides a declarative approach that...

View Article


Apache Camel vs Apache Kafka: Understanding the Differences

Apache Camel and Apache Kafka are two prominent technologies that serve distinct purposes in the realm of distributed systems and integration. While both are utilized to handle messaging and data flow,...

View Article


Chaos Engineering for Java: Testing Spring Boot Resilience with Gremlin & Litmus

Modern distributed systems must withstand failures—network delays, crashes, and infrastructure outages. Chaos Engineering proactively tests system resilience by injecting controlled failures in...

View Article

Java Performance Showdown: Arrow, FastUtil, Chronicle

Modern Java applications often handle massive datasets, requiring optimized memory usage, low-latency access, and high throughput. Choosing the right library can dramatically impact performance. In...

View Article

Java Firebase Cloud Functions: Serverless Backend Guide

Firebase Cloud Functions now supports Java 11 runtime, enabling developers to build robust serverless backends using familiar Java tooling. This guide walks through creating, deploying, and optimizing...

View Article


Exploring Labeled Breaks in Java: Efficient or Error-Prone?

Java provides several control flow mechanisms, including the break statement. A regular break is used to exit loops or switch statements prematurely. However, Java also allows the use of labeled...

View Article

WireMock with Spring Boot Example

1. Introduction WireMock is a powerful HTTP mock server that stubs and verifies HTTP requests. It provides a controlled test environment, ensuring integration tests are fast, repeatable, and...

View Article

How to Open Multiple Projects in the Same Window in IntelliJ IDEA

Working with multiple projects simultaneously is a common need for developers, especially when dealing with microservices, modular architectures, or related repositories. IntelliJ IDEA makes it...

View Article


ZGC vs Shenandoah: Ultra-Low Latency GC for Java

In the world of high-performance computing—where microseconds matter—Java has often been scrutinized for its garbage collection (GC) pauses. Traditional GCs like G1 and Parallel GC introduce...

View Article


Send and Receive Serialized Objects via Java SocketChannel

Networking is crucial in modern applications, and Java offers powerful tools like SocketChannel for efficient networked systems. Using Java NIO’s non-blocking I/O, SocketChannel enables fast TCP/IP...

View Article

OpenTelemetry with Spring Boot: Modern Distributed Tracing

In modern microservices architectures, tracking requests as they flow across service boundaries is critical for debugging performance bottlenecks, diagnosing failures, and maintaining system...

View Article

GraalVM AOT: Is This Finally the End of JVM Warmup?

The Java Virtual Machine has always been a study in contrasts. On one hand, it delivers remarkable peak performance thanks to decades of JIT compiler optimizations. On the other, every Java developer...

View Article

Mocking Serverless & gRPC: When Mockito Isn’t Enough

Modern distributed systems combine serverless functions and gRPC microservices, creating new testing challenges that traditional mocking tools can’t handle. Let’s explore robust solutions for these...

View Article


Java Stream vs. Flux.fromIterable()

In Java, both Stream and Flux.fromIterable() allow us to process sequences of data in a functional style. However, they are different in design and behaviour, especially regarding synchronous vs....

View Article

Sub-10ms Startup: Quarkus vs. Spring Native – The Race to Instant Java

In today’s cloud-native world, startup time is the new throughput. Serverless computing, Kubernetes scaling, and edge deployments demand applications that launch in milliseconds, not seconds....

View Article


cURL Request to HTTP Request Conversion Example

1. Introduction The Client URL (cURL) is a tool for transferring data from or to a server using URLs. It supports many protocols including HTTP. It is perfect for testing APIs manually or in shell...

View Article

Managing Secret Rotation in Java Microservices with HashiCorp Vault and...

In modern cloud-native applications, secrets like database passwords, API keys, and TLS certificates are everywhere. Yet, manually rotating these credentials is error-prone, time-consuming, and risky....

View Article


Mockito vs. Mocking the JVM: Bytecode Manipulation for Ultimate Test Control

Mockito is the go-to mocking framework for Java developers, but it has limits—it can’t mock final classes, static methods, or native calls. When you need to test legacy code or tightly coupled systems,...

View Article

Mocking JDBC Components in Unit Tests with Mockito

Unit testing JDBC-based code can be challenging due to its reliance on live database interactions. Using Mockito, we can mock java.sql components such as DataSource, Connection, and ResultSet to test...

View Article

The Forbidden Maven Cache: How to Break CI in 10 Ways

The .m2 cache is Maven’s silent guardian—until it turns into your worst enemy. A corrupted cache can derail builds, waste hours of debugging, and even break CI pipelines in spectacular ways. Here’s how...

View Article
Browsing all 772 articles
Browse latest View live