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

ความแตกต่างระหว่าง 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 และก่อนหน้า: คอมโพเนนต์ระดับบนสุดคือ package จัดกลุ่ม types (classes, interfaces, enums) และ resources
  • Java 9: นำเสนอคอมโพเนนต์ใหม่ module จัดกลุ่มแพ็กเกจที่เกี่ยวข้อง และ module descriptor (module-info.java)
  • Java 8 ใช้ package เป็น top-level component ในขณะที่ Java 9 ใช้ module
  • แต่ละโมดูล Java 9 มี module descriptor เพียง 1 ตัว ในขณะที่ package ของ Java 8 ไม่รวมหลายโมดูลเป็นโมดูลเดียวได้

โครงสร้าง Java 8

Packages
  - Types (classes, enums, interfaces, etc)
  - Code
  - Data
  - Resources
    - xml
    - images
    - properties

โครงสร้าง Java 9

Modules (Resources, Module Descriptor)
  - Packages
    - Types (classes, enums, interfaces, etc)
    - Code
    - Data
    - Resources
      - xml
      - images
      - properties

ฟีเจอร์ใหม่สำคัญใน Java 9

ฟีเจอร์คำอธิบาย
JShell (REPL)รันโค้ดโต้ตอบได้ทันที
Module System (JPMS)โมดูลาร์ลิซ์โค้ด จัดการ dependency
HTTP/2 ClientHTTP client ใหม่ รองรับ HTTP/2
Multi-release JARJAR เดียวรองรับหลายเวอร์ชัน JDK
Stack Walking APIเข้าถึง stack trace แบบ lazy และ filter ได้
Private Interface Methodsprivate methods ใน interface
Process APIจัดการ process OS ได้ดีขึ้น
Collection Factory MethodsList.of(), Set.of(), Map.of()
Stream APItakeWhile, dropWhile, iterate, ofNullable
Optional Enhancementsstream(), ifPresentOrElse, or()