<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Balkrishna Rawool on JAVAPRO International</title><link>https://javapro-en.svenruppert.com/authors/balkrishna-rawool/</link><description>Recent content in Balkrishna Rawool on JAVAPRO International</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Thu, 09 Apr 2026 07:00:02 +0000</lastBuildDate><atom:link href="https://javapro-en.svenruppert.com/authors/balkrishna-rawool/index.xml" rel="self" type="application/rss+xml"/><item><title>Java Vector API: Faster vector computations for the JVM</title><link>https://javapro-en.svenruppert.com/java-vector-api-faster-vector-computations-for-the-jvm/</link><pubDate>Thu, 09 Apr 2026 07:00:02 +0000</pubDate><guid>https://javapro-en.svenruppert.com/java-vector-api-faster-vector-computations-for-the-jvm/</guid><description>&lt;h2 id="introduction"&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Modern CPUs contain vector registers. These vector registers hold multiple numerical values as the same time. They enable SIMD (Single Instruction Multiple Data) which allows same instruction to be applied to multiple pairs of data which is present in these vector registers. SIMD is a natural choice for parallel data processing which is needed for processing arrays, large binary files, statistical analysis etc.&lt;/p&gt;
&lt;p&gt;Historically, Java developers relied on the HotSpot compiler to auto-vectorize simple loops. Auto-vectorization is an extremely fast choice when it applies, but it requires a lot of conditions to be met to be applied: many real-world loops are not transformed because the compiler cannot prove safety or profitability. Java’s Vector API was introduced to close this gap by providing a clear, explicit, platform-agnostic way to express vector computations so that they can be reliably compiled to the best available hardware instructions and still run correctly (with “graceful degradation”) when vector instructions are not available or not applicable.&lt;/p&gt;</description></item><item><title>Virtual Threads, Structured Concurrency and Scoped Values: Putting it all together</title><link>https://javapro-en.svenruppert.com/virtual-threads-structured-concurrency-and-scoped-values-putting-it-all-together/</link><pubDate>Thu, 19 Feb 2026 07:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/virtual-threads-structured-concurrency-and-scoped-values-putting-it-all-together/</guid><description>&lt;p&gt;In this article we are going to discuss Virtual Threads, Structured Concurrency and Scoped Values, the three main features of Project Loom and see how we can put them all together, in a web application. We will create a Spring Boot application and then add these features one by one to see how these features fit together nicely enabling us to write readable concurrent programs.&lt;/p&gt;
&lt;h2 id="what-is-project-loom"&gt;&lt;strong&gt;What is Project Loom?&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Project Loom is one of the most important projects at Open JDK. The purpose of Project Loom is to provide high throughput, lightweight concurrency, which is also easy to use. It does so by providing three features: virtual threads, structured concurrency and scoped values. Virtual threads are lightweight, high-throughput threads that scale effortlessly. Structured concurrency is a streamlined approach to managing concurrent tasks as a single unit of work and scoped values are a modern alternative to &lt;code&gt;ThreadLocal&lt;/code&gt;, designed for virtual threads.&lt;/p&gt;</description></item><item><title>Writing Readable Code with Algebraic Data Types and Pattern Matching in Java</title><link>https://javapro-en.svenruppert.com/writing-readable-code-with-algebraic-data-types-and-pattern-matching-in-java/</link><pubDate>Tue, 11 Nov 2025 07:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/writing-readable-code-with-algebraic-data-types-and-pattern-matching-in-java/</guid><description>&lt;p&gt;Writing readable code is essential for the maintainability of any application. There are many techniques we can use to be able to write readable code. This article discusses one such technique that uses Algebraic Data Types and Pattern Matching, a few of the important features from Project Amber [1]. We will first discuss what Algebraic Data Types are, and then we will discuss some Pattern Matching features from Java. Finally, we will see an example where we can use them to write readable code.&lt;/p&gt;</description></item></channel></rss>