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

    Binding ใน Java Binding = การเชื่อมโยงระหว่าง method call และ implementation จริง Static Binding (Early Binding) Resolve ที่ compile time ใช้ type ของ class/fields ในการ resolve ตัวอย่าง: Method Overloading Methods: private, final, static Dynamic Binding (Late Binding) Resolve ที่ runtime ใช้ o

  2. ความแตกต่างระหว่าง Object Level Lock และ Class Level Lock ใน Java

    Locks ใน Multithreading Java ใช้ locks จำกัดการเข้าถึง shared resources แบบ concurrent มี 2 ระดับ: Object Level Lock ใช้เมื่อต้องการ non-static method/block เข้าถึงได้เพียง thread เดียว แต่ละ object instance มี lock ของตัวเอง ทำให้ non-static data thread-safe Class Level Lock ใช้เมื่อต้องการป้อ

  3. วิธีติดตั้ง Java ด้วย Apt-Get บน Ubuntu 16.04

    ติดตั้ง Java บน Ubuntu 16.04 1. Default JRE/JDK (OpenJDK) JRE (Runtime) $ sudo apt-get install default-jre JDK (Development Kit) $ sudo apt-get install default-jdk 2. Oracle JDK (ผ่าน PPA) เพิ่ม Repository $ sudo add-apt-repository ppa:webupd8team/java Update และ Install $ sudo apt-get update $

  4. วิธีติดตั้ง Rundeck บน Debian 8 (Jessie) Server

    Rundeck คืออะไร? Rundeck ใช้รันคำสั่ง/สคริปต์บน remote computer สร้าง job ด้วย single step หรือ workflow execute commands/scripts/tools บน local/remote nodes เรียกผ่าน scheduler, web UI หรือ API ข้อกำหนดก่อนติดตั้ง Rundeck เขียนด้วย Java ต้องติดตั้ง Java ก่อน: $ sudo dpkg --add-architecture i386 $

  5. ความแตกต่างระหว่าง OpenID และ OAuth

    OpenID vs OAuth OAuth (Authorization) ออกแบบสำหรับ Authorization (การอนุมัติ) ให้ third-party เข้าถึงทรัพยากรโดยไม่ต้องให้ password ใช้ Access Token ผ่าน API HTTP-based ไม่ initiate user session OpenID (Authentication) ออกแบบสำหรับ Authentication (การยืนยันตัวตน) Third-party authenticate ผู้ใช้

  6. ความแตกต่างระหว่าง ArrayBlockingQueue และ LinkedBlockingQueue

    ArrayBlockingQueue vs LinkedBlockingQueue ทั้งคู่ implement BlockingQueue interface เก็บข้อมูลแบบ FIFO Insertion ที่ tail, Removal ที่ head ตารางเปรียบเทียบ KeyArrayBlockingQueueLinkedBlockingQueue Backing StructureArrayLinked List Boundedใช่ (fixed capacity)ไม่ (unbounded โดย default) Throughp

  7. ความแตกต่างระหว่าง ArrayBlockingQueue และ ArrayDeque

    ArrayBlockingQueue vs ArrayDeque ArrayBlockingQueue เก็บข้อมูลแบบ FIFO (First-In-First-Out) Insertion ที่ tail, Removal ที่ head Thread-safe Bounded - กำหนด capacity ตอนสร้าง เปลี่ยนไม่ได้ Implements BlockingQueue interface ArrayDeque Resizable-array implementation ของ Deque interface ไม่มีข้อจ

  8. ฟีเจอร์และการปรับปรุงหลักใน Java 9

    Java 9: Features และ Enhancements หลัก Oracle ปล่อย Java 9 พร้อมฟีเจอร์ใหม่และการปรับปรุงมากมาย รายการฟีเจอร์สำคัญ Factory Methods for Collections: List.of(), Set.of(), Map.of() สร้าง immutable collections ได้ง่าย Java Platform Module System (JPMS): Modularity, encapsulation, dependencies manageme

  9. กฎสำหรับ Private Methods ใน Interface ของ Java 9

    Private Methods ใน Interface Java 9 อนุญาตให้ interface มี private methods และ private static methods โดยใช้ modifier private กฎสำคัญ ต้องมี body: private method ต้องมี implementation ไม่ได้เป็น abstract method (error: This method requires a body instead of a semicolon) ห้ามรวม private และ abstrac

  10. Factory Methods สำหรับ Collections ใน Java 9

    Factory Methods สำหรับ Immutable Collections Factory methods เป็น static methods สร้าง unmodifiable collection instances ได้สะดวกสำหรับจำนวน elements น้อย 1. List.of() Syntax List.of(elements...) ตัวอย่าง List<String> list = List.of(item 1, item 2, item 3, item 4, item 5); for (String l : lis

  11. เมธอดใหม่ที่เพิ่มใน Optional Class ของ Java 9

    Optional Class Enhancements ใน Java 9 Java 9 เพิ่ม 3 เมธอดให้ Optional: or(), ifPresentOrElse(), stream() 1. Optional.or() พฤติกรรม: คืน Optional จาก Supplier Syntax public Optional<T> or(Supplier<? extends Optional<? extends T>> supplier) ตัวอย่าง Optional.of(Adithya)); System.o

  12. ฟีเจอร์ใหม่ของ Stream API ใน Java 9

    เมธอดใหม่ 4 ตัวใน Stream API Java 9 เพิ่มเมธอดให้ Stream interface: iterate(), ofNullable(), takeWhile(), dropWhile() 1. iterate() - แทน for-loop เพิ่ม Predicate parameter สำหรับเงื่อนไขหยุด i i + 1).forEach(System.out::println); // Output: 1 2 3 4 2. ofNullable() - จัดการ Null Safety คืน Stream

  13. Diamond Operator กับ Anonymous Inner Class ใน Java 9

    Diamond Operator กับ Anonymous Class ตั้งแต่ Java 9 ใช้ diamond operator (<>) กับ anonymous inner class ได้แล้ว พื้นหลัง Diamond operator (<>): Java 7 ใช้กับ normal classes เพื่อลด generic type ซ้ำทางขวา Java 7/8: ห้าม ใช้กับ anonymous inner class (compile error) Java 9+: อนุญาต ใช้กับ anonymous i

  14. การปรับปรุง Try-with-resources ใน Java 9

    Try-with-resources Improvement Try-with-resources มาตั้งแต่ Java 7 ปิด resource อัตโนมัติ แต่จำเป็นต้องประกาศ resource ใน try statement Java 9 ปรับปรุง: ไม่ต้องประกาศ object ใหม่ใน try statement ได้ ใช้ variable ที่ประกาศไว้ภายนอกได้ ตัวอย่าง import java.io.*; public class TryWithResourceTest {

  15. การใช้งาน Underscore Keyword ใน Java 9

    Underscore (_) กลายเป็น Reserved Keyword ใน Java ก่อนหน้า underscore (_) ใช้เป็น identifier หรือ variable name ได้ ตั้งแต่ Java 9 underscore เป็น reserved keyword ห้ามใช้เป็น identifier/ตัวแปร ผลลัพธ์ถ้าใช้ Compile-time error: error: as of release 9, _ is a keyword, and may not be used as an identi

  16. @SafeVarargs Annotation สำหรับ Private Methods ใน Java 9

    @SafeVarargs ใน Java 9 @SafeVarargs เพิ่มใน Java 7 ใช้กับ final/static methods หรือ constructors ที่มี varargs ตั้งแต่ Java 9 ใช้กับ private instance methods ได้ด้วย วัตถุประสงค์ ยืนยันว่า method ไม่ทำ unsafe operations กับ varargs parameter (เช่น ไม่ให้ varargs array หลุดไปนอก scope) Syntax @Safe

  17. การปรับปรุง CompletableFuture API ใน Java 9

    CompletableFuture API Improvements Java 9 ปรับปรุง CompletableFuture สำหรับ asynchronous programming เพิ่ม 3 พื้นที่หลัก: 1. Support for Timeouts and Delays orTimeout() public CompletableFuture<T> orTimeout(long timeout, TimeUnit unit) โยน TimeoutException completeOnTimeout() public Complet

  18. Attribute ใหม่ของ @Deprecated Annotation ใน Java 9

    Enhanced @Deprecated ใน Java 9 Java 9 เพิ่ม 2 attributes ให้ @Deprecated annotation: since และ forRemoval ทั้งคู่เป็น optional มีค่า default 1. since (String) ระบุ version ที่ API ถูก deprecated ค่า default = empty string Syntax @Deprecated(since=<version>) 2. forRemoval (boolean) ระบุว่า AP

  19. JShell ใน Java 9

    JShell คืออะไร? JShell เป็นฟีเจอร์ใหม่ใน Java 9 ให้ความสามารถ REPL (Read-Eval-Print-Loop) ทดสอบ java logic และ expressions ได้ทันทีโดยไม่ต้อง compile เริ่มต้นใช้งาน JShell Step 1: เปิด JShell C:\Users\User>JShell | Welcome to JShell -- Version 9.0.4 | For an introduction type: /help intro jshel

  20. ความแตกต่างระหว่าง takeWhile() และ dropWhile() ใน Java 9

    Stream API: takeWhile vs dropWhile Java 9 เพิ่ม takeWhile() และ dropWhile() ให้ Stream interface ทำงานกับ Predicate takeWhile() พฤติกรรม: รับ elements ตั้งแต่ต้นจนกว่า predicate จะเป็น false Syntax default Stream<T> takeWhile(Predicate<? super T> predicate) ตัวอย่าง !o.isEmpty()) .

Total 1935 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:51/97  20-คอมพิวเตอร์/Page Goto:1 45 46 47 48 49 50 51 52 53 54 55 56 57