Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java
Java
  1. ความแตกต่างระหว่าง Comparable และ Comparator ใน Java

    ทั้ง Comparable และ Comparator เป็นอินเทอร์เฟซที่ใช้สำหรับจัดเรียง (sort) องค์ประกอบในคอลเลกชัน Comparator อยู่ในแพ็กเกจ java.util ส่วน Comparable อยู่ใน java.lang Comparator จัดเรียงโดยใช้อ็อบเจ็กต์สองตัวที่ส่งให้ ในขณะที่ Comparable เปรียบเทียบ this กับอ็อบเจ็กต์เดียวที่ส่งให้ ตารางเปรียบเทียบราย

  2. ความแตกต่างระหว่าง Serialization และ Externalization ใน Java

    ทั้ง Serialization และ Externalization เป็นกระบวนการแปลงอ็อบเจ็กต์เป็น byte stream และจัดเก็บ byte stream ในฐานข้อมูลหรือหน่วยความจำ คลาสที่ implements java.io.Serializable สามารถ serialize ได้ ส่วน Externalization ใช้สำหรับ custom serialization ตามความต้องการของแอปพลิเคชัน Externalization extends j

  3. ความแตกต่างระหว่าง Exception และ Error ใน Java

    ทั้ง Exception และ Error เป็น subclass ของคลาส Throwable Error บ่งบอกถึงปัญหาที่เกิดขึ้นหลักจากขาดแคลนทรัพยากรระบบ (system resources) และแอปพลิเคชันของเราไม่ควรจับ (catch) ปัญหาเหล่านี้ ตัวอย่างเช่น system crash error และ out of memory error Error เกิดขึ้นส่วนใหญ่ในขณะรันไทม์ (runtime) จึงเป็นประเภท

  4. ความแตกต่างระหว่าง Thread และ Runnable ใน Java

    ใน Java มีสองวิธีในการสร้างเธรดการทำงานใหม่: สืบทอดจากคลาส Thread - ประกาศคลาสเป็น subclass ของ Thread และ override เมธอด run() นำอินเทอร์เฟซ Runnable ไปใช้งาน - ประกาศคลาสที่ implements Runnable และ implement เมธอด run() จากนั้นสร้างอินสแตนซ์และส่งให้ Thread constructor ทุกเธรดมีชื่อเพื่อการระบุ

  5. ความแตกต่างระหว่าง Wait และ Sleep ใน Java

    wait() - เธรดจะปล่อยการเป็นเจ้าของมอนิเตอร์ (monitor) และรอจนกว่าเธรดอื่นจะแจ้งเตือนผ่าน notify() หรือ notifyAll() จากนั้นเธรดจะรอจนกว่าจะได้การเป็นเจ้าของมอนิเตอร์กลับมาและดำเนินการต่อ sleep() - เมธอดนี้ทำให้เธรดที่กำลังทำงานอยู่หยุดนิ่ง (cease execution) ชั่วคราวเป็นจำนวนมิลลิวินาทีที่ระบุ เธรด ไ

  6. ความแตกต่างระหว่าง ReentrantLock และ Synchronized ใน Java

    ใน Java มีสองวิธีหลักในการขอล็อก (lock) ทรัพยากรร่วมกันจากหลายเธรด ได้แก่ การใช้ ReentrantLock (หรือ ReadWriteLock) และการใช้คีย์เวิร์ด synchronized คลาส ReentrantLock ถูกเพิ่มเข้ามาในแพ็กเกจ java.util.concurrent ตั้งแต่ Java 5 เป็นการนำอินเทอร์เฟซ Lock มาใช้งานจริง ตามเอกสารของ Java การนำ Lock int

  7. ความแตกต่างระหว่างหน่วยความจำ Stack และ Heap ใน Java

    JVM แบ่งพื้นที่หน่วยความจำออกเป็นสองส่วนหลักคือ Stack และ Heap โดย Stack ใช้สำหรับจัดเก็บลำดับการทำงานของเมธอดและตัวแปรประจำท้องถิ่น (local variables) ลักษณะการจัดเก็บข้อมูล Stack จัดเก็บข้อมูลแบบ LIFO (Last In First Out) ส่วน Heap ใช้การจัดสรรหน่วยความจำแบบไดนามิก (dynamic allocation) สำหรับการจัด

  8. ความแตกต่างระหว่างการสืบทอด (Inheritance) และการประกอบ (Composition) ใน Java

    Composition (การประกอบ) เป็นเทคนิคการออกแบบที่คลาสของคุณสามารถมีอินสแตนซ์ของอีกคลาสหนึ่งเป็นฟิลด์ของคลาสคุณ Inheritance (การสืบทอด) เป็นกลไกที่ออบเจ็กต์หนึ่งสามารถได้รับคุณสมบัติและพฤติกรรมของออบเจ็กต์พาเรนท์โดยการขยายคลาสComposition และ Inheritance ให้การนำโค้ดกลับมาใช้ใหม่ (code reusability) โดยกา

  9. ความแตกต่างระหว่าง StringBuffer และ StringBuilder ใน Java

    StringBuffer และ StringBuilder ทั้งคู่เป็นคลาส mutable (เปลี่ยนแปลงได้) ใช้สำหรับดำเนินการกับออบเจ็กต์สตริง เช่น ย้อนกลับสตริง ต่อสตริง ฯลฯ เราสามารถแก้ไขสตริงได้โดยไม่ต้องสร้างออบเจ็กต์สตริงใหม่ StringBuffer เป็น thread-safe ส่วน StringBuilder ไม่ใช่ thread-safe ดังนั้นจึงเร็วกว่า StringBuffer นอกจ

  10. ความแตกต่างระหว่าง List และ Set ใน Java

    List และ Set ทั้งคู่เป็นอินเทอร์เฟซที่สังกัด Collection framework ทั้งสองขยายจากอินเทอร์เฟซ Collection ใช้สำหรับเก็บคอลเลกชันของออบเจ็กต์เป็นหน่วยเดียวก่อน JDK 1.2 เราใช้ Arrays, Vectors, และ Hashtable สำหรับจัดกลุ่มออบเจ็กต์เป็นหน่วยเดียวลำดับหัวข้อListSet1การเข้าถึงตำแหน่ง (Positional access)List

  11. ความแตกต่างระหว่าง volatile และ transient ใน Java

    คีย์เวิร์ด volatile ใช้ในสภาพแวดล้อมมัลติเธรด (multithreading) ที่สองเธรดอ่านและเขียนตัวแปรเดียวกันพร้อมกัน คีย์เวิร์ด volatile จะส่งการเปลี่ยนแปลงไปยังหน่วยความจำหลัก (main memory) โดยตรง แทนที่จะเป็น CPU cacheส่วคีย์เวิร์ด transient ใช้ในการทำ Serialization ฟิลด์ที่ถูกทำเครื่องหมายว่า transient จะ

  12. ความแตกต่างระหว่าง fail-fast และ fail-safe ใน Java

    ลำดับหัวข้อFail-FastFail-Safe1ข้อยกเว้น (Exception)การเปลี่ยนแปลงในคอลเลกชัน เช่น เพิ่ม ลบ อัปเดตขณะ thread กำลังวนรอบ (iterate) Fail-fast จะโยน ConcurrentModificationExceptionFail-safe collection ไม่โยนข้อยกเว้น2ประเภทคอลเลกชันArrayList และ HashMap เป็นตัวอย่างของ fail-fast iteratorCopyOnWriteArray

  13. วิธีเพิ่ม/แทรกพร็อพเพอร์ตีเพิ่มเติมในสตริง JSON ด้วย Gson ใน Java

    คลาส com.google.gson.JsonElement แทนองค์ประกอบของ Json เราสามารถใช้เมธอด toJsonTree() ของคลาส Gson เพื่อทำให้การแสดงออบเจ็กต์เป็นต้นไม้ของ JsonElements เราสามารถเพิ่ม/แทรกพร็อพเพอร์ตีเพิ่มเติมในสตริง JSON ได้โดยใช้เมธอด getAsJsonObject() ของ JsonElement เมธอดนี้ส่งคืนเพื่อรับองค์ประกอบเป็น JsonObjec

  14. เมตาอักขระ ^ (เครื่องหมายคาเรต) ในนิพจน์ปกติ Java

    ซับนิพจน์/เมตาอักขระ “^” จับคู่จุดเริ่มต้นของบรรทัด หากคุณใช้ในนิพจน์ปกติ จะจับคู่ประโยคที่ตามมาในสตริงอินพุตตัวอย่างที่ 1import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexExample { public static void main( String args[] ) { String regex =

  15. เมตาอักขระ . (จุด) ในนิพจน์ปกติ Java

    ซับนิพจน์/เมตาอักขระ “.” จับคู่ตัวอักษรเดี่ยวใดๆ ยกเว้นอักขระขึ้นบรรทัดใหม่ตัวอย่างที่ 1import java.util.regex.Matcher; import java.util.regex.Pattern; public class MatchesAll { public static void main( String args[] ) { String regex = .; String input = Hi how ar

  16. อธิบายเมตาอักขระ \A ในนิพจน์ปกติ Java

    ซับนิพจน์/เมตาอักขระ “\A” จับคู่จุดเริ่มต้นของสตริงทั้งหมดตัวอย่างที่ 1import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexExample { public static void main( String args[] ) { String regex = \\AHi; String input = Hi how are you welco

  17. เมื่อไหร่ควรใช้ @ConstructorProperties annotation กับ Jackson ใน Java

    คำอธิบายประกอบ @ConstructorProperties มาจากแพ็กเกจ java.beans ใช้สำหรับถอดรหัส (deserialize) JSON เป็นออบเจ็กต์ Java ผ่าน คอนสตรัคเตอร์ที่มีคำอธิบายประกอบ คำอธิบายประกอบนี้รองรับตั้งแต่ Jackson 2.7 ขึ้นไป วิธีการทำงานของคำอธิบายประกอบนี้เรียบง่าย แทนที่จะใส่คำอธิบายประกอบแต่ละพารามิเตอร์ในคอนสตรัคเต

  18. เมตาอักขระ re* ในนิพจน์ปกติ Java

    ซับนิพจน์/เมตาอักขระ “re*” จับคู่ 0 หรือมากกว่าครั้งของนิพจน์ก่อนหน้าตัวอย่างที่ 1import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexExample { public static void main( String args[] ) { String regex = aabc*; String input = aabcabcaa

  19. คอนสตรัคต์ [^...] ในนิพจน์ปกติ Java

    ซับนิพจน์/เมตาอักขระ “[^...]” จับคู่ตัวอักษรเดี่ยวใดๆ ที่ไม่อยู่ในวงเล็บตัวอย่างที่ 1import java.util.regex.Matcher; import java.util.regex.Pattern; public class SpecifiedCharacters { public static void main( String args[] ) { String regex = [^hwtyoupi]; String i

Total 1935 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:39/97  20-คอมพิวเตอร์/Page Goto:1 33 34 35 36 37 38 39 40 41 42 43 44 45