r/java

I built FastJava – a lightweight SIMD-assisted web server using optimisation based on Java's Vector API (106k req/s)
🔥 Hot ▲ 51 r/java+1 crossposts

I built FastJava – a lightweight SIMD-assisted web server using optimisation based on Java's Vector API (106k req/s)

Hey everyone,

I’ve been working on a lightweight HTTP server prototype called FastJava, and I wanted to share its current progress. The main goal of this project is to explore low-indirection internals and utilize Java's Vector API (jdk.incubator.vector) for SIMD-assisted parsing.

It exposes a servlet-style API inspired by Tomcat and Jakarta Servlet (though it isn't fully binary-compatible with the complete servlet spec yet).

I recently ran some cross-framework benchmarks, and the results have been really promising.

The Benchmarks (Throughput):

I tested a simple GET /hello endpoint (150,000 requests, 64 concurrency, isolated JVM per server). FastJava managed to edge out some of the heavyweights in pure throughput:

Aggregate median results:

| Server | Throughput (req/s) | Avg Latency (ms) | p95 (ms) | p99 (ms) | Errors |

|---|---:|---:|---:|---:|---:|

| FastJava | 106993.25 | 0.593 | 1.086 | 2.046 | 0 |

| Undertow | 93112.02 | 0.680 | 1.294 | 2.364 | 0 |

| Netty | 82846.07 | 0.766 | 1.573 | 2.676 | 0 |

| Tomcat | 74225.89 | 0.859 | 1.793 | 2.655 | 0 |

You can checkout project at https://github.com/tanoaks14/fastJava

u/Few_Major_9459 — 17 hours ago
Best conference talk from 2026 so far that you've seen
▲ 19 r/java

Best conference talk from 2026 so far that you've seen

We've already had a few big Java conferences in 2026. For example:

  1. jfokus 2026 - https://www.youtube.com/playlist?list=PLUQORQEatnJflEzaKxmnn2EH0eKPTVBI8
  2. java one 2026 - https://www.youtube.com/playlist?list=PLX8CzqL3ArzUMVSzm-z_-if8BIB55EGl4
  3. Devnexus 2026 - https://www.youtube.com/playlist?list=PLid93BOrASLONoZUIX1i0rXqCji5FUw9V
  4. Voxxed Days CERN 2026 - https://www.youtube.com/playlist?list=PLRsbF2sD7JVq9Y7_i6uCWlxwoEIte7S8S

Have you enjoyed any specific talks that you'd be happy to recommend?

u/Hixon11 — 4 hours ago
JADEx update: Lombok support, Gradle plugin, and a Spring Boot example are now available
▲ 1 r/webdev+1 crossposts

JADEx update: Lombok support, Gradle plugin, and a Spring Boot example are now available

Hey r/java,

I've been working on JADEx (Java Advanced Development Extension) which is a safety layer that makes Java safer by adding Null-Safety and Final-by-Default semantics without rewriting Java codes and modifying the JVM.

Quick recap of what JADEx adds to Java:

  • String? nullable type declaration
  • ?. null-safe access operator
  • ?: Elvis operator
  • apply readonly final-by-default mode per file

Today I'm sharing three things that just landed.


1. Lombok support

This was the most requested thing. JADEx now integrates with Lombok via a Delombok pipeline internally. The key motivation: JADEx's nullability checker needs to see Lombok-generated code (getters, builders, constructors) to avoid blind spots. Without Delombok, nullable fields could silently pass through generated methods unchecked.

@Data
@Builder
@Entity
public class User {
    private String name;
    private String? email;      // @Nullable propagated to getter + builder param
    private Address? address;   // @Nullable propagated to getter + builder param
}

After Delombok, JADEx sees and analyzes the generated code:

// Lombok-generated — JADEx propagates @Nullable into these
@Nullable
public String getEmail() { return this.email; }

public UserBuilder email(@Nullable final String email) { ... }
public UserBuilder address(@Nullable final Address address) { ... }

2. Gradle plugin published

The JADEx Gradle plugin is now on Maven Central and the Gradle Plugin Portal.

plugins {
    id 'io.github.nieuwmijnleven.jadex' version '0.628'
}

jadex {
    sourceDir = 'src/main/jadex'
}

That's the only change needed to an existing Spring Boot project. Everything else (compilation, Delombok pipeline, .java generation) is handled automatically.


3. JADEx Spring Boot example project


We highly welcome your feedback on JADEx.

Thank you.

u/Delicious_Detail_547 — 3 days ago
▲ 0 r/java

Comparison of Interface Design: DoytoQuery vs Spring Data JPA

By introducing the Query Object, DoytoQuery enables the automatic construction of dynamic queries. Its data access interfaces build upon the Spring Data JPA Repositories series, unifying methods related to Example and Specification into methods that take a query object as a parameter, as shown below:

https://preview.redd.it/qbgjux1yr4tg1.png?width=1666&format=png&auto=webp&s=8e0a5fca029a92444e0227b13a34931627bb1015

The Query Object centralizes all parameters for dynamic queries. These parameters can be automatically translated into WHERE clauses, pagination clauses, and sorting clauses, thereby covering the functionalities of Specification, Sort, and Pageable. Additionally, there is no need to write separate Specification implementations, which greatly simplifies the code.

Query Objects can be automatically created by Spring MVC from HTTP parameters, effectively encapsulating code in the Controller and Service layers, and realizing a fully automated flow: query string → query object → SQL → database.

The only potential drawback is that field names in the Query Object need to follow a “column name + suffix” convention. In Spring Data JPA, this naming convention is usually used in findBy methods, such as: findByAuthorAndPublishedYearGreaterThan

This repository compares dynamic query implementations across different ORM frameworks, showing that DoytoQuery reduces code size by roughly half compared to Spring Data JPA, and improves performance by approximately 40% in some scenarios.

If you are familiar with the findBy naming conventions and do not want to spend significant time writing Specification implementations, you may find it convenient to declare the desired query conditions directly as fields in a query object.

GitHub: https://github.com/doytowin/doyto-query

reddit.com
u/Salt-Letter-1500 — 15 hours ago
Week