Best of JavaApril 2025

  1. 1
    Video
    Avatar of youtubeYouTube·1y

    Why Spring Boot is the BEST Backend Framework

    Spring Boot is hailed as the superior backend framework for its built-in security, database integration, scalability, and reliability. The post criticizes other frameworks like Express.js, Django, and Ruby on Rails for their complexity, lack of built-in features, and scalability issues. Spring Boot is advocated as the practical choice for those who want a backend that works efficiently without excessive configuration or headaches.

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

    Understanding concepts in Event Driven Architectures (EDA)

    Event Driven Architecture (EDA) is a popular choice for developing highly scalable distributed systems, where components communicate by sending and reacting to events asynchronously. Key components include event producers, message brokers, and event consumers. Common technologies used are Kafka, RabbitMQ, AWS SNS/SQS, and Google Pub/Sub. EDA offers advantages such as scalability, flexibility, and resilience, but also has challenges like eventual consistency and complex debugging.

  3. 3
    Article
    Avatar of colkgirlCode Like A Girl·52w

    A Complete Guide to Build, Test and Deploy a Spring Boot Application

    This guide covers how to build, test, and deploy a Spring Boot application. It provides step-by-step instructions on setting up prerequisites, creating the project, implementing CRUD APIs, configuring an H2 database, and writing tests. Additionally, it includes details on dockerizing the application and deploying it with Kubernetes.

  4. 4
    Article
    Avatar of baeldungBaeldung·52w

    Thread per Connection vs Thread per Request

    This post compares two server threading models: thread-per-connection and thread-per-request. It defines the terms 'connection' and 'request', discusses their implementation in Java web servers, and highlights the advantages and disadvantages of each model. Thread-per-connection involves a dedicated thread for each client connection, while thread-per-request uses a new thread for each request, regardless of connection status. The choice between these models depends on factors like scalability, context switching, and expected traffic patterns.

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

    Java is dying and it paid off my mortgage

    Moving from the MERN stack to Java, the author feared that working with an 'outdated' language would limit their career prospects. Despite concerns about its dwindling popularity, Java provided stable and high-paying job opportunities that ultimately allowed the author to buy a house. This experience highlighted that mature, less-hyped technologies can still offer rewarding career paths and financial stability.

  6. 6
    Article
    Avatar of javarevisitedJavarevisited·1y

    Authentication & Authorization with Spring Security

    Spring Security is a robust framework for implementing authentication and authorization in Java applications. Key concepts like authentication vs. authorization, real-world analogies, user registration and login flow, password encryption, JWT token usage, and secure handling of access and refresh tokens are covered. Practical implementation steps and best practices for securing your Spring Boot application are also provided.

  7. 7
    Article
    Avatar of javarevisitedJavarevisited·1y

    Only 5% of the Developers Can Answer These Questions! 🚀

    Understanding the fundamentals of Spring Framework is crucial before diving into Spring Boot. This guide emphasizes the importance of core concepts like Dependency Injection, IoC, and Bean Scopes. It presents thought-provoking questions to enhance comprehension and mastery of Spring's capabilities, which are essential for leveraging Spring Boot’s convenience features effectively.

  8. 8
    Article
    Avatar of last9Last9·1y

    Java Logging: Troubleshooting Tips and Best Practices

    Discover troubleshooting tips and best practices for Java logging. Learn about different Java logging frameworks like java.util.logging (JUL), Log4j 2, and SLF4J with Logback. Understand common logging issues, performance bottlenecks, and how to fix them. Get insights on choosing the right log levels, structuring log messages, and implementing centralized logging solutions.

  9. 9
    Video
    Avatar of philipplacknerPhilipp Lackner·51w

    Spring Boot Profiles: Manage Dev, Staging & Production Environments Easily

    Learn how to manage different environments in Spring Boot using profiles. The guide provides a detailed walkthrough on setting up development, staging, and production configurations by leveraging application properties files. It emphasizes controlling database connections, logging levels, and other environment-specific settings to ensure optimal operation in each phase. Best practices for managing database migrations and logging configurations are also discussed, ensuring a smooth transition from development to production.

  10. 10
    Article
    Avatar of javarevisitedJavarevisited·1y

    12 Must Read Advance Java Books for Intermediate Developers — Part 1

    This post provides a curated list of advanced Java books essential for intermediate and experienced developers aiming to enhance their Java skills. It highlights four key areas: multithreading, collections, JVM internals, and design patterns. Each section includes a book recommendation along with related online courses from platforms like Udemy. The guide emphasizes the importance of these skills in progressing from an intermediate to an expert Java developer.

  11. 11
    Article
    Avatar of baeldungBaeldung·1y

    How to Run a Java Program in the Background

    Learn various methods to run a Java application as a background process, keep it running after terminal closure, and monitor it using logs. Explore the use of '&' operator, nohup, systemd services, screen, and tmux for effective process management.

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

    Project Loom: Structured Concurrency in Java

    Project Loom aims to simplify writing concurrent code in Java through structured concurrency. It introduces structured task scopes to manage concurrency and prevent issues such as thread leaks and resource starvation. By using structured concurrency, the syntactic structure of the code reflects the semantic structure, ensuring that parent-child relationships in threads are properly maintained. This leads to more readable and maintainable concurrent code. Java's existing tools like virtual threads and structured concurrency primitives are discussed, along with examples of setting up and running concurrent tasks efficiently.

  13. 13
    Article
    Avatar of devtronDevtron·1y

    Deploy Java, Node.js & Python Microservices on Kubernetes

    Learn how to deploy Java, Node.js, and Python microservices on Kubernetes. This guide covers containerizing applications with Docker, creating Kubernetes deployment files, exposing services, and using Ingress for traffic routing. It also explores how Devtron can simplify managing, monitoring, and scaling these services.

  14. 14
    Article
    Avatar of javarevisitedJavarevisited·52w

    Aspect Oriented Programming (AOP) in Spring Boot

    Aspect Oriented Programming (AOP) helps manage cross-cutting concerns like logging, auditing, and security in Spring Boot applications. By centralizing these aspects, developers can maintain clean business logic and avoid redundant code. Key concepts include aspects, advice, join points, pointcuts, and weaving. AOP is beneficial for improving code readability, maintainability, and consistency. The choice between Spring AOP and AspectJ depends on specific performance needs and complexity of the application.

  15. 15
    Article
    Avatar of shaafShaaf·52w

    TechTalk - Java + LLMs: A hands-on guide to building LLM Apps in Java with Jakarta

    Langchain4j is a preferred framework for working with large language models (LLMs) in Java. Recently, Bazlur and the author presented various demos at Jakarta Tech Talk, focusing on practical applications such as prompt engineering, tools, RAG, and Model Context Protocol. The presentation highlighted an increased general understanding of LLMs and included a comprehensive demonstration to engage the audience. Source code and a step-by-step guide are available on GitHub.

  16. 16
    Article
    Avatar of collectionsCollections·1y

    Mastering Prompt Engineering with Spring AI: Techniques and Best Practices

    Learn practical implementations of prompt engineering techniques using Spring AI, including configuring and tuning large language models (LLMs), and implementing these methods with Java code. Key configurations discussed include temperature control, token limits, and structured responses. Effective prompting techniques such as zero-shot, one-shot, few-shot, and self-consistency are covered, along with best practices for clarity and refinement.

  17. 17
    Article
    Avatar of springSpring·52w

    CVE-2025-22234: Spring Security BCryptPasswordEncoder maximum password length breaks timing attack mitigation

    The post discusses CVE-2025-22234, a vulnerability related to the maximum password length in BCryptPasswordEncoder, which affects its timing attack mitigation in Spring Security.

  18. 18
    Article
    Avatar of baeldungBaeldung·1y

    Monitor a Java Application With New Relic

    Learn how to monitor a Java application using New Relic, an observability platform providing real-time insights into application performance. The tutorial covers setting up a Spring Boot application, configuring the New Relic Java agent, and viewing application metrics on the New Relic dashboard to optimize performance and ensure reliability.

  19. 19
    Video
    Avatar of stefanmischookStefan Mischook·1y

    Java Jobs 2025?

    The post discusses the future of Java development jobs, highlighting that most Java work involves maintaining and expanding existing legacy systems rather than developing new projects. It explains that large corporations continue to use Java due to the high cost and risk associated with replacing well-established systems. Modernization efforts focus on enhancing legacy applications in non-intrusive ways, utilizing patterns like the facade pattern to avoid breaking existing code.

  20. 20
    Article
    Avatar of springSpring·1y

    Securing Spring AI MCP servers with OAuth2

    Spring AI supports Model Context Protocol (MCP), allowing AI models to interact with external tools. To secure MCP Servers, the latest MCP specification leverages the OAuth2 framework to provide robust security and permission management. Spring Security and Spring Authorization Server can be utilized to add OAuth2 capabilities to Spring MCP servers, ensuring only authenticated requests with access tokens are processed. The article covers integrating OAuth2 into a sample MCP Server, demonstrating token issuance and validation.

  21. 21
    Article
    Avatar of awegoAwesome Go·1y

    Cutting 70% of Infra Costs with Go: A benchmark between Go, NextJS, Java and GraalVM

    This post compares the performance and infrastructure costs of implementing a basic REST API in Go, NextJS, Java, and Kotlin. By benchmarking latency and CPU/RAM usage, it demonstrates Go's superior performance, using significantly less RAM and CPU, resulting in potential cost reductions. The analysis includes various frameworks like Spring Boot, Micronauts, Quarkus, and Fastify, and explores their strengths and limitations in different scenarios.

  22. 22
    Article
    Avatar of baeldungBaeldung·51w

    Building an AI Chatbot in Java With Langchain4j and MongoDB Atlas

    This guide provides a detailed walkthrough on building an AI chatbot in Java using Langchain4j and MongoDB Atlas. The chatbot can perform similarity searches using vector embeddings to understand user queries better. Dependencies, configuration, document loading flow, and chatbot flow are covered. It also includes setting up the necessary components, creating API endpoints, and testing the chatbot functionality.

  23. 23
    Video
    Avatar of nickchapsasNick Chapsas·52w

    C# is NOT Java Done Right. Hear me out.

    Nick, a C# developer, reacts to Forest Knight's video claiming C# is Java done right. He discusses the merits and drawbacks of C#, Java, and Kotlin, highlighting features such as memory optimization, properties, exceptions, and async programming. Nick ultimately considers Kotlin as Java done right and emphasizes that despite advancements in languages, job availability remains crucial when choosing a language for development.

  24. 24
    Article
    Avatar of baeldungBaeldung·1y

    Currency Code to Currency Symbol Mapping in Java

    Java provides multiple methods for mapping currency codes to symbols, including the built-in Currency class, using Locale, and a hardcoded Map. Each method has its own advantages depending on use case, such as the need for localization or consistency of symbols. The Currency class and Locale are more suitable for applications requiring localization support, while hardcoded maps provide full control over custom symbols.

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

    Go's HTTP Server Patterns in Java 25

    This post provides a step-by-step guide to implement a simple web server using Java 25, inspired by patterns from Go's HTTP server. It covers creating and managing wiki pages, using Java's jdk.httpserver module, and integrating templating for HTML content. It also recommends various libraries for handling HTTP requests and templates.