<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Astrofy | Personal Portfolio Website Template</title><description>Astrofy is a free and open-source template for your Personal Portfolio Website built with Astro and TailwindCSS. Create in minutes a website with Blog, CV, Project Section, Store and RSS Feed.</description><link>https://thejavaguy.org/</link><item><title>How to install Java 18 (OpenJDK 18) on MacOS</title><link>https://thejavaguy.org/posts/001-how-to-install-jdk-18-on-macos/</link><guid isPermaLink="true">https://thejavaguy.org/posts/001-how-to-install-jdk-18-on-macos/</guid><description>The easiest way to install Java 18 (OpenJDK 18) on MacOS</description><pubDate>Thu, 10 Mar 2022 00:00:00 GMT</pubDate></item><item><title>Use jEnv to manage JDKs</title><link>https://thejavaguy.org/posts/002-use-jenv-to-manage-jdks/</link><guid isPermaLink="true">https://thejavaguy.org/posts/002-use-jenv-to-manage-jdks/</guid><description>How senior developers manage multiple JDKs with jEnv</description><pubDate>Thu, 17 Mar 2022 00:00:00 GMT</pubDate></item><item><title>New in Java 18: Code snippets in Javadoc (part 1)</title><link>https://thejavaguy.org/posts/003-new-in-java-18-code-snippets-in-javadoc-part-1/</link><guid isPermaLink="true">https://thejavaguy.org/posts/003-new-in-java-18-code-snippets-in-javadoc-part-1/</guid><description>Write better Javadoc using code snippets (part 1)</description><pubDate>Thu, 24 Mar 2022 00:00:00 GMT</pubDate></item><item><title>New in Java 18: Simple Web Server (part 1)</title><link>https://thejavaguy.org/posts/004-new-in-java-18-sws-part-1/</link><guid isPermaLink="true">https://thejavaguy.org/posts/004-new-in-java-18-sws-part-1/</guid><description>Use jwebserver like a pro</description><pubDate>Thu, 31 Mar 2022 00:00:00 GMT</pubDate></item><item><title>New in Java 18: Simple Web Server (part 2)</title><link>https://thejavaguy.org/posts/005-new-in-java-18-sws-part-2/</link><guid isPermaLink="true">https://thejavaguy.org/posts/005-new-in-java-18-sws-part-2/</guid><description>Use Simple Web Server programmatically like a real senior developer</description><pubDate>Thu, 07 Apr 2022 00:00:00 GMT</pubDate></item><item><title>New in Java 18: UTF-8 by default</title><link>https://thejavaguy.org/posts/006-new-in-java-18-utf8-by-default/</link><guid isPermaLink="true">https://thejavaguy.org/posts/006-new-in-java-18-utf8-by-default/</guid><description>The minimum every senior developer must know about UTF-8 by default in Java 18</description><pubDate>Thu, 14 Apr 2022 00:00:00 GMT</pubDate></item><item><title>New in Java 18: Code snippets in Javadoc (part 2)</title><link>https://thejavaguy.org/posts/007-new-in-java-18-code-snippets-in-javadoc-part-2/</link><guid isPermaLink="true">https://thejavaguy.org/posts/007-new-in-java-18-code-snippets-in-javadoc-part-2/</guid><description>Write better Javadoc using code snippets (part 2)</description><pubDate>Thu, 28 Apr 2022 00:00:00 GMT</pubDate></item><item><title>My 7½ year old learned 4 bash (Linux) commands in one hour</title><link>https://thejavaguy.org/posts/008-my-kid-learned-bash-in-one-hour/</link><guid isPermaLink="true">https://thejavaguy.org/posts/008-my-kid-learned-bash-in-one-hour/</guid><description>How I taught my 7½ year old 4 bash commands in one hour</description><pubDate>Thu, 05 May 2022 00:00:00 GMT</pubDate></item><item><title>New in Java 18: Deprecation of Finalization Mechanism</title><link>https://thejavaguy.org/posts/009-new-in-java-18-deprecation-of-finalization-mechanism/</link><guid isPermaLink="true">https://thejavaguy.org/posts/009-new-in-java-18-deprecation-of-finalization-mechanism/</guid><description>Leave finalization in the past!</description><pubDate>Thu, 12 May 2022 00:00:00 GMT</pubDate></item><item><title>How to install Java 18 (OpenJDK 18) on Windows</title><link>https://thejavaguy.org/posts/010-how-to-install-jdk-18-on-windows/</link><guid isPermaLink="true">https://thejavaguy.org/posts/010-how-to-install-jdk-18-on-windows/</guid><description>The easiest way to install Java 18 (OpenJDK 18) on Windows</description><pubDate>Thu, 19 May 2022 00:00:00 GMT</pubDate></item><item><title>Don&apos;t prefix JUnit tests with the word test</title><link>https://thejavaguy.org/posts/011-dont-prefix-junit-tests-with-the-word-test/</link><guid isPermaLink="true">https://thejavaguy.org/posts/011-dont-prefix-junit-tests-with-the-word-test/</guid><description>Why senior developers never prefix JUnit tests with the word test</description><pubDate>Thu, 02 Jun 2022 00:00:00 GMT</pubDate></item><item><title>The right tool for the job is a lie</title><link>https://thejavaguy.org/posts/012-the-right-tool-for-the-job-is-a-lie/</link><guid isPermaLink="true">https://thejavaguy.org/posts/012-the-right-tool-for-the-job-is-a-lie/</guid><description>How senior developers know the really right tool for the job?</description><pubDate>Thu, 23 Jun 2022 00:00:00 GMT</pubDate></item><item><title>Ultimate guide to sorting strings in Java</title><link>https://thejavaguy.org/posts/013-ultimate-guide-to-sorting-strings-in-java/</link><guid isPermaLink="true">https://thejavaguy.org/posts/013-ultimate-guide-to-sorting-strings-in-java/</guid><description>The minimum every senior developer must know about sorting strings in Java</description><pubDate>Thu, 30 Jun 2022 00:00:00 GMT</pubDate></item><item><title>How to install Java 19 (OpenJDK 19) on MacOS</title><link>https://thejavaguy.org/posts/014-how-to-install-jdk-19-on-macos/</link><guid isPermaLink="true">https://thejavaguy.org/posts/014-how-to-install-jdk-19-on-macos/</guid><description>The easiest way to install Java 19 (OpenJDK 19) on MacOS</description><pubDate>Thu, 22 Sep 2022 00:00:00 GMT</pubDate></item><item><title>How to install Java 19 (OpenJDK 19) on Windows</title><link>https://thejavaguy.org/posts/015-how-to-install-jdk-19-on-windows/</link><guid isPermaLink="true">https://thejavaguy.org/posts/015-how-to-install-jdk-19-on-windows/</guid><description>The easiest way to install Java 19 (OpenJDK 19) on Windows</description><pubDate>Thu, 03 Nov 2022 00:00:00 GMT</pubDate></item><item><title>Iterable is beautiful</title><link>https://thejavaguy.org/posts/016-iterable-is-beautiful/</link><guid isPermaLink="true">https://thejavaguy.org/posts/016-iterable-is-beautiful/</guid><description>Why using Iterable in Java gives your callers a lot of freedom and flexibility</description><pubDate>Thu, 01 Dec 2022 00:00:00 GMT</pubDate></item><item><title>3 ways to write higher quality software by using type inference</title><link>https://thejavaguy.org/posts/017-3-ways-to-write-higher-quality-software-by-using-type-inference/</link><guid isPermaLink="true">https://thejavaguy.org/posts/017-3-ways-to-write-higher-quality-software-by-using-type-inference/</guid><description>How senior developers use type inference in Java</description><pubDate>Thu, 08 Dec 2022 00:00:00 GMT</pubDate></item><item><title>Adventures of a Java programmer in ChatGPT land (part 1)</title><link>https://thejavaguy.org/posts/018-java-programmer-in-chatgpt-land-part-1/</link><guid isPermaLink="true">https://thejavaguy.org/posts/018-java-programmer-in-chatgpt-land-part-1/</guid><description>How Java programmers can use ChatGPT to increase productivity (part 1)</description><pubDate>Thu, 15 Dec 2022 00:00:00 GMT</pubDate></item><item><title>Adventures of a Java programmer in Character.AI land</title><link>https://thejavaguy.org/posts/019-java-programmer-in-character-ai-land/</link><guid isPermaLink="true">https://thejavaguy.org/posts/019-java-programmer-in-character-ai-land/</guid><description>Can Character.AI help Java programmers increase productivity?</description><pubDate>Tue, 04 Apr 2023 00:00:00 GMT</pubDate></item><item><title>So what exactly is a whitespace in Java?</title><link>https://thejavaguy.org/posts/020-whitespace-in-java/</link><guid isPermaLink="true">https://thejavaguy.org/posts/020-whitespace-in-java/</guid><description>In-depth look at how to deal with whitespaces in Java like a true senior developer</description><pubDate>Tue, 20 Jun 2023 00:00:00 GMT</pubDate></item><item><title>The Main Role of a Class</title><link>https://thejavaguy.org/posts/021-the-main-role-of-a-class/</link><guid isPermaLink="true">https://thejavaguy.org/posts/021-the-main-role-of-a-class/</guid><description>Why senior developers think differently about classes</description><pubDate>Thu, 18 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Constructor Rules: Class Must Have at Least One Constructor</title><link>https://thejavaguy.org/posts/022-constructor-rules-class-must-have-constructor/</link><guid isPermaLink="true">https://thejavaguy.org/posts/022-constructor-rules-class-must-have-constructor/</guid><description>Why senior developers never write a class without a constructor</description><pubDate>Thu, 25 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Claude Code: Add Plugin to a Project</title><link>https://thejavaguy.org/posts/023-claude-code-add-plugin-to-a-project/</link><guid isPermaLink="true">https://thejavaguy.org/posts/023-claude-code-add-plugin-to-a-project/</guid><description>Why you should know when to add a plugin to a project VS when to add it to your user scope</description><pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Constructor Rules: Class Must Have Exactly One Primary Constructor</title><link>https://thejavaguy.org/posts/024-constructor-rules-class-must-have-one-primary-constructor/</link><guid isPermaLink="true">https://thejavaguy.org/posts/024-constructor-rules-class-must-have-one-primary-constructor/</guid><description>Senior developers write classes with one primary constructor</description><pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate></item></channel></rss>