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

    บางครั้งเราอาจต้อง rethrow exception ใน Java หาก catch block ไม่สามารถจัดการ exception ที่จับได้ เราสามารถ rethrow exception นั้นได้ Rethrow expression ทำให้ originally thrown object ถูก rethrown เนื่องจาก exception ถูกจับแล้วที่ scope ที่ rethrow expression เกิดขึ้น มันจะถูก rethrown ออกไปยัง try

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

    ทั้ง ClassNotFoundException และ NoClassDefFoundError เป็น error เมื่อ JVM หรือ ClassLoader ไม่สามารถหาคลาสที่เหมาะสมขณะโหลดที่ run-time ClassNotFoundException เป็น checked exception และ NoClassDefFoundError เป็น Error ซึ่งอยู่ใน unchecked มี ClassLoader หลายประเภท โหลดคลาสจากแหล่งต่างกัน บางครั้งอา

  3. วิธีสร้าง Instance ของ Member Inner Class ใน Java

    คลาสที่ประกาศอยู่ในคลาสแต่นอกเมธอด เรียกว่า member inner class เราสามารถ instantiate member inner class ได้ 2 วิธี: Invoked within the class (เรียกใช้ภายในคลาส) Invoked outside the class (เรียกใช้นอกคลาส) กฎสำหรับ Inner Class Outer class (คลาสที่มี inner class) สามารถ instantiate in

  4. วิธีโยน Exception จาก Static Block ใน Java

    Static block คือชุดคำสั่งที่จะถูก execute โดย JVM ก่อนการ execute main() method ขณะโหลดคลาส หากเราต้องการทำกิจกรรมใดๆ เราต้องกำหนดกิจกรรมนั้นใน static block เพราะบล็อกนี้ execute ที่ เวลาโหลดคลาส (class loading) การโยน Exception จาก Static Block Static block สามารถโยนได้แค่ RunTimeException หร

  5. Constructor สามารถโยน Exception ใน Java ได้หรือไม่?

    ใช่ constructors สามารถโยน exception ใน Java ได้ Constructor เป็นประเภทพิเศษของเมธอดที่ใช้ initialize object และใช้สร้าง object ของคลาสโดยใช้ new keyword โดย object ยังเรียกว่า Instance ของคลาส ทุก object ของคลาสจะมี state ของตัวเอง (Instance variables) และเข้าถึงเมธอดของคลาสได้ การโยน Exception จ

  6. ความแตกต่างระหว่าง Widening Casting (Implicit) และ Narrowing Casting (Explicit) ใน Java

    Type casting ใน Java ใช้แปลงออบเจ็กต์หรือตัวแปรของชนิดหนึ่งเป็นอีกชนิดหนึ่ง เมื่อแปลงหรือกำหนดชนิดข้อมูลหนึ่งเป็นอีกชนิดหนึ่ง อาจจะไม่ compatible หากเหมาะสมจะทำได้อย่างราบรื่น แต่ถ้าไม่เหมาะสมจะมีโอกาสสูญเสียข้อมูล (data loss) ประเภทของ Type Casting ใน Java Java Type Casting แบ่งเป็น 2 ประเภท:

  7. วิธีสร้าง Immutable class ที่มี mutable object references ใน Java

    Immutable objects คือออบเจ็กต์ที่ state ไม่สามารถเปลี่ยนแปลงได้หลังจาก initialized แล้ว บางครั้งจำเป็นต้องทำ immutable class ตาม requirement ตัวอย่างเช่น ทุก primitive wrapper classes (Integer, Byte, Long, Float, Double, Character, Boolean และ Short) เป็น immutable ใน Java String class ก็เป็น immuta

  8. ความสำคัญของ Java.lang.Class ใน Java

    java.lang.Class เป็นหนึ่งในคลาสที่สำคัญที่สุดใน Java และให้ utility methods หลายตัว เช่น getClass(), forName() ซึ่งใช้หาและโหลดคลาส ยังมีเมธอดอย่าง Class.newInstance() ซึ่งเป็นรากฐานของ reflection และอนุญาตให้สร้าง instance ของคลาสโดยไม่ใช้ operator new() ความสำคัญของ java.lang.Class Instances

  9. ความแตกต่างระหว่าง Tight Coupling และ Loose Coupling ใน Java

    Tight coupling หมายถึงคลาสและออบเจ็กต์ที่ขึ้นต่อกัน (dependent) โดยทั่วไป tight coupling มักไม่ดี เพราะลดความยืดหยุ่นและ re-usability ของโค้ด ในขณะที่ Loose coupling หมายถึงการลด dependencies ของคลาสที่ใช้คลาสอื่นโดยตรง Tight Coupling Tightly coupled object คือออบเจ็กต์ที่ต้องรู้รายละเอียดของอ

  10. สัญญา (Contract) ระหว่าง equals() และ hashCode() methods ใน Java

    ทุก Java object มีเมธอดสำคัญ 2 ตัวคือ equals() และ hashCode() และเมธอดเหล่านี้ถูกออกแบบให้ override ตาม general contract เฉพาะของมัน คลาส Object เป็น parent class ของทุกคลาส การ implement เริ่มต้นของเมธอดทั้งสองนี้มีอยู่ในแต่ละคลาสแล้ว อย่างไรก็ตาม เราสามารถ override เมธอดเหล่านี้ตามความต้องการได้

  11. ทำไม Char[] array จึงปลอดภัยกว่า String สำหรับเก็บข้อมูลความลับใน Java?

    ทั้ง String และ Char[] array ใช้เก็บข้อมูลข้อความ แต่อาจจะยากที่จะเลือกว่าอันไหนดีกว่า อาจจะเข้าใจได้จาก immutability ของ String ว่าทำไม char[] array ถูกนิยมมากกว่า String สำหรับเก็บข้อมูลความลับ เช่น password, SSN ฯลฯ การใช้ plain string มีโอกาสสูงกว่าที่จะพิมพ์ password ไปยัง logs หรือที่ไม่

  12. Unreachable catch blocks ใน Java คืออะไร?

    บล็อกของคำสั่งที่ control ไม่สามารถเข้าถึงได้ ในทุกกรณี เรียกว่า unreachable blocks Java ไร้ support unreachable blocks Catch block ที่ระบุด้วย reference ของ Exception class ควรและต้องเป็น catch block ตัวสุดท้ายเสมอ เพราะ Exception เป็น superclass ของ exceptions ทั้งหมด เมื่อเราใช้ multiple catch bl

  13. ความแตกต่างระหว่าง Recursion และ Iteration ใน Java

    Recursion และ Iteration ทั้งคู่ทำการ execute ชุดคำสั่งซ้ำๆ Recursion คือเมื่อคำสั่งในฟังก์ชัน เรียกตัวเองซ้ำๆ ส่วน Iteration คือเมื่อลูป execute ซ้ำจนกว่าเงื่อนไขควบคุมจะเป็น false ความแตกต่างหลักคือ recursion เป็นกระบวนการที่ใช้กับฟังก์ชันเสมอ ส่วน iteration ใช้กับ ชุดคำสั่ง ที่เราต้องการให้ execut

  14. สามารถเขียนคำสั่งระหว่าง try, catch และ finally blocks ใน Java ได้หรือไม่?

    ไม่สามารถ เราไม่สามารถเขียนคำสั่งใดๆ ระหว่าง try, catch และ finally blocks และบล็อกเหล่านี้ เป็นหน่วยเดียว (form one unit) ฟังก์ชันของ try keyword คือระบุ exception object และจับ exception object นั้น แล้วส่งการควบคุมพร้อมกับ exception object ที่ระบุไปยัง catch block โดยระงับการทำงานของ try block ฟั

  15. ความแตกต่างระหว่าง compareTo() และ compare() methods ใน Java

    อินเทอร์เฟซ Comparable มีเมธอด compareTo() สำหรับการจัดลำดับออบเจ็กต์ การจัดลำดับนี้เรียกว่า natural ordering ของคลาส และเมธอด compareTo() เรียกว่า natural comparison method อินเทอร์เฟซ Comparator มีเมธอดสำหรับทำ การเรียงลำดับ (sorting operations) โดยใช้ Comparator interface เราสามารถทำ multiple sor

  16. ความแตกต่างระหว่าง import และ static import statements ใน Java

    เราสามารถใช้ import statement เพื่อนำเข้า classes และ interfaces ของแพ็กเกจเฉพาะ เมื่อใช้ import statement ไม่จำเป็นต้องใช้ fully qualified name และสามารถใช้ ชื่อสั้น (short name) โดยตรง เราสามารถใช้ static import เพื่อ นำเข้า static member จากคลาสและแพ็กเกจเฉพาะ เมื่อใช้ static import ไม่จำเป็นต้อง

  17. Java มี anonymous inner class กี่ประเภท?

    Anonymous inner class คือ inner class ที่ประกาศ โดยไม่มีชื่อคลาสเลย กล่าวคือ inner class ที่ไม่มีชื่อ เนื่องจากไม่มีชื่อ จึงไม่สามารถมี constructor ได้ เนื่องจากเรารู้ว่าชื่อ constructor ต้องเหมือนชื่อคลาส เราสามารถกำหนด anonymous inner class และสร้างออบเจ็กต์ของมันโดยใช้ operator new พร้อมกันในขั้

  18. สามารถเขียนโค้ดหลัง throw statement ใน Java ได้หรือไม่?

    ไม่สามารถ เราไม่สามารถวางโค้ดใดๆ หลัง throw statement ได้ จะทำให้เกิด compile-time error: Unreachable Statement Throw Keyword ใน Java throw keyword ใช้เพื่อโยน exception ด้วยตนเอง (manually) เมื่อจำเป็นต้องระงับการทำงานของฟังก์ชันตาม เงื่อนไขข้อผิดพลาดที่ผู้ใช้กำหนด (user-defined logical e

  19. OutOfMemoryError คืออะไร และขั้นตอนหาสาเหตุรากฐาน (Root Cause) ของ OOM ใน Java

    OutOfMemoryError ถูกโยนโดย JVM เมื่อ JVM ไม่มีหน่วยความจำเพียงพอสำหรับการจัดสรร OutOfMemoryError อยู่ในหมวด Error ในลำดับชั้นของ Exception class hierarchy การสร้าง OutOfMemoryError จัดสรรหน่วยความจำขนาดใหญ่ ซึ่งจะทำให้ heap memory storage หมด ทำการจัดสรรหน่วยความจำต่อเนื่อง จนถึงจุดที่ JVM

  20. ความแตกต่างระหว่าง protected และ default access specifiers ใน Java

    Protected access specifier มองเห็นได้ภายในแพ็กเกจเดียวกัน และ มองเห็นได้ในคลาสลูก (subclass) ส่วน Default เป็น package-level access specifier และ มองเห็นได้เฉพาะในแพ็กเกจเดียวกัน Protected Access Specifier Protected ทำงานเหมือน public ภายในแพ็กเกจเดียวกัน และทำงานเหมือน private นอกแพ็กเกจ

Total 1935 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:10/97  20-คอมพิวเตอร์/Page Goto:1 4 5 6 7 8 9 10 11 12 13 14 15 16