<?xml version="1.0" encoding="UTF-8" standalone="no"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0">

<channel>
	<title>Java Code Geeks</title>
	<atom:link href="https://www.javacodegeeks.com/feed" rel="self" type="application/rss+xml"/>
	<link>https://www.javacodegeeks.com/</link>
	<description>Java 2 Java Developers Resource Center</description>
	<lastBuildDate>Fri, 20 Mar 2026 19:11:07 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.javacodegeeks.com/wp-content/uploads/2012/12/JavaCodeGeeks-favIcon.png</url>
	<title>Java Code Geeks</title>
	<link>https://www.javacodegeeks.com/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>PHP in 2026: The Language That Refuses to Die</title>
		<link>https://www.javacodegeeks.com/2026/03/php-in-2026-the-language-that-refuses-to-die.html</link>
					<comments>https://www.javacodegeeks.com/2026/03/php-in-2026-the-language-that-refuses-to-die.html#respond</comments>
		
		<dc:creator><![CDATA[Eleftheria Drosopoulou]]></dc:creator>
		<pubDate>Mon, 23 Mar 2026 17:03:00 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Backend Engineering]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Web Development]]></category>
		<guid isPermaLink="false">https://www.javacodegeeks.com/?p=142310</guid>

					<description><![CDATA[An honest, non-snobbish assessment of why a 30-year-old scripting language still powers three-quarters of the web — and why the architectural reasons behind that persistence are more interesting than the memes. 1. The Honest Starting Point PHP is not cool. It has never been cool. And at this point, it has clearly decided not to &#8230;]]></description>
		
					<wfw:commentRss>https://www.javacodegeeks.com/2026/03/php-in-2026-the-language-that-refuses-to-die.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<media:thumbnail url="https://www.javacodegeeks.com/wp-content/uploads/2021/04/php-logo.jpg"/>
	</item>
		<item>
		<title>HTTP/3 Comes to the Java HTTP Client</title>
		<link>https://www.javacodegeeks.com/2026/03/http-3-comes-to-the-java-http-client.html</link>
					<comments>https://www.javacodegeeks.com/2026/03/http-3-comes-to-the-java-http-client.html#respond</comments>
		
		<dc:creator><![CDATA[Eleftheria Drosopoulou]]></dc:creator>
		<pubDate>Mon, 23 Mar 2026 06:44:00 +0000</pubDate>
				<category><![CDATA[Core Java]]></category>
		<category><![CDATA[HTTP3]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JDK26]]></category>
		<guid isPermaLink="false">https://www.javacodegeeks.com/?p=142305</guid>

					<description><![CDATA[What JEP 517&#8217;s QUIC-based transport actually means for your microservices, your latency, and your connection handling — explained simply. 1. The Background — Why TCP Was Holding Us Back For decades, TCP was the unsung backbone of the internet. It was reliable, well-understood, and essentially everywhere. However, as microservice architectures grew in complexity and services &#8230;]]></description>
		
					<wfw:commentRss>https://www.javacodegeeks.com/2026/03/http-3-comes-to-the-java-http-client.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<media:thumbnail url="https://www.javacodegeeks.com/wp-content/uploads/2012/10/java-logo.jpg"/>
	</item>
		<item>
		<title>Fixing Java ClassCastException for Comparable Objects</title>
		<link>https://www.javacodegeeks.com/fixing-java-classcastexception-for-comparable-objects.html</link>
					<comments>https://www.javacodegeeks.com/fixing-java-classcastexception-for-comparable-objects.html#respond</comments>
		
		<dc:creator><![CDATA[Yatin Batra]]></dc:creator>
		<pubDate>Fri, 20 Mar 2026 17:21:11 +0000</pubDate>
				<category><![CDATA[Core Java]]></category>
		<category><![CDATA[Java]]></category>
		<guid isPermaLink="false">https://www.javacodegeeks.com/?p=142217</guid>

					<description><![CDATA[This article explains why Java throws a ClassCastException when using ordered collections like TreeSet or TreeMap with objects that are not comparable. It covers the common causes, including null comparators, raw types, and missing ordering, and shows how to fix these issues using Comparable or Comparator. Let us delve into understanding how to resolve the &#8230;]]></description>
		
					<wfw:commentRss>https://www.javacodegeeks.com/fixing-java-classcastexception-for-comparable-objects.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<media:thumbnail url="https://www.javacodegeeks.com/wp-content/uploads/2012/10/java-logo.jpg"/>
	</item>
		<item>
		<title>Spring AI 1.1 and theModel Context Protocol:Building Production AI AgentsWithout the Python Tax</title>
		<link>https://www.javacodegeeks.com/2026/03/spring-ai-1-1-and-themodel-context-protocolbuilding-production-ai-agentswithout-the-python-tax.html</link>
					<comments>https://www.javacodegeeks.com/2026/03/spring-ai-1-1-and-themodel-context-protocolbuilding-production-ai-agentswithout-the-python-tax.html#respond</comments>
		
		<dc:creator><![CDATA[Eleftheria Drosopoulou]]></dc:creator>
		<pubDate>Fri, 20 Mar 2026 16:59:40 +0000</pubDate>
				<category><![CDATA[Enterprise Java]]></category>
		<category><![CDATA[Java AI Agents]]></category>
		<category><![CDATA[Model Context Protocol]]></category>
		<category><![CDATA[spring ai]]></category>
		<guid isPermaLink="false">https://www.javacodegeeks.com/?p=142213</guid>

					<description><![CDATA[Spring AI 1.0 shipped in May 2025. The 1.1 follow-up added full MCP integration, 20+ AI model backends, and a structured Advisors API for RAG and conversation memory. For the first time, Java developers can build AI agents that feel genuinely native — no Python sidecar, no LangChain wrapper, no second deployment. Java developers have &#8230;]]></description>
		
					<wfw:commentRss>https://www.javacodegeeks.com/2026/03/spring-ai-1-1-and-themodel-context-protocolbuilding-production-ai-agentswithout-the-python-tax.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<media:thumbnail url="https://www.javacodegeeks.com/wp-content/uploads/2012/10/spring-logo.jpg"/>
	</item>
		<item>
		<title>Elasticsearch keyword vs text</title>
		<link>https://www.javacodegeeks.com/elasticsearch-keyword-vs-text.html</link>
					<comments>https://www.javacodegeeks.com/elasticsearch-keyword-vs-text.html#respond</comments>
		
		<dc:creator><![CDATA[Yatin Batra]]></dc:creator>
		<pubDate>Fri, 20 Mar 2026 16:49:26 +0000</pubDate>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Elasticsearch]]></category>
		<guid isPermaLink="false">https://www.javacodegeeks.com/?p=142195</guid>

					<description><![CDATA[This article explores Elasticsearch field types and how to choose between text and keyword for effective search and indexing. 1. Introduction to Elasticsearch Elasticsearch is a distributed, RESTful search and analytics engine that can store, search, and analyze large volumes of data quickly in near real-time. It is widely used for full-text search, log and &#8230;]]></description>
		
					<wfw:commentRss>https://www.javacodegeeks.com/elasticsearch-keyword-vs-text.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<media:thumbnail url="https://www.javacodegeeks.com/wp-content/uploads/2012/10/software-development-2-logo.jpg"/>
	</item>
		<item>
		<title>Project Panama’s FFM API in Production: Replacing JNI Without Writing C Wrappers</title>
		<link>https://www.javacodegeeks.com/2026/03/project-panamas-ffm-api-in-production-replacing-jni-without-writing-c-wrappers.html</link>
					<comments>https://www.javacodegeeks.com/2026/03/project-panamas-ffm-api-in-production-replacing-jni-without-writing-c-wrappers.html#respond</comments>
		
		<dc:creator><![CDATA[Eleftheria Drosopoulou]]></dc:creator>
		<pubDate>Fri, 20 Mar 2026 06:43:00 +0000</pubDate>
				<category><![CDATA[Core Java]]></category>
		<category><![CDATA[FFMApi]]></category>
		<category><![CDATA[Java 22]]></category>
		<category><![CDATA[Project Panama]]></category>
		<guid isPermaLink="false">https://www.javacodegeeks.com/?p=142209</guid>

					<description><![CDATA[The Foreign Function &#38; Memory API is standard as of Java 22. JNI is now officially the legacy path. Most tutorials stop at &#8220;call printf from Java.&#8221; This one goes further — real library integration, memory lifecycle management, and a side-by-side comparison that shows exactly what you gain and what you still need to watch &#8230;]]></description>
		
					<wfw:commentRss>https://www.javacodegeeks.com/2026/03/project-panamas-ffm-api-in-production-replacing-jni-without-writing-c-wrappers.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<media:thumbnail url="https://www.javacodegeeks.com/wp-content/uploads/2012/10/java-logo.jpg"/>
	</item>
		<item>
		<title>NATS vs. Kafka vs. Redis Streams for Java Microservices: When “Simpler” Actually Wins</title>
		<link>https://www.javacodegeeks.com/2026/03/nats-vs-kafka-vs-redis-streams-for-java-microservices-when-simpler-actually-wins.html</link>
					<comments>https://www.javacodegeeks.com/2026/03/nats-vs-kafka-vs-redis-streams-for-java-microservices-when-simpler-actually-wins.html#respond</comments>
		
		<dc:creator><![CDATA[Eleftheria Drosopoulou]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 16:21:02 +0000</pubDate>
				<category><![CDATA[Core Java]]></category>
		<category><![CDATA[Apache Kafka]]></category>
		<category><![CDATA[Java Microservices]]></category>
		<category><![CDATA[NATS Jet Stream]]></category>
		<guid isPermaLink="false">https://www.javacodegeeks.com/?p=142203</guid>

					<description><![CDATA[Kafka is the default answer for event-driven microservices. It&#8217;s also massively overused. NATS and Redis Streams solve a large category of messaging problems with a fraction of the operational burden. This comparison gives Java architects a decision framework based on durability requirements, latency SLAs, and team operational capacity — not just throughput benchmarks. Ask any &#8230;]]></description>
		
					<wfw:commentRss>https://www.javacodegeeks.com/2026/03/nats-vs-kafka-vs-redis-streams-for-java-microservices-when-simpler-actually-wins.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<media:thumbnail url="https://www.javacodegeeks.com/wp-content/uploads/2012/10/java-logo.jpg"/>
	</item>
		<item>
		<title>[DEALS] The Premium Learn to Code Certification Bundle (97% off) &amp; Other Deals Up To 98% Off – Offers End Soon!</title>
		<link>https://www.javacodegeeks.com/2026/03/deals-the-premium-learn-to-code-certification-bundle-97-off-other-deals-up-to-98-off-offers-end-soon-2.html</link>
					<comments>https://www.javacodegeeks.com/2026/03/deals-the-premium-learn-to-code-certification-bundle-97-off-other-deals-up-to-98-off-offers-end-soon-2.html#respond</comments>
		
		<dc:creator><![CDATA[Java Code Geeks]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 11:30:30 +0000</pubDate>
				<category><![CDATA[Meta JCG]]></category>
		<category><![CDATA[Deals]]></category>
		<guid isPermaLink="false">https://www.javacodegeeks.com/?p=142240</guid>

					<description><![CDATA[Hello fellow geeks, Fresh offers await you on our Deals store, please have a look! The Premium Learn to Code Certification Bundle (97% off) Ending soon // by Java Code Geeks Stack Up Your Coding Expertise with 244 Hours of Content on Python, C++, Django, SwiftUI, &#38; More 1min.AI: Lifetime Subscription (89% off) The 2026 &#8230;]]></description>
		
					<wfw:commentRss>https://www.javacodegeeks.com/2026/03/deals-the-premium-learn-to-code-certification-bundle-97-off-other-deals-up-to-98-off-offers-end-soon-2.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<media:thumbnail url="https://www.javacodegeeks.com/wp-content/uploads/2012/12/jcg-logo.jpg"/>
	</item>
		<item>
		<title>JSpecify vs. Kotlin’s Built-in Null Safety: Can Annotations Ever Match a Type System?</title>
		<link>https://www.javacodegeeks.com/2026/03/jspecify-vs-kotlins-built-in-null-safety-can-annotations-ever-match-a-type-system.html</link>
					<comments>https://www.javacodegeeks.com/2026/03/jspecify-vs-kotlins-built-in-null-safety-can-annotations-ever-match-a-type-system.html#respond</comments>
		
		<dc:creator><![CDATA[Eleftheria Drosopoulou]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 05:06:00 +0000</pubDate>
				<category><![CDATA[Enterprise Java]]></category>
		<category><![CDATA[JSpecify]]></category>
		<category><![CDATA[Kotlin Null Safety]]></category>
		<category><![CDATA[Spring Boot 4]]></category>
		<guid isPermaLink="false">https://www.javacodegeeks.com/?p=142199</guid>

					<description><![CDATA[The&#160;NullPointerException&#160;— or NPE — is one of those bugs that every Java developer knows all too well. Tony Hoare, the computer scientist who introduced&#160;null&#160;in 1965, famously called it his&#160;&#8220;billion-dollar mistake.&#8221;&#160;Decades later, the Java ecosystem is still cleaning up that mess. And now, with&#160;Spring Boot 4&#160;officially adopting&#160;JSpecify&#160;in late 2025, the conversation has reignited: can a smart &#8230;]]></description>
		
					<wfw:commentRss>https://www.javacodegeeks.com/2026/03/jspecify-vs-kotlins-built-in-null-safety-can-annotations-ever-match-a-type-system.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<media:thumbnail url="https://www.javacodegeeks.com/wp-content/uploads/2012/10/enterprise-java-logo.jpg"/>
	</item>
		<item>
		<title>Shifting Left on Security: How to Harden CI/CD Pipelines for Payment APIs</title>
		<link>https://www.javacodegeeks.com/shifting-left-on-security-how-to-harden-ci-cd-pipelines-for-payment-apis.html</link>
					<comments>https://www.javacodegeeks.com/shifting-left-on-security-how-to-harden-ci-cd-pipelines-for-payment-apis.html#respond</comments>
		
		<dc:creator><![CDATA[Suman Basak]]></dc:creator>
		<pubDate>Wed, 18 Mar 2026 18:35:00 +0000</pubDate>
				<category><![CDATA[Java]]></category>
		<guid isPermaLink="false">https://www.javacodegeeks.com/?p=142284</guid>

					<description><![CDATA[Introduction Payment systems process millions of transactions every day. Each transaction involves sensitive financial information such as card numbers, account IDs, and authorization tokens. Because of this, every software deployment carries potential security risk. At the same time, modern development teams often release new code 15–20 times a day. At that speed, traditional manual security &#8230;]]></description>
		
					<wfw:commentRss>https://www.javacodegeeks.com/shifting-left-on-security-how-to-harden-ci-cd-pipelines-for-payment-apis.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<media:thumbnail url="https://www.javacodegeeks.com/wp-content/uploads/2012/10/devops-logo.jpg"/>
	</item>
	</channel>
</rss>