Best of JavaJuly 2025

  1. 1
    Article
    Avatar of java_libhuntAwesome Java Newsletter·41w

    Clean Code Reimagined

    A comprehensive guide to writing clean, maintainable code with practical examples in both Node.js and Java. Covers essential principles including meaningful naming conventions, single responsibility functions, DRY logic implementation, proper formatting, immutability patterns, and structured logging. Emphasizes that clean code is a mindset focused on building resilient, scalable systems that are understandable and extendable for future developers.

  2. 2
    Article
    Avatar of shaafShaaf·39w

    Neovim for Java Developers: A Match is made 🚀

    A comprehensive guide to setting up Neovim as a Java development environment, featuring the neovim4j configuration repository. Covers essential plugins like nvim-java for testing and debugging, telescope for fuzzy search, and LSP configuration for code completion. Includes AI integration with GitHub Copilot and ChatGPT, along with practical keybindings and setup instructions for Java developers transitioning from traditional IDEs.

  3. 3
    Article
    Avatar of baeldungBaeldung·39w

    Introduction to Jimmer ORM

    Jimmer ORM is a new database framework that differs from JPA by requiring developers to specify data interaction details at the call site rather than through annotations. It uses interfaces as entities and relies heavily on DTOs for both reading and writing data. The framework includes a dedicated DTO language to reduce manual DTO creation overhead and supports multiple databases including MySQL, PostgreSQL, and Oracle. Unlike Hibernate, Jimmer doesn't implement dirty checking or traditional lazy loading, instead focusing on explicit data shape specification through DTOs and Object Fetcher APIs.

  4. 4
    Article
    Avatar of freecodecampfreeCodeCamp·38w

    Object-Oriented Design Patterns with Java

    A comprehensive guide to essential object-oriented design patterns implemented in Java, covering Strategy, Singleton, Composite, Decorator, State, Observer, Proxy, Factory, and Visitor patterns. Each pattern is explained with practical examples and interactive code playbacks that demonstrate how to solve common programming problems through reusable solutions. The tutorial focuses on leveraging inheritance and polymorphism to create flexible, maintainable code architectures.

  5. 5
    Article
    Avatar of baeldungBaeldung·40w

    A Practical Guide to RecordBuilder in Java

    RecordBuilder is a Java library that enhances Java records with builder pattern functionality through annotation processing. It generates fluent builders, withX() methods, and consumer-based modification capabilities while maintaining immutability. The library eliminates boilerplate code for creating flexible object construction patterns and automatically stays synchronized with record structure changes, making it more maintainable than manual builder implementations.

  6. 6
    Video
    Avatar of bytemonkByteMonk·40w

    Spring Boot Deep Dive | How It Simplifies Java Apps & Microservices

    Spring Boot revolutionizes Java development by eliminating the verbose XML configuration and boilerplate code that plagued traditional Spring Framework. It provides auto-configuration, starter dependencies, embedded servers, and convention-over-configuration principles to enable rapid application development. The framework supports modern microservices architecture with features like service discovery, API gateways, circuit breakers, and distributed configuration. Spring Boot integrates seamlessly with Spring Security for authentication and authorization, while its actuator provides built-in monitoring and health checks for production-ready applications.

  7. 7
    Article
    Avatar of jetbrainsJetBrains·39w

    IntelliJ IDEA Moves to the Unified Distribution

    JetBrains is consolidating IntelliJ IDEA into a single unified distribution, replacing separate Community and Ultimate editions. The transition includes three phases: enabling GitHub builds with CI/CD pipelines, implementing graceful license expiration (users retain basic functionality when subscriptions expire), and migrating to one installer by 2025.3. The unified version will include more free features than current Community Edition, such as enhanced syntax highlighting for frameworks like Spring and Quarkus, project setup wizards, and basic database schema exploration. Ultimate features still require subscription but can be tried with one-click trials. Open source commitment remains strong with GitHub builds containing only open-source components, while the unified distribution includes some proprietary features available for free.

  8. 8
    Article
    Avatar of do_communityDigitalOcean Community·38w

    Multithreading in Java: Concepts, Examples, and Best Practices

    Comprehensive guide covering Java multithreading fundamentals including thread creation methods (Thread class, Runnable interface, lambda expressions), thread lifecycle management, synchronization techniques using synchronized keyword and locks, inter-thread communication with wait/notify, ExecutorService framework for thread pools, and best practices for avoiding common pitfalls like race conditions and deadlocks. Explains the difference between multithreading and parallel computing, demonstrates practical examples for concurrent programming, and provides recommendations for building robust multithreaded applications.

  9. 9
    Article
    Avatar of baeldungBaeldung·40w

    How to Implement a Thread-Safe Singleton in Java?

    Explores multiple approaches to implementing thread-safe Singleton patterns in Java, including synchronized methods, eager initialization, double-checked locking, Bill Pugh pattern, and enum singletons. Compares their performance trade-offs and provides practical examples with test code to demonstrate thread safety in concurrent environments.

  10. 10
    Article
    Avatar of baeldungBaeldung·38w

    Introduction to Smithy

    Smithy is an Interface Definition Language (IDL) developed by Amazon for describing APIs in a language and protocol-agnostic format. It enables automatic generation of both client SDKs and server stubs from API definitions, serving as a single source of truth. The tutorial covers defining resources, operations, and services using Smithy syntax, then demonstrates how to use Gradle plugins to generate Java client and server code. Smithy focuses on resource-based APIs and supports various protocols like JSON over HTTP, offering more opinionated structure compared to OpenAPI or RAML while providing flexibility in transport and serialization methods.

  11. 11
    Article
    Avatar of baeldungBaeldung·38w

    How to Avoid Busy-Waiting in Java

    Busy-waiting occurs when a thread continuously checks a condition in a loop, wasting CPU resources. This inefficient approach can be avoided using blocking mechanisms like wait()/notify(), CountDownLatch, CompletableFuture, or Lock/Condition. These alternatives allow threads to pause execution until explicitly resumed, leading to more efficient and responsive multithreaded applications.

  12. 12
    Article
    Avatar of freecodecampfreeCodeCamp·39w

    Spring vs Spring Boot: How to Choose the Right Java Framework

    Spring is a comprehensive enterprise framework for Java applications that requires manual configuration and external server deployment, while Spring Boot is built on top of Spring with auto-configuration, embedded servers, and simplified setup. Spring offers more granular control and is ideal for complex enterprise applications, whereas Spring Boot prioritizes rapid development and is perfect for microservices and standalone applications. The choice depends on project requirements: use Spring for highly customized enterprise systems and Spring Boot for REST APIs, microservices, or cloud-native applications.

  13. 13
    Article
    Avatar of foojayioFoojay.io·40w

    Spring Boot documentation with Redocusaurus

    A step-by-step guide showing how to generate OpenAPI specifications from Spring Boot applications and create interactive API documentation using Redocusaurus, a Docusaurus plugin. Covers adding SpringDoc dependency, exporting API specs, setting up Redocusaurus with configuration, and deploying the resulting documentation site to various hosting platforms.

  14. 14
    Article
    Avatar of baeldungBaeldung·38w

    How to Use ParameterizedTypeReference in Java

    Spring's ParameterizedTypeReference solves Java's type erasure problem when working with generic collections in HTTP clients. The tutorial demonstrates how to use it with both RestTemplate and WebClient to properly deserialize generic types like List<User> and Map<String, List<User>>. Key concepts include understanding when to use ParameterizedTypeReference versus simple class types, the difference between getForEntity() and exchange() methods, handling reactive types with WebClient, and performance optimization through reusing static type reference instances.

  15. 15
    Article
    Avatar of javarevisitedJavarevisited·40w

    Think Like a Pro: Implementing RAG with Ollama and Spring AI

    A comprehensive guide to building AI-powered support assistants using Spring AI's RAG framework with Ollama and Llama 3.2. Covers the complete implementation including vector store configuration, file upload handling, document processing, and chat functionality. Demonstrates how to keep sensitive data on-premises while enabling semantic search capabilities through embeddings and vector databases.

  16. 16
    Article
    Avatar of inside_javaInside Java·41w

    Inside Java June 2025: A New Website for Learning Java!

    Oracle launched Learn.java, a new educational platform dedicated to Java learning for students, teachers, and beginners. The platform complements Dev.java by focusing specifically on educational needs, offering tutorials, practice exercises, mini-labs, and curriculum resources for educators. The announcement was made at JavaOne 2025, coinciding with Java's 30th anniversary celebrations. The newsletter also covers recent Java community events including Devoxx UK, American Java User Group visits, and highlights technical content from Inside Java including articles on Java 25 features, FFM API, and JVM performance improvements.

  17. 17
    Article
    Avatar of java_libhuntAwesome Java Newsletter·37w

    Spring Boot 4.0.0-M1 available now

    Spring Boot 4.0.0-M1 milestone release is now available for developers to test and explore upcoming features in the next major version of the popular Java framework.

  18. 18
    Article
    Avatar of syscolabsslSysco LABS Sri Lanka·39w

    Unlocking Concurrency with Virtual Threads in Java

    Virtual threads in Java 21 revolutionize concurrency by enabling applications to handle thousands of concurrent tasks with minimal overhead. Unlike traditional platform threads that are heavyweight and limited by OS resources, virtual threads are JVM-managed, lightweight, and stored on the heap. They eliminate the complexity of reactive programming while providing superior performance for I/O-bound operations. The article demonstrates through code examples how virtual threads can reduce execution time from 5 seconds to 1 second for the same workload, making them ideal for web applications, microservices, and database-driven systems that require high concurrency without sacrificing code simplicity.

  19. 19
    Article
    Avatar of javarevisitedJavarevisited·38w

    Modern Java for Cloud-Native Apps: Is It Catching Up with Go and Node.js?

    Modern Java has evolved significantly to compete with Go and Node.js in cloud-native development. Key improvements include lightweight frameworks like Quarkus and Spring Boot 3, Project Loom's virtual threads for better concurrency, and GraalVM's ahead-of-time compilation for faster startup times and lower memory usage. While Java historically struggled with slow startup and high memory consumption, these modern tools now make it a viable choice for microservices and serverless applications, offering the benefits of Java's mature ecosystem alongside cloud-native performance characteristics.

  20. 20
    Article
    Avatar of baeldungBaeldung·39w

    Creating an AI Agent in Java Using Embabel Agent Framework

    The Embabel Agent Framework, created by Spring Framework founder Rod Johnson, simplifies building AI agents on the JVM by providing abstractions over Spring AI. The framework uses Goal-Oriented Action Planning (GOAP) to enable agents to dynamically find paths to achieve goals. The tutorial demonstrates building a quiz generation agent called Quizzard that fetches blog content via URL and generates multiple-choice questions using LLMs. The implementation involves setting up dependencies, configuring Claude 4 Opus as the default model, creating actions for web content fetching and quiz generation, and using the Model Context Protocol (MCP) for external tool integration. The framework supports multiple LLMs for cost optimization and provides interactive shell mode for testing agents.