Best of JavaJune 2025

  1. 1
    Article
    Avatar of lonely_programmerLonely Programmer·44w

    Grandpa Python

  2. 2
    Article
    Avatar of bytebytegoByteByteGo·46w

    How Netflix Runs on Java?

    Netflix operates its massive streaming platform primarily on Java, utilizing a federated GraphQL architecture with Spring Boot microservices. The company migrated from Java 8 to JDK 21+, adopting virtual threads for improved concurrency and ZGC garbage collector for near-zero pause times. Their backend consists of around 3000 Spring Boot services communicating via gRPC, with GraphQL serving as the client-facing API layer. Netflix moved away from reactive programming (RxJava) in favor of virtual threads and structured concurrency, while building custom tooling to maintain their Spring Boot Netflix stack with company-specific integrations for security, observability, and service mesh functionality.

  3. 3
    Article
    Avatar of javarevisitedJavarevisited·43w

    Top 140 Java Interview Questions Answers for 3 to 5 Years Experienced Programmers

    A comprehensive collection of 140 Java interview questions and answers specifically designed for developers with 3-5 years of experience. Covers advanced topics including multithreading and concurrency, JVM internals and garbage collection, Java collections framework, IO/NIO, design patterns, and coding challenges. The questions range from basic concepts to sophisticated topics like volatile variables, memory management, thread safety, and performance optimization. Includes practical coding examples and best practices for writing clean, efficient Java code.

  4. 4
    Article
    Avatar of javarevisitedJavarevisited·43w

    New Java 21 Feature : A Guide to Virtual Threads in Java!

    Virtual threads in Java 21 provide a lightweight alternative to traditional platform threads, allowing developers to create thousands of concurrent tasks without the memory overhead. Unlike platform threads that consume 1MB each, virtual threads are managed by the JVM and automatically park when waiting for I/O operations, freeing up OS threads for other work. This feature is particularly beneficial for I/O-heavy applications like web servers and microservices, enabling simple blocking code while achieving high concurrency without complex async programming patterns.

  5. 5
    Article
    Avatar of javarevisitedJavarevisited·45w

    5 Projects You Can Build to learn Android App Development in 2025

    Five beginner-friendly Android app projects to practice mobile development skills: weather forecast app using APIs, blog reader app for WordPress content, dictionary app with search functionality, quiz app with scoring system, and web browser clone. Each project targets different skill levels and includes references to Udemy courses for guidance. The projects cover essential Android concepts like API integration, JSON parsing, user interface design, and data handling using Java and Kotlin.

  6. 6
    Article
    Avatar of baeldungBaeldung·45w

    Event-Driven LISTEN/NOTIFY Support in Java using PostgreSQL

    PostgreSQL's LISTEN and NOTIFY commands enable asynchronous communication between database server and clients, creating a simple messaging system. The LISTEN command registers interest in receiving events on specific channels, while NOTIFY broadcasts messages to all listeners. Java applications can raise notifications using standard JDBC with either NOTIFY commands or pg_notify() function. Listening for notifications requires driver-specific functionality - the official PostgreSQL JDBC driver requires polling with getNotifications(), while PGJDBC-NG provides callback-based listeners for more efficient event handling. This mechanism supports real-time dashboards, cache invalidation, and data auditing use cases.

  7. 7
    Video
    Avatar of philipplacknerPhilipp Lackner·44w

    How to Upload & Download Files In Spring Boot - Full Production Guide

    A comprehensive guide to implementing secure file upload and download functionality in Spring Boot applications. Covers production-ready practices including storing file metadata in MongoDB while keeping actual files on the filesystem, implementing proper validation and security measures to prevent directory traversal attacks, creating organized folder structures by date, and handling multipart requests. The tutorial demonstrates both local file storage and discusses cloud storage alternatives like AWS S3, emphasizing security best practices such as MIME type validation, unique filename generation, and file size limits.

  8. 8
    Article
    Avatar of 80lv80 LEVEL·42w

    Check Out Reign of Nether, Mod That Turns Minecraft into RTS

    Reign of Nether is a Minecraft mod that transforms the sandbox game into a real-time strategy experience. Players can build bases, manage resources, train armies, and engage in strategic battles within Minecraft's voxel world, similar to classic RTS games like Warcraft and Age of Empires.

  9. 9
    Article
    Avatar of jetbrainsJetBrains·43w

    Demystifying Spring Boot With Spring Debugger

    JetBrains introduces Spring Debugger, a plugin for IntelliJ IDEA that simplifies debugging Spring Boot applications by making framework internals visible. The plugin provides visual insights into bean management, property resolution, transaction states, database connections, and enables interactive evaluation of Spring components during debugging sessions. It works without requiring additional runtime agents and uses non-suspending breakpoints to gather application data locally.

  10. 10
    Article
    Avatar of colkgirlCode Like A Girl·45w

    Immutability in Java

    Immutability in Java ensures objects cannot be modified after creation, providing benefits like thread safety, caching optimization, and security. The article covers String immutability mechanics, memory management with String Constant Pool, and demonstrates how to create immutable classes using defensive copying, final fields, and proper constructor design. It explores modern approaches like Records, sealed classes, and builder patterns, while addressing common pitfalls like shallow copying and the difference between unmodifiable and truly immutable collections.

  11. 11
    Article
    Avatar of codemotionCodemotion·43w

    How Netflix Scales to 270 Million Users with Java and Microservices

    Netflix serves 270 million users through a sophisticated microservices architecture built primarily with Java. The platform splits operations between a control plane on AWS handling user interactions and recommendations, and a proprietary CDN called Open Connect with 17,000+ servers worldwide for content delivery. Key innovations include circuit breaker patterns with Hystrix, service discovery with Eureka, reactive programming with RxJava, and chaos engineering practices. The architecture employs polyglot persistence across multiple databases, extensive observability with petabytes of telemetry data, and hundreds of machine learning models for personalized recommendations.

  12. 12
    Article
    Avatar of facebook_codeFacebook Engineering·42w

    Meta joins Kotlin Foundation

    Meta has joined the Kotlin Foundation as a gold member, reinforcing their commitment to Kotlin and Android development. The company has been migrating tens of millions of lines of Android code from Java to Kotlin using their internal tool called Kotlinator, which automates the conversion process. Meta also contributes to the ecosystem through open source projects like Buck2 build toolchain and participates in enterprise Java-to-Kotlin working groups. This membership allows Meta to support the Kotlin Foundation's grants program and advance the language's capabilities across platforms.

  13. 13
    Article
    Avatar of baeldungBaeldung·43w

    Introduction to Ambassador Design Pattern

    The Ambassador Design Pattern acts as a network proxy between clients and servers, encapsulating networking components like retry logic, caching, timeouts, and circuit breakers in a reusable component. It can be implemented as a library dependency within the same container or as a separate sidecar container exposing REST APIs. The pattern promotes code reusability and maintainability by centralizing network communication logic, but introduces potential latency and availability concerns when deployed as a separate service.

  14. 14
    Article
    Avatar of jetbrainsJetBrains·45w

    Text Blocks in Java: Perfect for Multiline Strings

    Text blocks, introduced in Java 15, provide a cleaner way to handle multiline strings without concatenation operators or escape sequences. They use triple quotes (""") as delimiters and automatically handle indentation based on the leftmost non-whitespace character. Text blocks are particularly useful for JSON, HTML, XML, SQL queries, and other multiline content, making code more readable and reducing syntax errors. IntelliJ IDEA offers excellent support with visual guides, language injection, and migration tools to convert existing string concatenations to text blocks.

  15. 15
    Article
    Avatar of baeldungBaeldung·45w

    Authorize Request for Certain URL and HTTP Method in Spring Security

    Spring Security provides flexible mechanisms to authorize requests based on URLs, HTTP methods, and user roles. The tutorial demonstrates implementing role-based access control in a blogging platform where users can manage their own posts while admins have broader permissions. Key concepts include configuring SecurityFilterChain for URL-based authorization, using @PreAuthorize for method-level security, implementing custom UserDetailsService for database authentication, and creating service layers that enforce business logic with proper access controls. The implementation covers user registration, authentication, and CRUD operations with appropriate security constraints.

  16. 16
    Article
    Avatar of jetbrainsJetBrains·46w

    IntelliJ IDEA 2025.1.2 Is Out!

    IntelliJ IDEA 2025.1.2 is now available with several important bug fixes. Key improvements include resolving IDE startup issues with problematic plugins, fixing false positive module warnings, restoring Maven compiler arguments functionality, correcting GitLab code review mode, preserving terminal working directories after restart, enabling Terraform inspection suppression, fixing Quick Documentation font scaling, and restoring Git context menu options for symbolic link paths. Users can update through the IDE, Toolbox App, or download from the website.

  17. 17
    Video
    Avatar of philipplacknerPhilipp Lackner·45w

    Simple Spring Boot Pagination With Pageable & Data Repositories

    Learn how to implement pagination in Spring Boot using Pageable and Data Repositories. The tutorial covers creating a MongoDB document model, setting up a repository with pagination support, and building a REST controller that returns paginated results. Key concepts include using Page and Pageable interfaces, PageRequest for pagination parameters, and PagedModel for consistent JSON responses. The implementation demonstrates fetching paginated todo items with configurable page size and sorting by creation date.

  18. 18
    Article
    Avatar of javarevisitedJavarevisited·45w

    IntelliJ IDEA and Eclipse Cheat Sheet for Java Developers

    A comprehensive guide featuring keyboard shortcut cheat sheets for both IntelliJ IDEA and Eclipse IDEs, specifically designed for Java developers. The post emphasizes the importance of mastering IDE tools to become a more productive developer and includes recommendations for online courses to deepen IDE skills. It covers essential shortcuts for navigation, code editing, searching, and debugging in both popular Java development environments.

  19. 19
    Article
    Avatar of foojayioFoojay.io·43w

    Benchmark and profiling Java with JMH

    JMH (Java Microbenchmark Harness) provides accurate performance measurement for Java applications by handling JVM optimizations that can skew results. The framework offers different benchmark modes (throughput, average time, single shot, sample time), state management with @State and @Setup annotations, and integration with async profiler for detailed performance analysis. Key considerations include preventing dead code elimination using Blackhole, avoiding constant folding with variable data, and using flame graphs to identify performance bottlenecks beyond just timing measurements.

  20. 20
    Article
    Avatar of communityCommunity Picks·43w

    History of Java: evolution, legal battles with Microsoft, Mars exploration, Spring, Gradle and Maven, IDEA and Eclipse

    Java's evolution from 1990 to present spans from its origins as Oak at Sun Microsystems to modern features like virtual threads in Java 21. Key milestones include the legal battle with Microsoft over JVM compatibility, revolutionary changes in Java 8 with lambda expressions and streams, Oracle's acquisition of Sun Microsystems, and the development of essential tools like Spring framework, Maven, Gradle, IntelliJ IDEA, and Eclipse. The language has been used in space missions including Mars rovers, and continues evolving with upcoming projects like Valhalla for value objects and Loom for enhanced concurrency.

  21. 21
    Video
    Avatar of codinggopherThe Coding Gopher·45w

    99% of Developers Don't Get JIT Compilers

    JIT (Just-In-Time) compilers bridge the gap between interpreters and ahead-of-time compilers by initially interpreting bytecode and then compiling frequently used code sections into native machine code during runtime. This approach combines the portability of bytecode with near-native performance, as the compiler can observe actual usage patterns and apply adaptive optimizations. JIT compilers are essential to modern platforms like Java, .NET, and JavaScript engines, allowing programs to start quickly while becoming faster over time as hot code paths are identified and optimized.

  22. 22
    Article
    Avatar of newstackThe New Stack·44w

    Async Programming in Java Repositories

    The Repository pattern in Java provides an abstraction layer for data access operations, similar to how a librarian manages book access. When combined with asynchronous programming using CompletableFuture and Virtual Threads, it can significantly improve performance by allowing multiple data source queries to run concurrently. This approach reduces the total response time from the sum of all individual query times to just the time of the slowest query, while maintaining clean separation between business logic and data access protocols.

  23. 23
    Article
    Avatar of springSpring·45w

    Spring Tools 4.31.0 released

    Spring Tools version 4.31.0 has been released, bringing updates to the popular IDE extension for Spring Framework development. This release continues the evolution of Spring's development tooling to support Java developers working with Spring-based applications.

  24. 24
    Article
    Avatar of baeldungBaeldung·45w

    Guide to Java Diff Utils

    Java Diff Utils is a lightweight library for comparing text content line-by-line and generating unified diffs. The guide covers setting up the library with Maven, creating utility classes for text comparison, generating unified diff outputs, applying patches to transform content, and building side-by-side diff views. Key features include simplicity with clean APIs, cross-platform compatibility, and integration capabilities with Spring Boot applications. The library is particularly useful for version control systems, collaborative editors, and code review tools.

  25. 25
    Article
    Avatar of foojayioFoojay.io·43w

    Sentiment Analysis with Java, Quarkus, LangChain4j, and Local LLMs

    A hands-on guide to building a local sentiment analysis REST API using Java, Quarkus, and LangChain4j with Ollama-managed LLMs. The tutorial demonstrates creating a privacy-focused sentiment classifier that runs entirely on your machine using the Phi-3 Mini model, eliminating the need for cloud APIs or external dependencies. It covers project setup, AI service configuration, and testing with practical examples.