<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Cà Phê &amp; Code — Java</title>
    <link>https://coffeecode.vn/categories/java</link>
    <description>Blog cá nhân chia sẻ kiến thức lập trình, kiến trúc phần mềm và công nghệ.</description>
    <language>vi</language>
    <atom:link href="https://coffeecode.vn/categories/java/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>String: bất biến, String pool, và con số JMH cho phép nối chuỗi</title>
      <link>https://coffeecode.vn/posts/string-bat-bien-so-sanh-va-string-pool</link>
      <guid isPermaLink="true">https://coffeecode.vn/posts/string-bat-bien-so-sanh-va-string-pool</guid>
      <description>Vì sao hai chuỗi giống hệt nhau có lúc bằng nhau có lúc không, chuỗi bất biến nghĩa là gì, và nối chuỗi trong vòng lặp chậm hơn StringBuilder bao nhiêu lần — đo thật bằng JMH.</description>
      <pubDate>Fri, 8 May 2026 00:00:00 +0700</pubDate>
      <category>Java</category>
    </item>
    <item>
      <title>Điều kiện và vòng lặp: bỏ switch kiểu cũ đi được rồi</title>
      <link>https://coffeecode.vn/posts/cau-lenh-dieu-kien-va-vong-lap</link>
      <guid isPermaLink="true">https://coffeecode.vn/posts/cau-lenh-dieu-kien-va-vong-lap</guid>
      <description>switch biểu thức không rơi xuống, pattern matching trong switch của Java 21, break có nhãn, và bốn kiểu vòng lặp dùng khi nào.</description>
      <pubDate>Thu, 7 May 2026 00:00:00 +0700</pubDate>
      <category>Java</category>
    </item>
    <item>
      <title>Toán tử và ép kiểu: bốn chỗ Java im lặng cho ra kết quả sai</title>
      <link>https://coffeecode.vn/posts/toan-tu-va-ep-kieu</link>
      <guid isPermaLink="true">https://coffeecode.vn/posts/toan-tu-va-ep-kieu</guid>
      <description>Chia hai số nguyên mất phần dư, tràn int không báo lỗi, 0.1 cộng 0.2 không bằng 0.3, và phép chia số âm không như bạn nghĩ.</description>
      <pubDate>Wed, 6 May 2026 00:00:00 +0700</pubDate>
      <category>Java</category>
    </item>
    <item>
      <title>Biến, kiểu nguyên thuỷ và kiểu tham chiếu: vì sao 127 khác 128</title>
      <link>https://coffeecode.vn/posts/bien-kieu-nguyen-thuy-va-kieu-tham-chieu</link>
      <guid isPermaLink="true">https://coffeecode.vn/posts/bien-kieu-nguyen-thuy-va-kieu-tham-chieu</guid>
      <description>Tám kiểu nguyên thuỷ, chuyện đóng hộp mở hộp, bộ nhớ đệm Integer, và cái bẫy NullPointerException không có dòng nào gọi phương thức.</description>
      <pubDate>Tue, 5 May 2026 00:00:00 +0700</pubDate>
      <category>Java</category>
    </item>
    <item>
      <title>Từ mã nguồn tới lúc chạy: mổ một file .class ra xem bên trong</title>
      <link>https://coffeecode.vn/posts/tu-ma-nguon-toi-luc-chay</link>
      <guid isPermaLink="true">https://coffeecode.vn/posts/tu-ma-nguon-toi-luc-chay</guid>
      <description>javac sinh ra cái gì, constant pool là gì, và vì sao một phép nối chuỗi bằng dấu cộng lại biến thành invokedynamic.</description>
      <pubDate>Mon, 4 May 2026 00:00:00 +0700</pubDate>
      <category>Java</category>
    </item>
    <item>
      <title>Cài JDK 21 và chạy chương trình đầu tiên mà không cần build tool</title>
      <link>https://coffeecode.vn/posts/cai-jdk-21-va-chuong-trinh-dau-tien</link>
      <guid isPermaLink="true">https://coffeecode.vn/posts/cai-jdk-21-va-chuong-trinh-dau-tien</guid>
      <description>Cài bằng SDKMAN để đổi phiên bản trong một dòng lệnh, chạy file .java trực tiếp, dùng jshell để thử nhanh, và gỡ ba lỗi ai cũng gặp trong ngày đầu.</description>
      <pubDate>Sun, 3 May 2026 00:00:00 +0700</pubDate>
      <category>Java</category>
    </item>
    <item>
      <title>Bản đồ hệ sinh thái Java: JDK, JRE, JVM và chuyện chọn bản nào</title>
      <link>https://coffeecode.vn/posts/ban-do-he-sinh-thai-java</link>
      <guid isPermaLink="true">https://coffeecode.vn/posts/ban-do-he-sinh-thai-java</guid>
      <description>JDK, JRE, JVM khác nhau ra sao, vì sao từ Java 11 không còn JRE tải riêng, và giữa Temurin với Corretto thì nên lấy cái nào.</description>
      <pubDate>Sat, 2 May 2026 00:00:00 +0700</pubDate>
      <category>Java</category>
    </item>
  </channel>
</rss>
