สำนักงาน

JDK 10: 10 คุณลักษณะใหม่และการปรับปรุงใน Java 10

เวก้าผับ ฉบับพิเศษ

เวก้าผับ ฉบับพิเศษ

สารบัญ:

Anonim

นับถือความมุ่งมั่น Oracle ได้ส่งมอบ Java 10 ใหม่ทันเวลา การมาถึงของมันเช่น JDK 10 การได้รับการตอบรับอย่างดีจาก Java Standard Edition 10 ทำไม? ค่อนข้างมากเครื่องมือและผู้ผลิตกรอบไม่ชำนาญกับ Java 9 และยังคงไม่ว่างปรับตัวเข้ากับระบบโมดูลใหม่ เช่นนี้การเปลี่ยนแปลงในรูปแบบของกิจกรรมช่วยให้ผู้ใช้สามารถรับมือกับงานได้อย่างรวดเร็ว

คุณลักษณะใหม่ ๆ ใน Java 9

ดังนั้นสิ่งที่ใหม่ทั้งหมดใน Java 10 คืออะไร? ประการแรกความสนใจอย่างมากได้รับการเน้นอย่างถูกต้องเกี่ยวกับคุณลักษณะใหม่ล่าสุดของ Java รวมถึงการแนะนำ

  1. การอนุมานประเภทตัวแปรท้องถิ่น - คุณลักษณะนี้มีจุดมุ่งหมายเพื่อปรับปรุงภาษา Java เพื่อขยายการอนุมานแบบต่างๆไปสู่การประกาศของท้องถิ่น ตัวแปรที่มี initializers อ้างว่าเป็นคุณสมบัติเฉพาะที่แท้จริงสำหรับนักพัฒนาซอฟต์แวร์ใน JDK 10.
  2. การจัดเตรียมชุดใบรับรองหลักของผู้ออกใบรับรองหลักใน JDK - วัตถุประสงค์หลักที่อยู่เบื้องหลังนี้คือใบรับรองหลักโอเพนซอร์สใน Oracle Java SE ของ Oracle โปรแกรม Root CA เพื่อสร้าง OpenJDK สร้างความน่าสนใจให้กับนักพัฒนาซอฟต์แวร์ นอกจากนี้ตามคำอธิบายอ่านนอกจากนี้ประโยชน์จะให้ชุดค่าเริ่มต้นของราก Certification Authority (CA) ใบรับรองใน JDK
  3. Application class - data sharing เพื่อเพิ่มเวลาเริ่มต้นและรอยเท้า - CDS (class-data) เป็นครั้งแรกใน JDK 5 ในความพยายามที่จะปรับปรุงประสิทธิภาพของการเริ่มต้น JVM และลดรอยทรัพยากรเมื่อหลาย JVMs กำลังทำงานอยู่บนเครื่องกายภาพเดียวกัน JDK 10 จะขยายฟังก์ชันการทำงานของ CDS เพื่อให้ชั้นแอ็พพลิเคชันสามารถวางไว้ในที่เก็บข้อมูลที่ใช้ร่วมกัน ก่อนหน้านี้การใช้ CDS ถูก จำกัด เฉพาะสำหรับ loader loader bootstrap เท่านั้น
  4. Docker awareness - ตอนนี้เริ่มต้นแล้วในกรณีที่คุณเลือกใช้ Java 10 บนระบบ Linux Java Virtual Machine (JVM) จะทำงานได้อย่างรวดเร็ว จดจำว่าทำงานอยู่ในที่เก็บ Docker หรือไม่ ข้อมูลเฉพาะของคอนเทนเนอร์เช่นจำนวนซีพียูและหน่วยความจำทั้งหมดที่จัดสรรให้กับคอนเทนเนอร์จะถูกดึงออกโดย JVM แทนการสอบถามระบบปฏิบัติการ
  5. ตัวเลือก JVM เพิ่มเติม - ตัวเลือกใหม่จะให้ผู้ใช้คอนเทนเนอร์ Docker สามารถควบคุมได้มากขึ้น มากกว่า
  6. แก้ไขข้อผิดพลาด - แก้ไขข้อผิดพลาดในการแก้ไขกลไกการแนบเมื่อพยายามแนบจากกระบวนการโฮสต์ไปเป็นกระบวนการ Java ที่อยู่ในคอนเทนเนอร์เทียบท่า
  7. APIs ใหม่ - Java 10 จะมี APIs ใหม่เพื่อให้สามารถสร้างคอลเล็กชันที่ไม่สามารถแก้ไขได้ดียิ่งขึ้น เมธอด copyOf, Set.copyOf และ Map.copyOf จะสร้างอินสแตนซ์คอลเล็กชันใหม่จากอินสแตนซ์ที่มีอยู่ เมธอดใหม่ toUnmodifiableList, toUnmodifiableSet และ toUnmodifiableMap ถูกเพิ่มลงในคลาส Collectors ในแพ็คเกจ Stream เพื่อให้สามารถเก็บองค์ประกอบของ Stream ไว้ในคอลเล็กชันที่ไม่สามารถแก้ไขได้
  8. Garbage Collector Interface : ในโครงสร้าง JDK ก่อนหน้านี้คอมโพเนนต์ ที่สร้างขึ้นจาก Garbage Collector (GC) ได้ถูกกระจายไปทั่วทั้งส่วนต่างๆของฐานรหัส แม้ว่าพวกเขาจะรู้จักกับผู้ที่คุ้นเคยกับโครงร่าง GC ที่ใช้โดย JDK แต่ก็มักทำให้เกิดความสับสนสำหรับนักพัฒนาซอฟต์แวร์รุ่นใหม่ ๆ มีการเปลี่ยนแปลงใน Java 10. ตอนนี้เป็นส่วนติดต่อที่สะอาดภายในรหัสแหล่ง JVM เพื่อให้นักสะสมแบบอื่นสามารถรวมเข้าด้วยกันได้อย่างรวดเร็วและง่ายดาย
  9. การรวมพื้นที่เก็บข้อมูลของฟอเรสต์ JDK ลงในที่เก็บเดียว - ฐานโค้ดจนถึงบัดนี้ถูกแบ่งออกเป็นหลาย repos ซึ่งอาจทำให้เกิดปัญหากับ source-code การจัดการ ดังนั้นในความพยายามที่จะปรับปรุงการพัฒนาแปด repos:
  • ราก
  • Corba
  • Hotspot
  • Jaxp
  • Jaxws
  • Jdk
  • Langtools
  • Nashorn
  • ใช้ได้ก่อนหน้านี้ ใน JDK 9 ถูกผสานเข้ากับพื้นที่เก็บข้อมูลเดียวเพื่อดำเนินการกระทำอะตอมระหว่างพื้นที่เก็บข้อมูลของเซ็ตการแก้ไขที่ขึ้นกับระหว่างกัน

Gral Java ที่ใช้คอมไพเลอร์ในเวลาเพียงอย่างเดียว

สุดท้าย Graal ซึ่งช่วยให้โปรแกรมเมอร์สร้าง runtimes และคอมไพเลอร์สำหรับภาษาใหม่หรือที่มีอยู่ใน Java ได้รับการเปิดใช้งานเป็นคอมไพเลอร์แบบ Grall Java ที่ใช้ในเวลาเพียงครั้งเดียวเพื่อใช้ใน ทดลองใช้งานบนแพลตฟอร์ม Linux / x64

Oracle สัญญาว่าจะมีการนำเสนอการเผยแพร่ในระยะยาวอย่างต่อเนื่องเป็นระยะ ๆ สำหรับข้อมูลเพิ่มเติมโปรดดูที่หน้านี้