Best of JavaMarch 2025

  1. 1
    Article
    Avatar of halodocHalodoc·1y

    Log Standardization

    Debugging in microservices is challenging without structured logging. This post explores logging strategies for HTTP requests, Kafka events, and concurrency in Java, Golang, and Python. It addresses context loss in Java’s multi-threading by introducing MDCAwareCompletableFuture and MDCAwareExecutorService, ensuring traceability in concurrent systems. A structured logging approach with Request ID, Transaction ID, and Parent Transaction ID is recommended for better traceability and debugging efficiency.

  2. 2
    Article
    Avatar of java_libhuntAwesome Java Newsletter·1y

    CI/CD DevOps Pipeline Project: Deployment of Java Application on Kubernetes

    The project outlines the implementation of a CI/CD pipeline to deploy a Java application on Kubernetes. It leverages Jenkins for orchestration, along with tools like Maven, SonarQube, Trivy, and Prometheus for build automation, code quality, security scanning, and monitoring. The setup involves detailed steps for configuring the required infrastructure, integrating DevOps tools, and setting up a monitoring stack with Prometheus and Grafana.

  3. 3
    Video
    Avatar of awesome-codingAwesome·1y

    Now Is The Best Time To Learn Java

    Java 24 introduces several key improvements aimed at enhancing developer experience and performance. Significant advancements include Project Leen for better startup and warm-up times via ahead-of-time compilation, enhanced virtual threads from Project Loom for scalable concurrent applications, flexible stream gatherers for efficient data processing, and improved pattern matching for cleaner code. These updates position Java as a robust choice for modern programming, particularly in cloud environments.

  4. 4
    Article
    Avatar of thedailywtfThe Daily WTF·1y

    Too Many Red Flags

    Fresh out of university, Remco took a job abroad, ignoring his initial misgivings. Red flags about the company, Conglomcorp, started appearing early on, from concerning layoff practices to questionable software development practices like adding a misleading 'Garbage Collection' button that called System.gc(). Remco's experience worsened as he dealt with a poorly maintained codebase and unhelpful senior developers, leading him to eventually leave the company.

  5. 5
    Article
    Avatar of javarevisitedJavarevisited·1y

    Why Spring Boot Developers Struggle When Building Real-World Projects?

    Spring Boot developers often struggle with transitioning from tutorials to real-world projects. Common problems include lack of a structured roadmap and insufficient practical project experience. By focusing on key codebases, exploring common functionalities, and addressing weak areas, developers can significantly enhance their skills. Additional growth can be achieved through mentoring, contributing to open source projects, and working on personal projects. The post emphasizes the importance of practical application to bridge the gap between theoretical learning and real-world problem-solving.

  6. 6
    Article
    Avatar of baeldungBaeldung·1y

    How to Convert Nested Loops to Stream in Java

    Java Streams, introduced in Java 8, offer a declarative and efficient way to handle data by replacing complex nested loops. This post explores transforming nested loops into Streams, covering basic operations, filtering, and short-circuiting iterations. It highlights how streams can simplify complex transformations, improve readability, and enable parallel execution. However, for simple or performance-critical tasks, traditional loops may be more suitable.

  7. 7
    Article
    Avatar of baeldungBaeldung·1y

    Decreasing IntelliJ RAM Usage

    Learn how to decrease IntelliJ IDEA's RAM usage by optimizing memory settings, disabling unused plugins, adjusting garbage collection, and enabling Power Save Mode. These steps help improve performance and ensure a smoother development experience.

  8. 8
    Video
    Avatar of youtubeYouTube·1y

    the Spring Boot end-to-end tutorial (new for 2025!)

    Explore the essential concepts of Spring Boot 3.4 and its 2025 updates, including auto-configuration, dependency injection, and aspect-oriented programming. Learn to set up a Spring Cloud Config Server and use Spring Batch for efficient data processing. Follow along to build a dog adoption service with these tools.

  9. 9
    Article
    Avatar of inside_javaInside Java·1y

    Choosing the Right Implementation Between ArrayList and LinkedList

    This post compares the use cases, performance, and memory consumption of ArrayList and LinkedList implementations in Java. It outlines algorithm complexities for common operations such as reading, inserting, and iterating over elements. The article provides benchmarks for different list operations and explains how elements' access times can be impacted by pointer chasing and cache misses. The situational advantages of each implementation are discussed, including memory usage considerations and specific scenarios where LinkedList may outperform ArrayList.

  10. 10
    Article
    Avatar of infoworldInfoWorld·1y

    The best Java and JVM language frameworks

    The Java ecosystem supports several outstanding back-end frameworks, including those for modern JVM languages like Scala and Kotlin. This piece compares seven highly-regarded frameworks: Spring, Micronaut, Quarkus, JHipster, Ktor/Kotlin, Play/Scala, and Vert.x. Each framework is evaluated based on features like API support, realtime capabilities, static site generation, and unique strengths. The Java ecosystem is described as stable, secure, and capable of supporting diverse development needs.

  11. 11
    Article
    Avatar of javarevisitedJavarevisited·1y

    Top 5 Books to Learn Hibernate and Spring Data JPA for Experienced Java Developers

    A guide for experienced Java developers showcasing the top 5 books to learn Hibernate and Spring Data JPA. It includes recommendations such as 'Java Persistence with Hibernate 2nd Edition' and 'High-Performance Java Persistence' by Vlad Mihalcea. Each book is supplemented with author insights and compatibility with online courses for comprehensive learning.

  12. 12
    Article
    Avatar of javarevisitedJavarevisited·1y

    Is LeetCode Enough to Crack a Java Developer Interview?

    LeetCode is an excellent tool for sharpening your problem-solving skills, but it's not sufficient to crack a Java developer interview by itself. Apart from algorithmic skills, candidates need to master core Java fundamentals, have a deep understanding of the Java ecosystem, become proficient with Spring Boot, and be able to design scalable and maintainable systems. Comprehensive preparation and a well-rounded knowledge base are essential to succeed.

  13. 13
    Article
    Avatar of infoworldInfoWorld·1y

    JDK 25: The new features in Java 25

    JDK 25, the upcoming long-term support release for Java, is set to include a stable values API to improve application startup times and remove the deprecated 32-bit x86 port. Other potential features are in development, including those previewed in JDK 24, such as a key derivation function API and scoped values. JDK 25 is scheduled for release in September and will receive at least five years of premier-level support from Oracle.

  14. 14
    Article
    Avatar of java_libhuntAwesome Java Newsletter·1y

    Java is Very Fast, If You Don’t Create Many Objects

    Creating many objects in Java can significantly impact performance, especially in high-throughput environments. Benchmarking tests show that even small, short-lived objects can reduce performance by 25% due to memory pressure on CPU caches. Using strategies like reusing objects and avoiding allocations can help maintain high performance.

  15. 15
    Article
    Avatar of baeldungBaeldung·1y

    Integrating Jolokia With Spring Boot

    Learn how to integrate Jolokia with a Spring Boot application to monitor your application via API endpoints. This tutorial covers initial setup, basic commands for interacting with MBeans, and methods to secure Jolokia endpoints by restricting access through configuration.

  16. 16
    Article
    Avatar of baeldungBaeldung·1y

    Open Multiple Projects in the Same Window in IntelliJ IDEA

    Learn how to open multiple projects in the same window in IntelliJ IDEA, applicable to both Community and Ultimate Editions. The guide covers navigating the Project Structure menu, adding modules, and importing existing projects using build files like build.gradle or pom.xml. Additionally, it explains how to change the JDK version for newly imported modules if needed.

  17. 17
    Article
    Avatar of baeldungBaeldung·1y

    Introduction to OSHI

    OSHI (Operating System and Hardware Information) is a pure Java library that fetches system-level details without native dependencies. It works across Windows, macOS, and Linux, providing insights into CPU, RAM, disks, sensors, and networks. OSHI is lightweight, easy to use, and eliminates the need for system commands or JNI. Key features include monitoring CPU usage, memory statistics, disk storage, network interfaces, and sensor data. However, it has limitations such as dependency on system APIs and lack of low-level control.

  18. 18
    Article
    Avatar of baeldungBaeldung·1y

    Introduction to J2CL

    Learn how to set up a J2CL project with Maven to develop web applications using Java compiled to JavaScript. This guide covers configuring the project, customizing the web interface, and implementing a Task Manager application by interacting with a RESTful backend. Key aspects include using Maven for building and running the project, and leveraging Elemental2 and JSInterop for DOM manipulation and interoperability between Java and JavaScript.

  19. 19
    Article
    Avatar of javarevisitedJavarevisited·1y

    Best Java GUI Frameworks 2025: A Comprehensive Guide

    Java remains a top choice for developing robust and scalable desktop applications due to its versatility and extensive ecosystem. Choosing the right Java GUI framework is crucial for developing highly interactive and visually appealing apps. The post reviews top Java GUI frameworks such as JavaFX, PrimeFaces, GWT, Swing, and Apache Pivot, detailing their features, strengths, and considerations for selection.

  20. 20
    Article
    Avatar of inside_javaInside Java·1y

    Java 24 Release Notes Review for Developers

    Java 24 is set to release on March 18th, and this review covers all the significant changes and updates that developers should be aware of.

  21. 21
    Article
    Avatar of springSpring·1y

    Spring gRPC 0.4.0 for great good!

    Spring gRPC 0.4.0 has been released, offering a smooth experience for gRPC integration with Spring. This release emphasizes easy setup using Spring Initializr, compatibility with GraalVM, and support for HTTP/2. The post provides a guide on setting up Spring gRPC with Java 23, recommending tools like SDKMAN for JDK management.

  22. 22
    Article
    Avatar of jetbrainsJetBrains·1y

    Java 24 and IntelliJ IDEA

    Java 24 introduces enhancements such as Simple Source Files, Primitive Type Patterns, Module Import Declarations, and Flexible Constructor Bodies. IntelliJ IDEA has supported Java 24 since earlier releases, adding new enhancements over time. IntelliJ IDEA offers smart code suggestions, seamless conversions, and robust analysis for a smooth development experience with Java 24’s features.

  23. 23
    Article
    Avatar of baeldungBaeldung·1y

    Implementing Semantic Search Using Spring AI and PGVector

    Learn to implement a semantic search application using Spring AI, PGVector, and Ollama. This tutorial covers the basics of semantic search, including key concepts like word embeddings, semantic similarity, and cosine similarity. You'll set up a Spring Boot project, configure it for PGVector, and enhance it with an Ollama LLM for more context-aware responses. Example code for ingesting book data and performing searches highlights practical implementation steps.

  24. 24
    Article
    Avatar of baeldungBaeldung·1y

    The OpenAI API Java Client

    The post provides a comprehensive guide to integrating OpenAI's Java Client API for text generation and AI-driven tasks. It covers setting up the Java client, managing API tokens, and using the Completion and Assistants APIs for different AI tasks. Practical examples illustrate basic and conversational completions, as well as using the Assistant class for more complex interactions.

  25. 25
    Article
    Avatar of communityCommunity Picks·1y

    What's new in Java 24

    Java 24, releasing on March 18, introduces significant updates including Stream Gatherers, a finalized Class-File API, and Ahead-of-Time class loading and linking. Updates include the deprecation of certain features, enhancements for virtual threads, and steps towards post-quantum cryptography. The Class-File API aims to streamline bytecode handling, while the gathering functionality in Streams and new synchronization mechanisms for virtual threads highlight the performance improvements. Additionally, Java 24 starts phasing out 32-bit x86 support on Windows.