โหมดมืด
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 คืออะไร, ทำงานยังไง, ทำไมเรียน, เปรียบเทียบกับภาษาอื่น |
| 1 | Setup + Hello World | ติดตั้ง JDK (Java Development Kit), IntelliJ, เขียนโปรแกรมแรก, อธิบายทุกบรรทัด |
| 2 | ตัวแปรและประเภทข้อมูล | variable, primitive types, String, operator |
| 3 | Control Flow | if, else, switch, for, while, break, continue |
| 4 | Method | method, parameter, return, overload, scope |
| 5 | OOP พื้นฐาน | class, object, field, constructor, encapsulation |
| 6a | Inheritance | extends, super, method override |
| 6b | Polymorphism | dynamic dispatch, upcasting, instanceof |
| 6c | Interface & Abstract | interface, abstract class, default method |
| 7 | Collections + Generics | List, Map, Set, Generics |
| 8 | Exception Handling | try/catch, checked/unchecked, custom exception |
| 9 | Lambda + Stream + Optional | functional interface, lambda, stream pipeline |
| 10 | Modern Java | records, sealed, pattern matching, virtual threads |
โซนที่ 2 — อ้างอิงตอนทำงานจริง (บท 11-19, ข้ามไปก่อนได้)
บทในโซนนี้มีศัพท์เทคนิคหนักและเจาะลึกระดับใช้งานจริง/ระดับ senior มือใหม่ข้ามไปก่อนได้ ค่อยกลับมาเปิดเป็นบท ๆ ตอนเจอปัญหานั้นจริงในงาน
ศัพท์ย่อในตารางนี้จะอธิบายครบในแต่ละบท — ไม่ต้องรู้ตอนนี้ เปิดดูตอนเจอปัญหาจริงได้เลย
| # | บท | สอนอะไร |
|---|---|---|
| 11 | Date/Time + I/O + Files | java.time, Path/Files, JSON (Jackson), CSV |
| 12 | Concurrency | Thread, ExecutorService, synchronized, volatile, AtomicInteger, virtual threads |
| 13 | Networking + Regex + Crypto | HttpClient (Java 11+), Pattern/Matcher, BCrypt, AES, RSA |
| 14 | Annotations + Modules + Build Tools | custom annotation, JPMS, Maven, Gradle, Javadoc |
| 15 | Testing + Logging | JUnit 5, AssertJ, Mockito, SLF4J + Logback |
| 16 🔴 ขั้นสูง — มือใหม่ข้ามได้ | JVM Internals + Memory + GC |
|
| 17 | JDBC + Connection Pool | raw JDBC, PreparedStatement, HikariCP, pool sizing, leak detection, batch, routing DataSource |
| 18 🔴 ขั้นสูง — มือใหม่ข้ามได้ | Reflection + Annotation Processing |
|
| 19 🔴 ขั้นสูง — มือใหม่ข้ามได้ | Performance + Profiling |
|