<?xml version="1.0" encoding="UTF-8"?>
<!-- This sitemap was dynamically generated on 26 September 2026 at 15:25 by All in One SEO v5.0.0.1 - the original SEO plugin for WordPress. -->

<?xml-stylesheet type="text/xsl" href="https://javahandson.com/default-sitemap.xsl"?>

<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Java-HandsOn</title>
		<link><![CDATA[https://javahandson.com]]></link>
		<description><![CDATA[Java-HandsOn]]></description>
		<lastBuildDate><![CDATA[Sat, 26 Sep 2026 14:19:52 +0000]]></lastBuildDate>
		<docs>https://validator.w3.org/feed/docs/rss2.html</docs>
		<atom:link href="https://javahandson.com/sitemap.rss" rel="self" type="application/rss+xml" />
		<ttl><![CDATA[60]]></ttl>

		<item>
			<guid><![CDATA[https://javahandson.com/introduction-to-the-collectors-class]]></guid>
			<link><![CDATA[https://javahandson.com/introduction-to-the-collectors-class]]></link>
			<title>Introduction to the Collectors class</title>
			<pubDate><![CDATA[Sat, 26 Sep 2026 14:19:52 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/summing-method-in-collectors-api]]></guid>
			<link><![CDATA[https://javahandson.com/summing-method-in-collectors-api]]></link>
			<title>Summing method in Collectors API</title>
			<pubDate><![CDATA[Sat, 26 Sep 2026 14:19:31 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/java-8-summarizing-methods]]></guid>
			<link><![CDATA[https://javahandson.com/java-8-summarizing-methods]]></link>
			<title>Java 8 Summarizing Methods with Examples</title>
			<pubDate><![CDATA[Sat, 26 Sep 2026 14:19:11 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/grouping-in-java-8]]></guid>
			<link><![CDATA[https://javahandson.com/grouping-in-java-8]]></link>
			<title>Grouping in Java 8</title>
			<pubDate><![CDATA[Sat, 26 Sep 2026 14:18:16 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/partitioning-in-java-8]]></guid>
			<link><![CDATA[https://javahandson.com/partitioning-in-java-8]]></link>
			<title>Partitioning in Java 8</title>
			<pubDate><![CDATA[Sat, 26 Sep 2026 14:17:53 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/collect-to-list-set-and-map]]></guid>
			<link><![CDATA[https://javahandson.com/collect-to-list-set-and-map]]></link>
			<title>Java 8 Stream collect to List, Set, and Map: toList, toSet, and toMap</title>
			<pubDate><![CDATA[Sat, 26 Sep 2026 14:17:19 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/reduce-method-in-java-8-streams]]></guid>
			<link><![CDATA[https://javahandson.com/reduce-method-in-java-8-streams]]></link>
			<title>Reduce Method in Java 8 Streams – identity, accumulator and combiner</title>
			<pubDate><![CDATA[Sat, 26 Sep 2026 14:15:34 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/finding-and-matching-in-java-8]]></guid>
			<link><![CDATA[https://javahandson.com/finding-and-matching-in-java-8]]></link>
			<title>Finding and Matching in Java 8</title>
			<pubDate><![CDATA[Sat, 26 Sep 2026 14:14:46 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/sorting-streams-in-java-8]]></guid>
			<link><![CDATA[https://javahandson.com/sorting-streams-in-java-8]]></link>
			<title>Sorting Streams in Java 8 – sorted, Comparator.comparing, thenComparing, reversed</title>
			<pubDate><![CDATA[Sat, 26 Sep 2026 14:13:48 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/post-quantum-hybrid-key-exchange]]></guid>
			<link><![CDATA[https://javahandson.com/post-quantum-hybrid-key-exchange]]></link>
			<title>JEP 527: Post-Quantum Hybrid Key Exchange for TLS 1.3 in Java 27</title>
			<pubDate><![CDATA[Wed, 23 Sep 2026 18:34:24 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/flatmap-in-java-8-streams]]></guid>
			<link><![CDATA[https://javahandson.com/flatmap-in-java-8-streams]]></link>
			<title>flatmap in Java 8 streams</title>
			<pubDate><![CDATA[Sat, 26 Sep 2026 14:13:26 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/mapping-in-java-8-streams]]></guid>
			<link><![CDATA[https://javahandson.com/mapping-in-java-8-streams]]></link>
			<title>mapping in Java 8 streams</title>
			<pubDate><![CDATA[Sat, 26 Sep 2026 14:13:08 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/introduction-to-streams-in-java]]></guid>
			<link><![CDATA[https://javahandson.com/introduction-to-streams-in-java]]></link>
			<title>Introduction to Streams in Java 8: Creating Streams from Values, Arrays and Collections</title>
			<pubDate><![CDATA[Sat, 26 Sep 2026 14:12:08 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/method-reference-in-java-8]]></guid>
			<link><![CDATA[https://javahandson.com/method-reference-in-java-8]]></link>
			<title>Method reference in Java 8</title>
			<pubDate><![CDATA[Sat, 26 Sep 2026 14:11:34 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/function-composition-in-java-8]]></guid>
			<link><![CDATA[https://javahandson.com/function-composition-in-java-8]]></link>
			<title>Function Composition in Java 8: andThen, compose, and Predicate Chaining</title>
			<pubDate><![CDATA[Sat, 26 Sep 2026 14:11:09 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/predefined-functional-interfaces-with-2-input-arguments]]></guid>
			<link><![CDATA[https://javahandson.com/predefined-functional-interfaces-with-2-input-arguments]]></link>
			<title>Predefined Functional interfaces with 2 input arguments</title>
			<pubDate><![CDATA[Sat, 26 Sep 2026 14:10:41 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/predefined-functional-interfaces]]></guid>
			<link><![CDATA[https://javahandson.com/predefined-functional-interfaces]]></link>
			<title>Predefined Functional interfaces</title>
			<pubDate><![CDATA[Sat, 26 Sep 2026 14:09:46 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/custom-functional-interface]]></guid>
			<link><![CDATA[https://javahandson.com/custom-functional-interface]]></link>
			<title>Custom Functional Interface in Java: @FunctionalInterface Explained</title>
			<pubDate><![CDATA[Sat, 26 Sep 2026 14:08:44 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/lambda-expression-in-java-8]]></guid>
			<link><![CDATA[https://javahandson.com/lambda-expression-in-java-8]]></link>
			<title>Lambda expression in Java 8</title>
			<pubDate><![CDATA[Sat, 26 Sep 2026 14:08:08 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/multiple-chat-models-in-spring-ai]]></guid>
			<link><![CDATA[https://javahandson.com/multiple-chat-models-in-spring-ai]]></link>
			<title>Multiple Chat Models in Spring AI: OpenAI + Ollama Guide</title>
			<pubDate><![CDATA[Fri, 25 Sep 2026 22:32:00 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/thread-safety-in-java]]></guid>
			<link><![CDATA[https://javahandson.com/thread-safety-in-java]]></link>
			<title>Race Conditions and Thread Safety in Java</title>
			<pubDate><![CDATA[Fri, 25 Sep 2026 15:57:20 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/spring-ai-framework]]></guid>
			<link><![CDATA[https://javahandson.com/spring-ai-framework]]></link>
			<title>What Is Spring AI Framework: ChatClient &amp; ChatModel with OpenAI (Beginner&#8217;s Guide)</title>
			<pubDate><![CDATA[Thu, 24 Sep 2026 16:24:58 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/filtering-in-streams]]></guid>
			<link><![CDATA[https://javahandson.com/filtering-in-streams]]></link>
			<title>Filtering in Streams</title>
			<pubDate><![CDATA[Sat, 26 Sep 2026 14:12:30 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/deadlock-in-java]]></guid>
			<link><![CDATA[https://javahandson.com/deadlock-in-java]]></link>
			<title>Deadlock in Java: Causes and How to Avoid It</title>
			<pubDate><![CDATA[Wed, 23 Sep 2026 16:46:52 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/longest-substring-without-repeating-characters]]></guid>
			<link><![CDATA[https://javahandson.com/longest-substring-without-repeating-characters]]></link>
			<title>Longest Substring Without Repeating Characters in Java DSA</title>
			<pubDate><![CDATA[Tue, 25 Aug 2026 15:28:34 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/java-lang-nullpointerexception-in-java]]></guid>
			<link><![CDATA[https://javahandson.com/java-lang-nullpointerexception-in-java]]></link>
			<title>How to Fix java.lang.NullPointerException in Java</title>
			<pubDate><![CDATA[Tue, 22 Sep 2026 08:29:15 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/volatile-keyword-in-java]]></guid>
			<link><![CDATA[https://javahandson.com/volatile-keyword-in-java]]></link>
			<title>The volatile Keyword in Java: The Visibility Guarantee and Its Limits</title>
			<pubDate><![CDATA[Tue, 22 Sep 2026 06:08:03 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/rabbitmq-exchanges-and-queues]]></guid>
			<link><![CDATA[https://javahandson.com/rabbitmq-exchanges-and-queues]]></link>
			<title>RabbitMQ Exchanges and Queues Explained, Plus the Real Kafka vs RabbitMQ Trade-offs</title>
			<pubDate><![CDATA[Wed, 09 Sep 2026 07:04:44 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/hashmap-internal-working]]></guid>
			<link><![CDATA[https://javahandson.com/hashmap-internal-working]]></link>
			<title>HashMap Internal Working in Java: A Beginner-Friendly Deep Dive</title>
			<pubDate><![CDATA[Tue, 22 Sep 2026 04:15:32 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/event-sourcing-in-system-design]]></guid>
			<link><![CDATA[https://javahandson.com/event-sourcing-in-system-design]]></link>
			<title>Event Sourcing in System Design: A Beginner&#8217;s Guide</title>
			<pubDate><![CDATA[Thu, 17 Sep 2026 10:16:18 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/java-27-vs-java-26]]></guid>
			<link><![CDATA[https://javahandson.com/java-27-vs-java-26]]></link>
			<title>Java 27 vs Java 26: What Changed Between JDK 26 and JDK 27</title>
			<pubDate><![CDATA[Sun, 20 Sep 2026 16:25:23 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/java-9/]]></guid>
			<link><![CDATA[https://javahandson.com/java-9/]]></link>
			<title>Java 9</title>
			<pubDate><![CDATA[Sun, 20 Sep 2026 16:15:18 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/executorservice-in-java]]></guid>
			<link><![CDATA[https://javahandson.com/executorservice-in-java]]></link>
			<title>ExecutorService in Java</title>
			<pubDate><![CDATA[Sat, 19 Sep 2026 14:28:55 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/thread-priority-in-java]]></guid>
			<link><![CDATA[https://javahandson.com/thread-priority-in-java]]></link>
			<title>Thread Priority in Java and Daemon Threads: A Beginner-Friendly Guide</title>
			<pubDate><![CDATA[Sat, 19 Sep 2026 14:21:52 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/wait-and-notify-in-java]]></guid>
			<link><![CDATA[https://javahandson.com/wait-and-notify-in-java]]></link>
			<title>wait and notify in Java: How Threads Coordinate (Inter-Thread Communication)</title>
			<pubDate><![CDATA[Mon, 21 Sep 2026 15:39:39 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/spring-boot-migration-analyzer/]]></guid>
			<link><![CDATA[https://javahandson.com/spring-boot-migration-analyzer/]]></link>
			<title>Spring Boot Migration Analyzer</title>
			<pubDate><![CDATA[Mon, 21 Sep 2026 08:57:53 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/collections-utility-class-in-java]]></guid>
			<link><![CDATA[https://javahandson.com/collections-utility-class-in-java]]></link>
			<title>Collections Utility Class in Java: sort, binarySearch, and unmodifiable</title>
			<pubDate><![CDATA[Sun, 30 Aug 2026 17:58:11 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/java-27-features-explained]]></guid>
			<link><![CDATA[https://javahandson.com/java-27-features-explained]]></link>
			<title>Java 27 Features Explained: What’s New</title>
			<pubDate><![CDATA[Fri, 18 Sep 2026 16:00:19 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/creating-threads-in-java]]></guid>
			<link><![CDATA[https://javahandson.com/creating-threads-in-java]]></link>
			<title>Creating Threads in Java: Thread Class vs Runnable Interface</title>
			<pubDate><![CDATA[Sun, 06 Sep 2026 11:01:27 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/sorting-collections-in-java]]></guid>
			<link><![CDATA[https://javahandson.com/sorting-collections-in-java]]></link>
			<title>Sorting Collections in Java: Collections.sort &amp; Custom Orders</title>
			<pubDate><![CDATA[Sun, 30 Aug 2026 17:52:48 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/thread-methods-in-java]]></guid>
			<link><![CDATA[https://javahandson.com/thread-methods-in-java]]></link>
			<title>Thread Methods in Java: start, run, sleep, join, and more</title>
			<pubDate><![CDATA[Sat, 12 Sep 2026 07:25:15 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/thread-life-cycle-in-java]]></guid>
			<link><![CDATA[https://javahandson.com/thread-life-cycle-in-java]]></link>
			<title>Thread Life Cycle in Java: States and Transitions Explained</title>
			<pubDate><![CDATA[Sat, 05 Sep 2026 13:29:52 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/multithreading-in-java]]></guid>
			<link><![CDATA[https://javahandson.com/multithreading-in-java]]></link>
			<title>Multithreading in Java: Threads and Concurrency Explained</title>
			<pubDate><![CDATA[Sat, 29 Aug 2026 17:06:39 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/base64/]]></guid>
			<link><![CDATA[https://javahandson.com/base64/]]></link>
			<title>Base64 encoder decoder</title>
			<pubDate><![CDATA[Sat, 29 Aug 2026 06:57:54 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/thread-synchronization-in-java]]></guid>
			<link><![CDATA[https://javahandson.com/thread-synchronization-in-java]]></link>
			<title>Thread Synchronization in Java: synchronized Keyword Explained</title>
			<pubDate><![CDATA[Mon, 14 Sep 2026 16:32:27 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/kafka-deep-dive]]></guid>
			<link><![CDATA[https://javahandson.com/kafka-deep-dive]]></link>
			<title>Kafka Deep Dive: Partitions, Consumer Groups, Offsets, and Ordering Guarantees</title>
			<pubDate><![CDATA[Sat, 29 Aug 2026 06:52:21 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/timestamp-converter/]]></guid>
			<link><![CDATA[https://javahandson.com/timestamp-converter/]]></link>
			<title>Unix timestamp converter</title>
			<pubDate><![CDATA[Thu, 27 Aug 2026 17:12:21 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/spring-security-jwt-flow]]></guid>
			<link><![CDATA[https://javahandson.com/spring-security-jwt-flow]]></link>
			<title>Spring Security JWT Flow Explained: From HTTP Request to @PreAuthorize</title>
			<pubDate><![CDATA[Mon, 14 Sep 2026 05:09:48 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/longest-repeating-character-replacement]]></guid>
			<link><![CDATA[https://javahandson.com/longest-repeating-character-replacement]]></link>
			<title>Longest Repeating Character Replacement in Java DSA</title>
			<pubDate><![CDATA[Tue, 25 Aug 2026 15:27:46 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://javahandson.com/]]></guid>
			<link><![CDATA[https://javahandson.com/]]></link>
			<title>Home</title>
			<pubDate><![CDATA[Thu, 29 Jun 2023 09:54:48 +0000]]></pubDate>
		</item>
				</channel>
</rss>
