René's URL Explorer Experiment


Title: Concurrent HTTP with virtual threads | java.evolved

Open Graph Title: Concurrent HTTP with virtual threads | java.evolved

X Title: Concurrent HTTP with virtual threads | java.evolved

Description: Fetch many URLs concurrently with virtual threads and HttpClient.

Open Graph Description: Fetch many URLs concurrently with virtual threads and HttpClient.

X Description: Fetch many URLs concurrently with virtual threads and HttpClient.

Opengraph URL: https://javaevolved.github.io/concurrency/concurrent-http-virtual.html

direct link

Domain: javaevolved.github.io


Hey, it has json ld scripts:
  {
    "@context": "https://schema.org",
    "@type": "TechArticle",
    "headline": "Concurrent HTTP with virtual threads",
    "description": "Fetch many URLs concurrently with virtual threads and HttpClient.",
    "url": "https://javaevolved.github.io/concurrent-http-virtual.html",
    "publisher": {
        "@type": "Organization",
        "name": "java.evolved",
        "url": "https://javaevolved.github.io"
    },
    "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://javaevolved.github.io/concurrent-http-virtual.html"
    }
}
  
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
        {
            "@type": "ListItem",
            "position": 1,
            "name": "Home",
            "item": "https://javaevolved.github.io/"
        },
        {
            "@type": "ListItem",
            "position": 2,
            "name": "Concurrency",
            "item": "https://javaevolved.github.io/#concurrency"
        },
        {
            "@type": "ListItem",
            "position": 3,
            "name": "Concurrent HTTP with virtual threads"
        }
    ]
}
  

theme-color#f97316
mobile-web-app-capableyes
apple-mobile-web-app-status-bar-styleblack-translucent
apple-mobile-web-app-titlejava.evolved
og:typearticle
og:site_namejava.evolved
og:localeen
og:imagehttps://javaevolved.github.io/og/concurrency/concurrent-http-virtual.png
og:image:width1200
og:image:height630
og:image:typeimage/png
twitter:cardsummary_large_image
twitter:imagehttps://javaevolved.github.io/og/concurrency/concurrent-http-virtual.png

Links:

java.evolvedhttps://javaevolved.github.io/
https://github.com/javaevolved/javaevolved.github.io
← All patternshttps://javaevolved.github.io/
https://javaevolved.github.io/concurrency/process-api.html
https://javaevolved.github.io/concurrency/lock-free-lazy-init.html
Homehttps://javaevolved.github.io/
Concurrencyhttps://javaevolved.github.io/#concurrency
🐛 Report a code issuehttps://github.com/javaevolved/javaevolved.github.io/issues/new?template=code-issue.yml&title=%5BCode%20Issue%5D%20Concurrent%20HTTP%20with%20virtual%20threads&category=concurrency&slug=concurrent-http-virtual
🌐 Report a translation issuehttps://github.com/javaevolved/javaevolved.github.io/issues/new?template=translation-issue.yml&title=%5BTranslation%5D%20Concurrent%20HTTP%20with%20virtual%20threads%20%28English%29&locale=en&pattern=concurrent-http-virtual&area=Pattern%20content
💡 Suggest a new patternhttps://github.com/javaevolved/javaevolved.github.io/issues/new?template=new-pattern.yml
𝕏https://x.com/intent/tweet?url=https%3A%2F%2Fjavaevolved.github.io%2Fconcurrency%2Fconcurrent-http-virtual.html&text=Concurrent%20HTTP%20with%20virtual%20threads%20%E2%80%93%20java.evolved
🦋https://bsky.app/intent/compose?text=Concurrent%20HTTP%20with%20virtual%20threads%20%E2%80%93%20java.evolved%20https%3A%2F%2Fjavaevolved.github.io%2Fconcurrency%2Fconcurrent-http-virtual.html
inhttps://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fjavaevolved.github.io%2Fconcurrency%2Fconcurrent-http-virtual.html
https://www.reddit.com/submit?url=https%3A%2F%2Fjavaevolved.github.io%2Fconcurrency%2Fconcurrent-http-virtual.html&title=Concurrent%20HTTP%20with%20virtual%20threads%20%E2%80%93%20java.evolved
Let us know.https://github.com/javaevolved/javaevolved.github.io/issues/new?template=code-issue.yml&title=%5BCode%20Issue%5D%20Concurrent%20HTTP%20with%20virtual%20threads&category=concurrency&slug=concurrent-http-virtual
Virtual Threads (JEP 444) ↗https://openjdk.org/jeps/444
HttpClient ↗https://docs.oracle.com/en/java/javase/25/docs/api/java.net.http/java/net/http/HttpClient.html
View proof source ↗https://github.com/javaevolved/javaevolved.github.io/blob/main/proof/concurrency/ConcurrentHttpVirtual.java
Concurrency Advanced Structured concurrency Java 8 ExecutorService exec = Executors.newFixedThreadPool(2); Future u = exec.submit(this::fetchUser); Future o = exec.submit(this::fetchOrder); try { return combine(u.get(), o.get()); } finally { exec.shutdown(); } Java 25 (Preview) try (var scope = new StructuredTaskScope .ShutdownOnFailure()) { var u = scope.fork(this::fetchUser); var o = scope.fork(this::fetchOrder); scope.join().throwIfFailed(); return combine(u.get(), o.get()); } Hover to see modern ➜ JDK 25+ → https://javaevolved.github.io/concurrency/structured-concurrency.html
Concurrency Advanced Stable values Java 8 private volatile Logger logger; Logger getLogger() { if (logger == null) { synchronized (this) { if (logger == null) logger = createLogger(); } } return logger; } Java 25 (Preview) private final StableValue logger = StableValue.of(this::createLogger); Logger getLogger() { return logger.get(); } Hover to see modern ➜ JDK 25+ → https://javaevolved.github.io/concurrency/stable-values.html
Concurrency Advanced Lock-free lazy initialization Java 8 class Config { private static volatile Config inst; static Config get() { if (inst == null) { synchronized (Config.class) { if (inst == null) inst = load(); } } return inst; } } Java 25 (Preview) class Config { private static final StableValue INST = StableValue.of(Config::load); static Config get() { return INST.get(); } } Hover to see modern ➜ JDK 25+ → https://javaevolved.github.io/concurrency/lock-free-lazy-init.html
java.evolvedhttps://javaevolved.github.io/
Bruno Borgeshttps://github.com/brunoborges
GitHub Copilothttps://github.com/features/copilot
modern-css.comhttps://modern-css.com
View on GitHubhttps://github.com/javaevolved/javaevolved.github.io

Viewport: width=device-width, initial-scale=1.0

Robots: index, follow


URLs of crawlers that visited me.