Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java
Java
  1. Multi-Release JAR (mrjar) ใน Java 9 คืออะไร

    Multi-release JAR (mrjar) เป็น JAR ที่มีไลบรารีรุ่นเดียวกันสำหรับ หลายเวอร์ชัน JDK หมายความว่าเราสามารถมีไลบรารีเป็น mrjar ที่ทำงานบน JDK 9 โค้ดใน mrjar มี class files ที่คอมไพล์ด้วย JDK 9 คลาสเหล่านี้อาจใช้ API ที่ JDK 9 เสนอ โครงสร้าง JAR ธรรมดา - jar-root - C1.class - C2.class - C3.class

  2. วิธีหลีกเลี่ยงข้อผิดพลาดการคอมไพล์ใน JShell ของ Java 9

    JShell เป็นเครื่องมือโต้ตอบรันโค้ด Java แสดงผลทันที เป็น REPL (Read-Evaluate-Print-Loop) รันจาก command line หากต้องการหลีกเลี่ยง compilation errors ใน JShell ต้องประกาศตัวแปร ก่อนใช้งาน เสมอ ข้อความข้อผิดพลาดใน JShell ใช้เครื่องหมาย ^--^ ชี้ตำแหน่งที่ผิด ตัวอย่าง: ข้อผิดพลาดจากตัวแปรไม่ได้ประกาศ

  3. วิธีรันสนิปเพทด้วย ID ใน JShell ของ Java 9

    JShell เป็นเครื่องมือโต้ตอบ (REPL) ใน Java 9 รันสนิปเพท เช่น นิพจน์ ตัวแปร เมธอด คลาส ได้โดยไม่ต้องมีเมธอด main() สามารถรันสนิปเพทเก่าได้โดยพิมพ์ /id โดย id คือ หมายเลขลำดับของสนิปเพท เช่นพิมพ์ /1 จะแสดงและรันสนิปเพทตัวแรกที่ป้อนเข้าไป รันซ้ำสนิปเพทล่าสุด (ว่าถูกต้องหรือผิด) ได้ด้วย /! ตัวอย่าง: ร

  4. ความแตกต่างระหว่าง Java 8 และ Java 9

    Java 9 นำเสนอการปรับปรุงและฟีเจอร์ใหม่มากมาย รวมถึง JShell Http2Client Java Platform Module System (JPMS) Multi-release JAR Stack Walking API Private methods in interface Process API updates Collection API updates Stream API improvements เป็นต้น ความแตกต่างหลัก Java 8 และก่อนหน้า: คอมโพเนนต์ระดับบ

  5. วิธีรันซ้ำสนิปเพทที่มีอยู่ใน JShell ของ Java 9

    JShell เป็นเครื่องมือ REPL แรกใน Java 9 รันสนิปเพทง่ายๆ ได้จาก command line เริ่มเซสชันด้วย jshell หยุดด้วย /exit ค้นหาคำสั่งด้วย /help คำสั่ง /reload ใช้เพื่อ รันซ้ำ (re-execute) สนิปเพททั้งหมดที่มีอยู่ใน JShell สามารถล้างโค้ดทั้งหมดในเซสชันได้ด้วย /reset ตัวอย่าง: สร้างชุดสนิปเพท 25 ใช้ /reloa

  6. Java 9 อนุญาตให้มี private method หรือ private static method ใน interface ได้หรือไม่

    ใช่ ใน Java 9 เราสามารถมี private methods หรือ private static methods ใน interface ได้ ใช้เพื่อกำจัดโค้ดซ้ำ (code redundancy) เมธอด private เข้าถึงได้เฉพาะภายใน interface นั้นๆ ไม่สามารถเข้าถึงหรือสืบทอดจาก interface ไปยัง interface หรือ class อื่นได้ ไวยากรณ์ interface <interface-name> {

  7. ทำไมต้องมี @SafeVarargs ใน Java 9

    ฟีเจอร์ varargs (variable arguments) ถูกนำมารวมใน Java เพื่อสร้างเมธอดที่รับจำนวนอาร์กิวเมนต์ไม่คงที่ได้ โดยไม่ต้องใช้พารามิเตอร์แบบอาร์เรย์หรือ overload เมธอดซ้ำๆ ก่อน Java 9 หาก varargs methods ใช้กับ generics จะมี warning message แม้ไม่ใช่ทุกเมธอดก็สร้าง heap pollution คอมไพเลอร์ก็เตือนทั้งหมด น

  8. คลาส Http/2 Client ใน Java 9 มีอะไรบ้าง

    HTTP/2 เป็นเวอร์ชันใหม่ของโปรโตคอล HTTP ปรับปรุงด้านการจัดเฟรมและขนส่งข้อมูลระหว่างเซิร์ฟเวอร์และไคลเอ็นต์ ใน HTTP/2 มีคลาสแยกสำหรับ HTTP Client Requests และ Responses API ใหม่นี้ทำให้การเชื่อมต่อ HTTP ง่ายขึ้น เร็วขึ้น และรองรับแอปพลิเคชันที่ตอบสนองได้ดีขึ้น โดยไม่ต้องพึ่งไลบรารีภายนอก 3 คลาสหลักข

  9. โมดูลใน Java 9 มีกี่ประเภท และแตกต่างกันอย่างไร

    Module System เป็นฟีเจอร์ใหม่ใน Java 9 โมดูลคือ ชุดของแพ็กเกจ แบ่งเป็น 2 ประเภท: Exported packages (ใช้ภายนอกได้) และ Concealed packages (ใช้ได้เฉพาะภายในโมดูลเท่านั้น) 4 ประเภทของโมดูลใน Java 9 Application Modules: โมดูลที่สร้างขึ้นเพื่อฟังก์ชันการทำงาน ทุก third-party dependencies อยู่ในกลุ่มนี้

  10. ความสำคัญของ Module Descriptor ในโมดูลของ Java 9

    โมดูล (Module) เป็นชุดของโค้ดในรูปของคลาสที่จัดระเบียบอยู่ใน แพ็กเกจ (packages) และทรัพยากรคงที่ (static resources) เช่น property files เป็นต้น โมดูลให้ข้อมูลที่จำเป็นสำหรับสภาพแวดล้อมภายนอกในการใช้งานโมดูลนั้น Module Descriptor เป็นแหล่งสำคัญของระบบโมดูล เป็นรูปแบบคอมไพล์ของการประกาศโมดูลที่ระบุในไ

  11. วัตถุประสงค์ของการใช้ JLink ใน Java 9

    วัตถุประสงค์หลักของฟีเจอร์ JLink คือการสร้าง Customized JRE (JRE ที่ปรับแต่งเอง) ปกติเรารันโปรแกรมกับ Default JRE ที่ Oracle จัดเตรียมไว้ ขนาดประมาณ 214 MB ปัญหาของ Default JRE ตัวอย่างโปรแกรม Hello World ขนาด 1 KB ต้องการแค่ 4-5 คลาส เช่น String System Object และ HelloWorldModuleTest.class ทำไมต้อ

  12. วิธาสร้างเธรดใน JShell ของ Java 9

    JShell เป็นเครื่องมือเชลล์ Java แบบโต้ตอบที่นำมารวมใน Java 9 ช่วยให้รันโค้ดสนิปเพทและแสดงผลทันทีโดยไม่ต้องประกาศเมธอด main() เหมือน Java ปกติ เป็นเครื่องมือ REPL (Read-Evaluate-Print-Loop) รันจาก command-line สามารถสร้าง ตัวแปร เมธอด คลาส scratch variables external libraries ได้ ตัวอย่าง: สร้างเธรด

  13. วิธีนำ Reactive Streams ไปใช้กับ Flow API ใน Java 9

    Flow API เป็นการรองรับมาตรฐาน Reactive Streams อย่างเป็นทางการตั้งแต่ Java 9 เป็นการรวมของทั้งรูปแบบ Iterator และ Observer Flow API เป็นข้อกำหนดสำหรับการทำงานร่วมกัน (interoperation specification) ไม่ใช่ API สำหรับผู้ใช้ปลายทางแบบ RxJava อินเทอร์เฟซหลัก 4 ตัวของ Flow API Subscriber: ผู้สมัครรับข้อ

  14. วิธีดูเวอร์ชัน Java และ OS รวมถึง Vendor ใน JShell ของ Java 9

    Java 9 นำเสนอเครื่องมือ JShell สำหรับภาษาโปรแกรมมิ่ง Java อนุญาตให้ประเมินโค้ดสนิปเพท เช่น การประกาศ คำสั่ง และ นิพจน์ เราสามารถดูรายละเอียด Java Version และ Vendor รวมถึง OS Version และ Name โดยใช้เมธอดสแตติก getProperty() ของคลาส System ตัวอย่างใน JShell Console System Properties ที่ใช้บ่อย ja

  15. วิธีสร้าง Stream จากคลาส Optional ใน Java 9

    คลาส Optional เป็นคอนเทนเนอร์ที่อาจจะมีหรือไม่มีค่า non-null ถูกนำมารวมใน Java 8 เพื่อลด NullPointerException Java 9 เพิ่มเมธอดใหม่ 3 ตัว ได้แก่ ifPresentOrElse() or() และ stream() ซึ่งช่วยจัดการค่าเริ่มต้นได้ดีขึ้น เมธอด stream() จะคืนค่า Stream ที่มีค่าภายใน Optional (ถ้ามี) หรือ Stream ว่าง (ถ้า

  16. ความสำคัญของ REPL ใน Java 9

    REPL ย่อมาจาก Read-Eval-Print-Loop เป็นเชลล์ที่ผู้ใช้พิมพ์นิพจน์ ระบบประเมินค่า และคืนผลลัพธ์กลับทันที วัตถุประสงค์หลักคือให้โต้ตอบกับโปรแกรม Java ได้อย่างรวดเร็วโดยไม่ต้องสร้างไฟล์ .java คอมไพล์และรัน JShell เป็น REPL רשמיของ Java 9 ที่มีประโยชน์มากสำหรับนักพัฒนาและการเรียนรู้ภาษา Java คุณสมบัติหล

  17. ความแตกต่างระหว่าง Compact Strings และ Compressed Strings ใน Java 9

    Compact Strings ถูกนำมารวมใน Java 9 เพื่อแทนที่ Compressed Strings ของ Java 6 การใช้งาน Compact Strings ใช้ byte[] แทน char[] และมีฟิลด์ coder ใหม่เพื่อระบุว่าสตริงอยู่ในรูปแบบ LATIN1 หรือ UTF16 ในขณะที่ Compressed Strings ใน Java 6 ใช้ byte[] สำหรับตัวอักษร 1 ไบต์ และยังคงใช้ char[] สำหรับ 2 ไบต์ ต

  18. เมื่อไหร่ควรใช้เมธอด StackWalker.getCallerClass() ใน Java 9

    Java 9 นำเสนอ StackWalker API ซึ่งเป็นวิธีการเดินสแต็ก (stack walking) ที่มีประสิทธิภาพสำหรับการเข้าถึงแบบ Lazy การกรองสแต็กทрейส คลาส StackWalker ช่วยให้เราสามารถวิ่งไปดูและเข้าถึงสแต็กได้ มีเมธอดที่มีประโยชน์อย่าง walk() forEach() และ getCallerClass() เมธอด getCallerClass() จะคืนค่าคลาสที่เรียกใช

  19. วิธีแสดงรายการคลาส อินเทอร์เฟซ และ Enum ใน JShell ของ Java 9

    JShell หรือที่เรียกว่า REPL (Read-Evaluate-Print-Loop) เป็นเครื่องมือที่นำมารวมใน Java 9 ซึ่งช่วยให้เราสามารถรันโค้ด Java และได้ผลลัพธ์ทันทีโดยไม่ต้องสร้างโปรเจกต์ใหม่ คอมไพล์หรือบิลด์ เราสามารถประเมินนิพจน์ ใช้ import กำหนดคลาส เมธอด และตัวแปรได้อย่างรวดเร็ว เราสามารถแสดงรายการ คลาส อินเทอร์เฟซ แล

  20. ความสำคัญของเมธอด Thread.onSpinWait() ใน Java 9

    Thread.onSpinWait() เป็น static method ใหม่ใน Java 9 เรียกใน busy-waiting loops (spin-wait) ให้ JVM ออกคำสั่ง processor เพิ่มประสิทธิภาพ ลด power consumption ประโยชน์ ปรับปรุง reaction time ใน spin-wait loops ลด power consumption ของ core thread ประโยชน์ต่อ power envelope รวมของโปรแกรม core threads

Total 1935 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:56/97  20-คอมพิวเตอร์/Page Goto:1 50 51 52 53 54 55 56 57 58 59 60 61 62