Skip to content

Java

ส่วนหนึ่งของ Beginner Book · 🔤 Glossary ศัพท์เทคนิครวม

หนังสือเล่มนี้พาคุณไปถึงไหน

อ่านจบ + ทำ checkpoint หมด คุณจะ:

💡 ถ้ายังไม่รู้จักศัพท์ในรายการนี้ (JVM, bytecode, OOP, lambda ฯลฯ) ไม่ต้องตกใจ — บทที่ 0 จะอธิบายให้ทั้งหมด

  • เข้าใจว่า Java ทำงานยังไง (JVM, bytecode, compile)
  • เขียนโปรแกรม Java อ่าน input, ประมวลผล, เขียน output ได้
  • เข้าใจ OOP (class, object, inheritance, interface) อย่างที่ "เห็นภาพ" ไม่ใช่แค่ท่อง
  • ใช้ Collections (List, Map, Set) ทำงานกับข้อมูลได้
  • เขียน lambda + stream แทน for-loop ได้
  • เข้าใจ exception handling, generics, modern Java (records, virtual threads)
  • พร้อมขึ้น Spring Boot โดยไม่งง syntax

อ่านบทไหนก่อน — แบ่งเป็น 2 โซน

หนังสือเล่มนี้มี 20 บท (นับ 6a/6b/6c เป็นบทเดียวกัน — บทที่ 6 ยาวมาก เลยแบ่งเป็น 6a/6b/6c อ่านต่อกันเป็นเรื่องเดียว) แต่ ไม่ต้องอ่านทั้งหมดตั้งแต่แรก แบ่งชัด ๆ ได้ 2 โซน:

  • บท 0-10 = มือใหม่ต้องอ่าน — พื้นฐานทั้งหมดที่ทำให้เขียน Java เป็นและพร้อมขึ้น Spring Boot อ่านเรียงตามลำดับได้เลย
  • บท 11-19 = อ้างอิงตอนทำงานจริง (ข้ามไปก่อนได้) — เป็นหัวข้อเฉพาะทาง/ระดับลึก (เช่น การปรับจูนระบบ, ความปลอดภัย, การวัดประสิทธิภาพ) มือใหม่ ไม่ต้องอ่านตอนนี้ ค่อยกลับมาเปิดดูเป็นบท ๆ ตอนเจอปัญหาจริงในงาน บทเหล่านี้มีศัพท์เทคนิคหนัก — แต่ละบทมีกล่อง "โซนขั้นสูง—ข้ามได้" บอกไว้ต้นบท

ถ้าเพิ่งเริ่ม: ตั้งเป้าแค่ บท 0-10 ให้จบก่อน แล้วลองทำโปรเจกต์เล็ก ๆ ส่วนบท 11-19 เก็บไว้เปิดทีหลังได้สบาย ๆ ไม่ต้องรีบ

เวลาที่ควรใช้ (เฉพาะบท 0-10 ที่เป็นพื้นฐาน)

  • มือใหม่ไม่เคยเขียนอะไรเลย: 4-6 สัปดาห์ (วันละ 1-2 ชม. + ลงมือทำ) — เน้น บท 0-10 ก่อน ส่วนบท 11-19 ไม่นับรวมในช่วงนี้ ค่อยทยอยอ่านตอนทำงานจริง
  • เคยเขียนภาษาอื่น: 1-2 สัปดาห์ (บท 0-10)
  • เคยเขียน Java เก่า ๆ จะอัพเดท: ข้ามไปบทที่ 9-10 ก็พอ

บทเรียน

โซนที่ 1 — มือใหม่ต้องอ่าน (บท 0-10)

#บทสอนอะไร
0บทนำJava คืออะไร, ทำงานยังไง, ทำไมเรียน, เปรียบเทียบกับภาษาอื่น
1Setup + Hello Worldติดตั้ง JDK (Java Development Kit), IntelliJ, เขียนโปรแกรมแรก, อธิบายทุกบรรทัด
2ตัวแปรและประเภทข้อมูลvariable, primitive types, String, operator
3Control Flowif, else, switch, for, while, break, continue
4Methodmethod, parameter, return, overload, scope
5OOP พื้นฐานclass, object, field, constructor, encapsulation
6aInheritanceextends, super, method override
6bPolymorphismdynamic dispatch, upcasting, instanceof
6cInterface & Abstractinterface, abstract class, default method
7Collections + GenericsList, Map, Set, Generics
8Exception Handlingtry/catch, checked/unchecked, custom exception
9Lambda + Stream + Optionalfunctional interface, lambda, stream pipeline
10Modern Javarecords, sealed, pattern matching, virtual threads

โซนที่ 2 — อ้างอิงตอนทำงานจริง (บท 11-19, ข้ามไปก่อนได้)

บทในโซนนี้มีศัพท์เทคนิคหนักและเจาะลึกระดับใช้งานจริง/ระดับ senior มือใหม่ข้ามไปก่อนได้ ค่อยกลับมาเปิดเป็นบท ๆ ตอนเจอปัญหานั้นจริงในงาน

ศัพท์ย่อในตารางนี้จะอธิบายครบในแต่ละบท — ไม่ต้องรู้ตอนนี้ เปิดดูตอนเจอปัญหาจริงได้เลย

#บทสอนอะไร
11Date/Time + I/O + Filesjava.time, Path/Files, JSON (Jackson), CSV
12ConcurrencyThread, ExecutorService, synchronized, volatile, AtomicInteger, virtual threads
13Networking + Regex + CryptoHttpClient (Java 11+), Pattern/Matcher, BCrypt, AES, RSA
14Annotations + Modules + Build Toolscustom annotation, JPMS, Maven, Gradle, Javadoc
15Testing + LoggingJUnit 5, AssertJ, Mockito, SLF4J + Logback
16 🔴 ขั้นสูง — มือใหม่ข้ามได้JVM Internals + Memory + GC
  • bytecode (โค้ดที่ JVM อ่าน)
  • heap layout (ผังหน่วยความจำ)
  • G1/ZGC (ตัวเก็บขยะหน่วยความจำ)
  • JMM (กฎหน่วยความจำเวลาหลายเธรด)
  • JIT (ตัวคอมไพล์ขณะรัน)
  • Virtual Threads
  • production JVM flags (ค่าตั้ง JVM ตอนใช้งานจริง)
17JDBC + Connection Poolraw JDBC, PreparedStatement, HikariCP, pool sizing, leak detection, batch, routing DataSource
18 🔴 ขั้นสูง — มือใหม่ข้ามได้Reflection + Annotation Processing
  • Class/Field/Method API (ส่องโครงสร้างคลาสตอนรัน)
  • dynamic proxy (วัตถุตัวแทนสร้างตอนรัน)
  • mini DI container (กล่องฉีด dependency จิ๋ว)
  • mini ORM (ตัวแปลง object↔ตาราง จิ๋ว)
  • annotation processor (ตัวประมวลผล annotation ตอน compile แบบ Lombok)
19 🔴 ขั้นสูง — มือใหม่ข้ามได้Performance + Profiling
  • jcmd/jstack/jstat (เครื่องมือส่อง JVM ที่รันอยู่)
  • JFR (Java Flight Recorder = กล่องดำบันทึกการทำงาน)
  • async-profiler, flame graph (กราฟเปลวไฟแสดงจุดที่ช้า)
  • JMH benchmark (วัดความเร็วโค้ด)
  • GC tuning (จูนตัวเก็บขยะ), NMT (Native Memory Tracking)
  • production checklist (เช็กลิสต์ก่อนขึ้นจริง)