Best of JavaMay 2025

  1. 1
    Article
    Avatar of javarevisitedJavarevisited·49w

    🧠 The Concurrency & Multithreading Bible for Engineers

    This comprehensive guide aims to equip engineers with the fundamental concepts of concurrency and multithreading, applicable across various programming languages like Java, C++, Rust, Go, Python, and JavaScript. It introduces nine essential pillars—mutual exclusion, visibility, atomicity, coordination, task management, non-blocking async models, immutability, parallelism, and thread lifecycle—which serve as a framework for building robust and efficient concurrent systems. Derived from extensive research and real-world application, the guide promises to clarify complex concurrency concepts with the use of visuals, code snippets, and cross-language examples.

  2. 2
    Video
    Avatar of codeheadCodeHead·49w

    Wait, Netflix is... Java?!

    Netflix leverages Java for its backend, despite its reputation as outdated or verbose. Java's performance, scalability, and mature ecosystem make it a reliable choice for Netflix's microservices. With tools like Spring Boot, Netflix efficiently manages its vast streaming services. The use of Java demonstrates the company's preference for dependable technology over trends.

  3. 3
    Article
    Avatar of javarevisitedJavarevisited·48w

    Mastering Java Optional: From Boring Null Checks to Elegant Code

    Java Optional is a powerful tool introduced in Java 8 to handle null values in a cleaner and safer way. Instead of cumbersome null checks, Optional provides methods like orElse, map, and flatMap to elegantly manage potential nulls in your code. This approach enhances readability and reduces the risk of NullPointerExceptions, making it easier to maintain and understand your programs.

  4. 4
    Video
    Avatar of fknightForrestKnight·49w

    Netflix is Built on Java

    Netflix heavily relies on Java for its backend operations, utilizing it for both streaming services and studio applications. While front-end technologies vary, the backend is unified under Java, featuring a microservices architecture supported by GraphQL and gRPC. Netflix transitioned from Java 8 to newer versions like JDK17 and JDK23, improving performance with upgraded garbage collection and exploring virtual threads. Their backend involves distributed data stores and global streaming capabilities. The integration of Spring Boot and active collaboration on its development highlights Netflix's substantial influence on the Java ecosystem.

  5. 5
    Article
    Avatar of javarevisitedJavarevisited·49w

    Bringing AI to Java: Why Spring AI is a Game Changer

    Spring AI offers a robust solution for integrating AI models into Java applications, streamlining the process and making it accessible for developers familiar with the Spring framework. It supports multiple AI providers, allowing developers to choose based on their specific needs and budget. The integration minimizes code complexity, enabling seamless switching between AI models and fostering experimentation and innovation within the Java ecosystem. This comprehensive approach empowers Java developers to leverage AI capabilities without the need for separate services or complex integration layers.

  6. 6
    Video
    Avatar of philipplacknerPhilipp Lackner·48w

    1h Spring Boot Logging Crash Course For Beginners (Config, Remote Logs, JSON Logging & More)

    This crash course introduces spring boot logging for beginners, emphasizing its importance in backend development. It covers advanced logging techniques such as configuring logs for different environments, remote logging using Grafana Loki, and implementing JSON formatted logs. The tutorial also includes setting up structured metadata and configuring a uniform log format for easier traceability and debugging.

  7. 7
    Article
    Avatar of colkgirlCode Like A Girl·48w

    Java24 Important Features.

    Java 24 introduces several new Java Enhancement Proposals (JEPs) that enhance language features, core libraries, performance, and security. Notable improvements include flexible constructor bodies, module import declarations, a more efficient stream API, scoped values, and quantum-resistant cryptography. Despite being a short-term release, Java 24 aims to modernize the Java platform by offering useful tools for concurrent programming, better memory management, and enhanced cryptographic security.

  8. 8
    Article
    Avatar of last9Last9·48w

    JVM Metrics: A Complete Guide for Performance Monitoring

    JVM metrics are crucial for Java application performance monitoring, helping detect bottlenecks, diagnose crashes, and guide capacity planning. Key metrics include heap memory usage, garbage collection, thread metrics, and runtime performance indicators. Effective monitoring and using tools like JMX, VisualVM, or APM solutions ensure optimal JVM performance, contributing to better application responsiveness and stability.

  9. 9
    Article
    Avatar of habrhabr·47w

    Designing Profitable Software: Architecture Principles for Business Success

    The post discusses principles for designing profitable software by focusing on business logic, reducing technical challenges, and ensuring easy maintenance, scalability, and testing. It covers the benefits of distributed systems with stateless services and a separation of domain and integration layers for better scalability and reduced refactoring effort. Technology choices favor JVM-based languages like Kotlin for their rich ecosystem and ease of use with microservices, while avoiding scripting languages for production use.

  10. 10
    Article
    Avatar of baeldungBaeldung·48w

    Stream Gatherers in Java

    Java 24 introduces the Gatherer interface, enhancing Java Stream APIs by allowing more flexible intermediate operations. Gatherers facilitate custom data transformations and support asynchronous processing. The article explores built-in Gatherers and demonstrates creating custom Gatherers for diverse input-output mappings, demonstrating how these can be used for one-to-one, one-to-many, many-to-one, and many-to-many relationships.

  11. 11
    Article
    Avatar of javarevisitedJavarevisited·50w

    10 Most important Maven Commands

    This post provides a practical guide to essential Maven commands for Java projects. It covers basic tasks such as compiling main and test source files, running tests, and cleaning project files. The guide offers explanations and usage examples for executing specific test methods and using TestNG XML suites, helping developers effectively manage their projects.

  12. 12
    Article
    Avatar of javarevisitedJavarevisited·47w

    Understanding JVM Memory architecture and guidelines and tools for troubleshooting

    Understanding the JVM memory architecture is crucial for diagnosing memory issues in Java applications, such as OutOfMemoryError or performance degradation. This involves different memory components like Heap, Metaspace, and Code Cache, each serving specific roles. Generational Garbage Collection (GC) helps efficiently manage memory by classifying objects into short-lived and long-lived categories. Common problems include memory leaks, high object creation rates, and improperly sized memory sections. Tools such as JVisualVM, JConsole, and Java Mission Control are recommended for monitoring and troubleshooting memory issues.

  13. 13
    Article
    Avatar of springSpring·48w

    Spring Security 6.5.0 Is Out!

    Spring Security 6.5.0 has been released, bringing new capabilities and improvements for Java developers. This version enhances security features, offering better integration for web applications, serverless environments, and event-driven systems, among other enhancements.

  14. 14
    Article
    Avatar of springSpring·49w

    Spring gRPC Promoted!

    Spring gRPC has been promoted from experimental to a full member of the Spring Portfolio, marking symbolic and support changes. The recent release 0.8.0 updates dependencies, enhanced gRPC client stub creation, and outlined future transitions alongside Spring Boot 4.0.0. It supports easier configuration and integration with Spring Boot applications.

  15. 15
    Article
    Avatar of java_libhuntAwesome Java Newsletter·46w

    Spring Data Ahead of Time Repositories

    Spring Data 4.0 introduces Ahead-of-Time (AOT) repositories that generate actual source code for repository query methods at build time instead of runtime. By enabling spring.aot.repositories.enabled=true, the framework converts repository interfaces into concrete implementations with the exact same code developers would write manually. This optimization reduces application startup time and memory usage by moving query parsing and method generation from runtime to build time. The feature is currently available as a preview for JPA (Hibernate) and MongoDB, with more data stores planned for future releases.

  16. 16
    Article
    Avatar of java_libhuntAwesome Java Newsletter·46w

    Beyond Spring: Unlock Modern Java Development with Quarkus

    Quarkus offers a modern alternative to Spring Boot for Java development, focusing on build-time optimization rather than runtime flexibility. Key advantages include faster startup times, lower memory usage, instant hot reload during development, and container-native design. The framework provides type-safe configuration, simplified REST APIs, and optional native compilation with GraalVM while maintaining familiar Java patterns. Quarkus encourages modern Java practices like records, reactive programming, and simplified data access through Panache, making it well-suited for cloud-native applications, microservices, and serverless deployments.

  17. 17
    Article
    Avatar of quarkusQuarkus·47w

    Quarkus MCP Server: The First Java Server SDK to Support Streamable HTTP!

    Quarkus MCP Server is the first Java SDK to support Streamable HTTP, providing real-time, scalable communication for Java applications. The update allows easy integration with mobile apps and cloud services, though some features like resumability are planned for future releases. Developers can upgrade easily by updating Maven dependencies, and the server can be launched with simple commands. This advancement opens new possibilities for building AI assistants, chatbots, and other applications.

  18. 18
    Article
    Avatar of javarevisitedJavarevisited·48w

    Top 15 Spring Cloud Interview Questions and Answers

    Spring Cloud Interview Questions and Answers are shared to help Java developers prepare for interviews. The post lists 15 questions to revise essential Spring Cloud concepts, focusing on cloud-native development and microservices using Spring Cloud and Spring Boot. Insights into tools like Hystrix, Ribbon, and Zuul are provided for enhanced understanding of distributed systems.

  19. 19
    Article
    Avatar of baeldungBaeldung·49w

    Conditional Logging With Logback

    Explore the conditional logging capabilities of the Logback framework, which allow dynamic control of log outputs based on runtime conditions. The post covers the setup using Maven dependencies, the use of conditional tags in configuration files, and practical implementations with system properties. It also discusses the EvaluatorFilter for runtime expression evaluation and offers alternatives such as Spring profiles and environment-specific variables for cleaner configuration.

  20. 20
    Article
    Avatar of javarevisitedJavarevisited·49w

    First-Principles Thinking for Spring Boot : What No One Tells You

    The post discusses the application of Kaizen, a Japanese philosophy of continuous improvement, to software development, specifically Spring Boot. It highlights the importance of first-principles thinking and suggests various project ideas to enhance learning and practical application using Spring Boot, Kafka, caching, and pagination. The author emphasizes building foundational skills through incremental learning and offers a structured roadmap to guide backend development projects.

  21. 21
    Article
    Avatar of infoqInfoQ·47w

    Spring Boot 3.5 Delivers Improved Configuration, Containers, and SSL, Shortens Free Support

    Spring Boot 3.5 introduces improved configuration, container support, and SSL enhancements. This release includes breaking changes and a shortened free support period of 13 months, with 72 months of paid support available. New features in related Spring projects and notable third-party dependency upgrades accompany the release. Future Spring Boot and Framework versions are slated for late 2025, aligning with new software baselines and support policies.

  22. 22
    Article
    Avatar of foojayioFoojay.io·46w

    Brokk: AI for Large (Java) Codebases

    Brokk is a standalone AI-powered application designed to help developers work with large Java codebases more effectively. Unlike IDE plugins, it focuses on context management through a Workspace system that allows precise control over what information the AI sees. Key features include intelligent file summarization, Git integration for historical context, dependency decompilation, and agentic tools for code search and analysis. The tool addresses the primary challenge of AI coding assistants: lack of sufficient codebase knowledge that leads to hallucinated APIs and suboptimal solutions.