Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java
Java
  1. String Interning ใน Java

    String interning คือกระบวนการเก็บเพียงหนึ่งสำเนาของแต่ละค่า string ที่แตกต่างกัน (distinct) นอกจากนี้ string ไม่สามารถเปลี่ยนแปลงได้ (immutable) ทำให้ string ที่มีข้อมูลเหมือนกันสามารถ share หน่วยความจำเดียวกันได้ ลดการใช้หน่วยความจำมาก เมื่อเรียกเมธอด intern(): ตรวจสอบความเท่ากันระหว่างสอง st

  2. IntUnaryOperator Interface ใน Java

    สำหรับ functional programming ใน Java เวอร์ชัน 9 มี IntUnaryOperator มาให้ใช้งาน ตัวอย่าง a * 9); System.out.println(op_4.applyAsInt(56)); } } ผลลัพธ์ The identity function : 56 The applyAsInt function : 168 The andThen function : 840 The compose function : 84 คลาส Demo มี main ใช้ i

  3. Array ใน Java เป็น Primitive Type หรือ Object?

    Array ใน Java ถือว่าเป็น Object เหตุผลคือ Array สร้างได้ด้วยคีย์เวิร์ด new ซึ่ง new ใช้สร้าง object เสมอ นี่คือเหตุผลที่ array ถูกมองว่าเป็น object Direct parent class (super class) ของ array ใดๆ คือคลาส Object ทุก array type ใน Java 属于某个 class แสดงว่ามี class แยกสำหรับ int array, float array, doub

  4. เมธอด isAlive() ของ Thread Class ใน Java

    เมธอด isAlive() ใช้ตรวจสอบว่า thread ยังมีชีวิต (alive) หรือไม่ Alive หมายถึง thread ที่เริ่มทำงานแล้วแต่ยังไม่ terminated เมื่อเรียก run() thread จะทำงานเป็นระยะเวลาหนึ่งแล้วหยุด Syntax final Boolean isAlive() คืนค่า true หาก thread ที่เรียกยังทำงานอยู่และยังไม่ terminated คืนค่า false ในกรณีอื่น

  5. เมธอด join() ของ Thread Class ใน Java

    เมธอด join() ทำให้ thread ปัจจุบันรอจนกว่า thread ที่จะ join จะสิ้นสุดการทำงาน (terminated) เมธอดนี้จะรอจนกว่า thread ที่เรียกฟังก์ชันจะ terminated Syntax final void join() throws InterruptedException ตัวอย่าง public class Demo extends Thread { public void run() { System.out.println(sa

  6. Island of Isolation ใน Java

    หลังจากอ็อบเจ็กต์ถูกใช้งานแล้ว จะถูก deallocate ออกจากหน่วยความจำโดย Garbage Collector อ็อบเจ็กต์ถูกทำลายเมื่อไม่มี reference ชี้ไปยังอ็อบเจ็กต์นั้น GC จะเรียกเมธอด finalize() บนอ็อบเจ็กต์ที่จะถูกทำลาย Island of Isolation คืออะไร? เมื่ออ็อบเจ็กต์สองตัว a และ b อ้างอิงกันเอง (a ชี้ b, b ชี้ a) และไม

  7. Iterator vs Collection ใน Java

    Iterator ใช้ใน Collection Framework เพื่อดึงข้อมูล elements ตามที่ต้องการ public interface Iterator ใช้เมธอด next() เพื่อเลื่อนและเข้าถึง element ถัดไป ใช้ remove() ลบ element ออกจากโครงสร้างข้อมูล Iterator เร็วกว่า Collections เพราะมี operation น้อยกว่า ตัวอย่าง Iterator กับ List import java.io.*

  8. JAR Files ใน Java

    JAR (Java ARchive) เป็นรูปแบบไฟล์ที่รวม Java class files พร้อม metadata และ resources ที่เกี่ยวข้อง ไว้ในไฟล์เดียว การสร้าง JAR file ใช้คำสั่ง jar cf โดย cf = create file jar cf jar_file_name files_to_compress เมื่อสร้าง JAR แล้ว จะมี default manifest file สร้างขึ้นอัตโนมัติ มีเพียงหนึ่งไฟล์ต่อ ar

  9. การ Implement PriorityQueue ผ่าน Comparator ใน Java

    ตัวอย่างโค้ด import java.util.*; public class Demo { public static void main(String[] args) { Scanner my_scan = new Scanner(System.in); PriorityQueue my_pq = new PriorityQueue(3, new demoComparator()); Demo_class obj_1 = new Demo_class(Joe, 25); my_pq.add(obj_1);

  10. Java Concurrency - เมธอด yield()

    เมธอด yield() เมธอดนี้พยายามให้ thread ที่สำคัญกว่าได้รันก่อน แทนที่ thread ที่ใช้เวลานานและไม่สำคัญ เมื่อ thread เรียก java.lang.Thread.yield() เป็นสัญญาณให้ thread scheduler หยุดการทำงานชั่วคราว Scheduler อาจยอมรับหรือไม่ยอมรับก็ได้ หาก thread เรียก yield() scheduler จะตรวจสอบว่ามี thread ที่มี p

  11. Java Concurrency - เมธอด sleep()

    เมธอด sleep() เมธอด sleep() ใช้หยุดการทำงานของ thread ที่กำลังรันอยู่เป็นจำนวน milliseconds ที่ระบุเป็นพารามิเตอร์ Thread จะหยุดทำงานชั่วคราวในช่วงเวลานั้น ตัวอย่าง import java.lang.*; public class Demo implements Runnable { Thread my_t; public void run() { for (int i = 0; i < 3; i

  12. Java Concurrency - เมธอด join()

    เมธอด join() เมธอดนี้ใช้รวมการเริ่มต้นการทำงานของ thread หนึ่งกับการสิ้นสุดของอีก thread หนึ่ง ทำให้มั่นใจได้ว่า thread แรกจะไม่รันจนกว่า thread ที่สองจะหยุดทำงานแล้ว เมธอดนี้รอเป็นจำนวน milliseconds ที่กำหนดให้ thread สิ้นสุดการทำงาน ตัวอย่าง import java.lang.*; public class Demo implements Runna

  13. Java ConcurrentHashMap - เมธอด clear()

    เมธอด clear() ใช้ล้างการแมปปิงระหว่าง key-value pairs ทั้งหมด ทำให้ ConcurrentHashMap ว่างเปล่า Syntax public void clear() ตัวอย่าง import java.util.concurrent.ConcurrentHashMap; import java.util.*; public class Demo { public static void main(String[] args) { Map my_map = new Concurre

  14. Java Interface Methods: Default, Static, Private Methods

    Interface Methods ใน Java Interface กำหนด Contract (สัญญา) ว่า Class ที่ implement ต้องมี method เหล่านี้ ประวัติการพัฒนา VersionFeatures Java 7-เฉพาะ public abstract methods (implicit) Java 8+ default methods, static methods Java 9+ private methods, private static methods ตัวอย่างโค้ด (Java 8+)

  15. คำถามสัมภาษณ์ Java เรื่อง Constructor: 14 ข้อสำคัญ

    คำถามสัมภาษณ์ Java เรื่อง Constructor Constructor เป็นหัวใจของ Object Creation ใน Java ความเข้าใจที่ถูกต้องสำคัญมาก คำถาม 1: Superclass constructor เรียก Subclass constructor ได้ไหม? ไม่ได้ Superclass ไม่รู้จัก Subclass การเรียกต้องเป็นทางเดียว: Subclass เรียก Superclass ผ่าน super() คำถาม 2: สร้า

  16. Java Lambda Expressions กับ Collections: Sorting และ TreeMap

    Lambda Expressions กับ Collections Java 8+ รองรับ Lambda Expressions สำหรับ Functional Interfaces (Single Abstract Method) ทำให้โค้ดสั้นและอ่านง่าย 1. เรียงลำดับ List ด้วย Lambda import java.util.*; public class Demo { public static void main(String[] args) { List list = new ArrayLi

  17. Math.multiplyExact() ใน Java: คูณกับ Overflow Detection

    Math.multiplyExact() เมธอด Math.multiplyExact() (Java 8+) คูณสองค่าและ โยน ArithmeticException หากล้น (Overflow) แทนที่จะ silent wrap-around ตัวอย่างโค้ด import java.lang.Math; public class Demo { public static void main(String args[]) { int a = 12, b = 34; System.out.print

  18. Java Numeric Promotion ใน Conditional Expression (Ternary Operator)

    Numeric Promotion ใน Ternary Operator Java ใช้ Numeric Promotion Rules กำหนด type ของ ternary expression condition ? expr1 : expr2 โดยพิจารณาจาก type ของ expr1 และ expr2 ตัวอย่างโค้ด ผลลัพธ์เป็น Float (promoted) Object obj = true ? new Integer(91) : new Float(89); System.out.print

  19. Cocktail Sort ใน Java: Bidirectional Bubble Sort

    Cocktail Sort (Bidirectional Bubble Sort) Cocktail Sort หรือ Shaker Sort เป็นการปรับปรุง Bubble Sort โดยวนลูปสลับทิศทาง: ซ้าย→ขวา แล้ว ขวา→ซ้าย ทำให้ Turtles (ค่าน้อยที่อยู่ท้าย) เคลื่อนที่ได้เร็วขึ้น ตัวอย่างโค้ด public class Demo { static int temp; static void cocktailSort(int[] ar

  20. Binary Insertion Sort ใน Java: ใช้ Binary Search หาตำแหน่ง Insert

    Binary Insertion Sort Binary Insertion Sort ปรับปรุง Insertion Sort โดยใช้ Binary Search หาตำแหน่งที่จะ insert แทน Linear Search ลดการเปรียบเทียบจาก O(n) เป็น O(log n) ต่อ element ⚠️ หมายเหตุ: โค้ดต้นฉบับเป็น Cocktail Sort ไม่ใช่ Binary Insertion Sort โค้ดที่ให้มา implement Cocktail Sort (Bidirecti

Total 1935 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:70/97  20-คอมพิวเตอร์/Page Goto:1 64 65 66 67 68 69 70 71 72 73 74 75 76