# JVM Scope > Java, runtimes, frameworks, and the systems beneath them: deep technical writing about the JVM and its ecosystem. - Language: en - Full text: https://jvmscope.com/llms-full.txt - Feed: https://jvmscope.com/rss.xml ## Posts - [Streams Versus Loops: What the JIT Sees](https://jvmscope.com/blog/streams-versus-loops-what-the-jit-sees/) — 2026-10-04 — The same pipeline cost 7.05 times the loop over eight elements and 1.31 times over a million. The ratio everyone quotes is a measurement at a trip count. (Markdown: https://jvmscope.com/blog/streams-versus-loops-what-the-jit-sees.md) - [The Cost of Optional](https://jvmscope.com/blog/the-cost-of-optional/) — 2026-09-27 — Identical source, five call sites, one JDK 26 run - nothing allocated at the first and twelve bytes at three others. The wrapper is not what decides. (Markdown: https://jvmscope.com/blog/the-cost-of-optional.md) - [JFR: The Events You Actually Need](https://jvmscope.com/blog/jfr-the-events-you-actually-need/) — 2026-09-13 — Sixty seconds of default settings produced 4.3 MB, three quarters of it one event type, and none of it answered whether the application was lock-contended. (Markdown: https://jvmscope.com/blog/jfr-the-events-you-actually-need.md) - [What a Safepoint Actually Stops](https://jvmscope.com/blog/what-a-safepoint-actually-stops/) — 2026-09-06 — One collection, reported as 2.275 ms by the GC log and 29.6 ms by the safepoint log. The gap is time to safepoint, and each instrument hides a different part of it. (Markdown: https://jvmscope.com/blog/what-a-safepoint-actually-stops.md) - [How the JVM Finds and Loads a Class](https://jvmscope.com/blog/how-the-jvm-finds-and-loads-a-class/) — 2026-08-30 — A hello-world program loads 423 classes before it prints anything. Where they come from, what the JVM does to each one, and how to see it. (Markdown: https://jvmscope.com/blog/how-the-jvm-finds-and-loads-a-class.md) - [Where Spring Boot Startup Time Goes](https://jvmscope.com/blog/where-spring-boot-startup-time-goes/) — 2026-08-26 — Startup time is class loading, condition evaluation and JIT warmup in some proportion. Measure the split before reaching for a fix. (Markdown: https://jvmscope.com/blog/where-spring-boot-startup-time-goes.md) - [Reading a Thread Dump Without Guessing](https://jvmscope.com/blog/reading-a-thread-dump-without-guessing/) — 2026-08-19 — A thread dump answers precise questions if you ask them precisely. What each state really means, and the traps that produce confident wrong diagnoses. (Markdown: https://jvmscope.com/blog/reading-a-thread-dump-without-guessing.md) - [G1 versus ZGC: What the Pause Numbers Hide](https://jvmscope.com/blog/g1-versus-zgc-what-pause-numbers-hide/) — 2026-08-11 — Sub-millisecond pauses are real, and they are not the whole cost. What the two collectors actually trade, and which numbers to compare instead. (Markdown: https://jvmscope.com/blog/g1-versus-zgc-what-pause-numbers-hide.md) - [Escape Analysis and the Allocation That Never Happened](https://jvmscope.com/blog/escape-analysis-and-the-allocation-that-never-happened/) — 2026-08-04 — C2 can delete an object entirely by proving it never escapes. Here is when that works, when it silently stops, and how to measure the difference. (Markdown: https://jvmscope.com/blog/escape-analysis-and-the-allocation-that-never-happened.md) - [Virtual Threads and the Pinning Problem](https://jvmscope.com/blog/virtual-threads-and-the-pinning-problem/) — 2026-07-23 — Virtual threads scale until something nails one to its carrier. Here is what still pins on modern JDKs, and how to see it happen. (Markdown: https://jvmscope.com/blog/virtual-threads-and-the-pinning-problem.md) - [What the JIT Actually Does to Your Hot Loop](https://jvmscope.com/blog/what-the-jit-does-to-your-hot-loop/) — 2026-07-14 — Tiered compilation, on-stack replacement and inlining decide how your loop really runs. Here is how to read those decisions instead of guessing. (Markdown: https://jvmscope.com/blog/what-the-jit-does-to-your-hot-loop.md) ## Pages - [About JVM Scope](https://jvmscope.com/about/) — Why this publication exists, who writes it, what it will and will not publish, and the process every article passes through before it goes out. - [Contact](https://jvmscope.com/contact/) — How to reach JVM Scope about corrections, questions, article suggestions, or anything else regarding the site. - [Privacy Policy](https://jvmscope.com/privacy/) — What JVM Scope collects, the legal basis for it, how long it is kept, and the rights you have under the GDPR. - [Cookie Policy](https://jvmscope.com/cookies/) — Why JVM Scope shows no cookie banner: it sets no cookies, and the one item it stores locally is exempt from consent. - [Terms of Use](https://jvmscope.com/terms/) — The terms that apply when you read JVM Scope: what you may reuse, what the code samples guarantee, and where liability ends. ## Optional - [Reading the runtime](https://jvmscope.com/series/reading-the-runtime/) — series, 4 parts — Articles about the signals a running JVM already emits, and how to read them without guessing. - [The cost of an abstraction](https://jvmscope.com/series/cost-of-an-abstraction/) — series, 2 parts — What a wrapper, a pipeline or a proxy costs is a property of the call site, not of the abstraction. Five articles measuring the difference. - [performance](https://jvmscope.com/tags/performance/) — topic archive, 6 articles - [jit](https://jvmscope.com/tags/jit/) — topic archive, 4 articles - [jvm-internals](https://jvmscope.com/tags/jvm-internals/) — topic archive, 4 articles - [profiling](https://jvmscope.com/tags/profiling/) — topic archive, 4 articles - [java](https://jvmscope.com/tags/java/) — topic archive, 3 articles - [concurrency](https://jvmscope.com/tags/concurrency/) — topic archive, 2 articles - [gc](https://jvmscope.com/tags/gc/) — topic archive, 2 articles - [memory](https://jvmscope.com/tags/memory/) — topic archive, 2 articles - [spring](https://jvmscope.com/tags/spring/) — topic archive, 2 articles - [virtual-threads](https://jvmscope.com/tags/virtual-threads/) — topic archive, 2 articles - [Full text](https://jvmscope.com/llms-full.txt) — every article in one Markdown document - [RSS](https://jvmscope.com/rss.xml)