HTTP/3 for HttpClient:Speak HTTP/3 Without a Third-Party Stack
What Java 26 HttpClient HTTP/3 support is (JEP 517): opt in with Version.HTTP_3, fallback vs HTTP_3_URI_ONLY, and why the default stays HTTP/2.
Read MorePosts August 2026
58 posts
What Java 26 HttpClient HTTP/3 support is (JEP 517): opt in with Version.HTTP_3, fallback vs HTTP_3_URI_ONLY, and why the default stays HTTP/2.
Read MoreSort every undirected edge cheapest-first, skip endpoints already in the same Union-Find component, accept the rest until n-1 edges — an MST that is not a shortest path from a source.
Read MoreWhat JEP 500 does in Java 26: warn (not fail) when deep reflection mutates final fields, how to find the callers, and how to stop needing that hole.
Read MoreOrder the heap by f = g + h, settle toward a goal when h never overestimates remaining cost, and skip stale pairs like Dijkstra — the same procedure with a heuristic that may guess low, never high.
Read MoreFill a dense distance matrix by relaxing every triple (k, i, j) — all-pairs shortest paths when n³ is the bill you can pay, and a negative on the diagonal is a negative cycle.
Read MoreWhat the Java 25 KDF API is (JEP 510): derive AES and HMAC keys with javax.crypto.KDF and HKDF-SHA256 instead of HMAC-then-truncate or a copied StackOverflow HKDF.
Read MoreWhat Java 25 module import declarations are (JEP 511): import module M brings exported types into simple-name scope, how java.se and java.base fit, and how to resolve List clashes.
Read MoreRelax every edge V-1 times, then one more pass for a negative cycle — single-source shortest path when a weight is allowed to be negative.
Read MoreWhat flexible constructor bodies are (JEP 513 / Java 25): validate args and initialize fields in a constructor prologue before super() or this(), without the static-helper hack.
Read MoreGrow a min-heap frontier by current distance, settle each vertex once, and lazy-repush instead of decrease-key — the weighted cousin of BFS when every edge weight is non-negative.
Read MoreHow MCP clients and servers discover capabilities, negotiate features, and exchange JSON-RPC over stdio or Streamable HTTP — a self-contained mental model for protocol version 2026-07-28.
Read MoreTrust boundaries, host approval UX, env secrets, input validation, read-only vs mutating tools, and a practical hardening checklist for a TypeScript MCP bookmarks server.
Read MoreServe the bookmarks MCP tools over Streamable HTTP with createMcpHandler, protect them with a bearer token, deploy one PaaS URL, and point Cursor at url plus headers.
Read MorePackage a TypeScript MCP server for npm, add mcpName verification, publish with npm, and register metadata with mcp-publisher — distribution, not hosting.
Read MoreWhat compact source files are (JEP 512 / Java 25): implicit classes, instance main methods, java.lang.IO, and automatic java.base imports — without public static void main ceremony.
Read MoreWire a local MCP server in Cursor with mcp.json — project vs global config, field-by-field stdio setup, verify Connected, and run one approved tool call.
Read MoreBuild a local bookmarks MCP server in TypeScript — McpServer, Zod tools, stderr logging, MCP Inspector first, then wire the build into Cursor over stdio.
Read MoreAdd an MCP resource and prompt to a TypeScript stdio server — bootstrap from the bookmarks part-3 tag, verify in Inspector, and note Cursor host limits.
Read MoreWhat the Model Context Protocol is, the host/client/server vocabulary, tools vs resources vs prompts, and when agents need MCP — or when Skills and rules are enough.
Read MoreDFS to record finish order, transpose the digraph, DFS again in reverse finish order — each second-pass tree is a strongly connected component, and the condensation is a DAG.
Read MoreWhat JEP 519 compact object headers are: shrink 64-bit HotSpot headers from 12–16 bytes to 8 without changing application source, how to enable the flag on 24/25, and why Java 27 turns it on by default.
Read MoreBuild an observable Spring Boot service with Actuator health probes, Prometheus metrics, W3C trace context, request IDs, and production-safe endpoint security.
Read MoreWhat the Java 24 Class-File API is (JEP 484): parse, generate, and transform .class files with java.lang.classfile so tools track the class-file format without a third-party ASM lag.
Read MoreChoose focused Spring Boot test slices and verify a Spring Data JPA repository against a real PostgreSQL database with Testcontainers.
Read MoreWhat Java 23 Markdown documentation comments are (JEP 467): adjacent /// lines, CommonMark plus GFM tables, and how @param and {@link} still work beside /** */.
Read MoreTurn a Spring Boot API into an OAuth2 resource server, validate JWTs locally, and authorize business actions with method security instead of trusting the edge alone.
Read MoreWhat Java 22 FFM is (JEP 454): Arena, MemorySegment, and Linker downcalls so you can call native code and manage off-heap memory without JNI.
Read MoreDesign a Spring Boot 3 REST boundary with Java records, Bean Validation, Jackson, and explicit mapping to service-owned models.
Read MoreLearn where Java 22 lets you use underscore for intentionally unused locals, catch parameters, lambda parameters, type patterns, and nested record patterns.
Read MoreBuild a safe Spring Data JPA boundary with proxy-friendly entities, record DTOs, explicit fetch plans, and service-owned transactions.
Read MoreWhat Java Stream Gatherers are (JEP 485 / Java 24), why map/filter/flatMap hit a wall, built-ins like windowFixed and fold, and how to write a short custom gatherer.
Read MoreGo beyond map/filter/collect: groupingBy, teeing, takeWhile/dropWhile, short-circuit order, primitive streams, parallel pitfalls, and Stream best practices for production Java.
Read MoreA beginner-to-intermediate guide to Java Streams: source → filter/map/flatMap → collect, lazy pipelines, and when a plain for loop is clearer.
Read MoreEnable spring.threads.virtual.enabled on Boot 3.2+, understand what Tomcat and the application task executor actually switch, and size Hikari, RestClient, and observability so the flag does not become a thundering herd.
Read MoreEmit each vertex only after its predecessors — Kahn with indegree and a queue, or DFS reverse finish times — and treat leftover vertices as a cycle.
Read MoreWhat Java scoped values are (JEP 506 / Java 25), how they differ from ThreadLocal, why they fit virtual threads, and how to bind request context with where/run and where/call.
Read MoreLearn the JDK 27 StructuredTaskScope factory API, Joiner policies, fan-in, sibling cancellation, and how structured concurrency fits virtual threads and scoped values.
Read MoreWhat sealed classes are (JEP 409 / Java 17), how pattern switch and record patterns finish the story on Java 21, and how to replace cascading instanceof with compiler-checked exhaustiveness.
Read MoreAfter virtual threads, when intrinsic locks still win — pinning vs JEP 491, wait/notify, monitors, and ReentrantLock — so you do not treat synchronized as obsolete.
Read MoreWhat Java virtual threads are (JEP 444 / Java 21), how they differ from platform threads, when they win for I/O-bound work, and the pinning and ThreadLocal gotchas—plus what Java 25 changed.
Read MoreHands-on kubectl recipes for deploy verification — find pods by label, read placement and resources, confirm image tags or digests, and read recent cluster events.
Read MoreSpin up a disposable local Kubernetes cluster with kind — install prerequisites, create a multi-node cluster, verify with kubectl, deploy a sample app, and tear it down cleanly.
Read MoreWhat Java records are, when they shipped (JEP 395 / Java 16), the problem they solve, and practical use cases with code—from DTOs to sealed-pattern matching.
Read MoreWalk one order/payment notification service through all five SOLID principles end to end — the seams that matter, the ones that do not, and when to stop applying the checklist.
Read MoreApply Dependency Inversion in Java: move Stripe and SMTP construction out of OrderProcessor, inject abstractions, and see how Spring DI is one wiring option — not the principle itself.
Read MoreHands-on Cursor Agent Skills for beginners — what a skill is, where it lives, how to write a SKILL.md, and how the agent picks it up.
Read MoreHands-on Git branching — create a feature branch, push it with upstream tracking, merge back into main, and clean up local and remote branches.
Read MoreHands-on Git for the stuck push — fetch remote changes, resolve merge conflicts, then revert or roll back commits safely.
Read MoreWhen to put an API gateway in front of your services, the trade-offs that matter, and a working Spring Cloud Gateway Server Web MVC example on the Servlet stack.
Read MoreHands-on Git for beginners — init a repo, stage and commit safely, read diffs, and push your first project to a remote.
Read MoreApply Interface Segregation in Java: break a fat PaymentOperations interface into client-shaped seams so charge, refund, and report clients stop stubbing unused methods.
Read MoreDetect a directed cycle with 3-color DFS (gray means on the recursion stack) and an undirected cycle by skipping the parent — a visited flag alone is the diamond trap.
Read MoreSpot Liskov Substitution violations in Java inheritance — UnsupportedOperationException, tightened preconditions, null surprises — and replace dishonest subtypes with honest types.
Read MoreWalk a graph with DFS, stamp finish times, run the same walk on an ArrayDeque, and recognize a back edge as the shape of a cycle.
Read MoreApply the Open-Closed Principle in Java: replace growing if/switch payment forests with extension seams so new providers are added, not edited into the core.
Read MoreWhat the Single Responsibility Principle actually means — one audience, one reason to change — with a Java OrderProcessor god class split into cohesive pieces.
Read MoreHands-on triage with htop, journalctl, dmesg, and lsof — diagnose high load and crashes by chaining the right tool at each step.
Read MoreWhat SOLID means in practice, a glossary of the five principles, when they become cargo-cult, and a map of this series — with a shared order/payment domain for later posts.
Read More