Best of Java — June 2025
- 1
- 2
ByteByteGo·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
Javarevisited·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
Javarevisited·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
Javarevisited·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
Baeldung·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
Philipp 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
80 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
JetBrains·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
Code 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
Codemotion·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
Facebook 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
Baeldung·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
JetBrains·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
Baeldung·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
JetBrains·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
Philipp 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
Javarevisited·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
Foojay.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
Community 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
The 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
The 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
Spring·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
Baeldung·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
Foojay.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.