หน้าแรก
หน้าแรก
คำชี้แจงปัญหา ด้วยอาร์เรย์ของจำนวนเต็มที่กำหนดโดยที่องค์ประกอบทั้งหมดน้อยกว่า 1000000 ค้นหาความแตกต่างระหว่างจำนวนเฉพาะที่ใหญ่ที่สุดและจำนวนเฉพาะที่เล็กที่สุดในอาร์เรย์ ตัวอย่าง อาร์เรย์:[ 1, 2, 3, 4, 5 ]จำนวนเฉพาะที่ใหญ่ที่สุด =5 จำนวนเฉพาะที่เล็กที่สุด =2 ความแตกต่าง =5 - 3 =2 วิธีแก้ปัญหา ใช้วิ
ลักษณะนิสัย ลักษณะจะคล้ายกับอินเทอร์เฟซใน Java และสร้างขึ้นโดยใช้คีย์เวิร์ด trait บทคัดย่อ คลาสนามธรรมคล้ายกับคลาสนามธรรมใน Java และสร้างขึ้นโดยใช้คำสำคัญที่เป็นนามธรรม ตัวอย่าง ต่อไปนี้เป็นโปรแกรมใน Scala เพื่อแสดงการใช้ Traits และ Abstract Classes trait SampleTrait { // Abstract me
การเปลี่ยนแปลงครั้งสำคัญในเวอร์ชัน Java 9 คือ ระบบโมดูล และให้ JVM แบบแยกส่วน ที่ทำงานบนอุปกรณ์ที่มีหน่วยความจำน้อยกว่า JVM ทำงานด้วยโมดูลและ API ที่แอปพลิเคชันต้องการเท่านั้น module Module-Name { requires moduleName; exports packageName; } ด้านล่างนี้คือข้อดีและข้อเสียบางประการของระบบโมดูล ข
JShell เป็นเครื่องมือ Java Shell แบบโต้ตอบที่รันโค้ดจาก JShell และแสดงเอาต์พุตทันที JShell เป็น REPL (อ่าน-ประเมิน-พิมพ์-วนซ้ำ ) เครื่องมือที่สามารถเรียกใช้จาก บรรทัดคำสั่ง พร้อมรับคำ ใน JShell มีตัวเลือกให้โหลดสคริปต์เมื่อเริ่มต้นซึ่งมีตัวเลือกพิเศษที่กำหนดไว้ล่วงหน้าบางอย่าง สามารถระบุได้โดยใช้ป
สตรีม API มี ฟังก์ชันในตัวมากมาย เพื่อช่วยในการดำเนินการกับคอลเลกชันโดยใช้ท่อส่งกระแสข้อมูล API คือ การเขียนโปรแกรมเชิงประกาศ ที่ทำให้โค้ดมีความแม่นยำและเกิดข้อผิดพลาดน้อยลง ใน Java 9 เพิ่มวิธีการที่มีประโยชน์บางอย่างใน Stream API . Stream.iterate(): วิธีนี้สามารถใช้เป็นเวอร์ชันสตรีมแทน for-loo
A ผู้เผยแพร่ อินเทอร์เฟซเป็นผู้ให้บริการองค์ประกอบที่จัดลำดับจำนวนไม่จำกัด เผยแพร่ตามความต้องการที่ได้รับจากสมาชิก . เพื่อเป็นการตอบสนองต่อการโทร Publisher.subscribe(Subscriber) , ลำดับการเรียกใช้ที่เป็นไปได้สำหรับเมธอดใน สมาชิก . หมายความว่า onSubscribe() เมธอด ตามด้วยจำนวนไม่จำกัดของ onNext() วิธ
โดยทั่วไป ตัวจัดการตัวแปร เป็นเพียงการพิมพ์อ้างอิงถึงตัวแปร มันจะเป็น อาร์เรย์ องค์ประกอบ ตัวอย่าง หรือ คงที่ ฟิลด์ ของชั้นเรียน วาร์แฮนเดิล คลาสสามารถให้การเข้าถึงการเขียนและการอ่านตัวแปรภายใต้เงื่อนไขเฉพาะ สิ่งเหล่านี้ ไม่เปลี่ยนรูป และไม่มีสภาพที่มองเห็นได้ นอกจากนี้ยังไม่สามารถจัดประเภทย่อ
JShell เป็นเครื่องมือบรรทัดคำสั่ง แนะนำใน Java 9 และเป็น REPL . อย่างเป็นทางการครั้งแรกของ Java เครื่องมือในการสร้างสภาพแวดล้อมการเขียนโปรแกรมอย่างง่ายที่อ่านอินพุตของผู้ใช้ ประเมิน และพิมพ์ผลลัพธ์ การประกาศภายนอกคลาส หรือ อินเทอร์เฟซ (และการประกาศของคลาสและอินเทอร์เฟซด้วยตัวเอง) ได้ถูกสร้างขึ้น
วาร์แฮนเดิล เป็นการอ้างอิงถึงตัวแปร และให้การเข้าถึงตัวแปรภายใต้โหมดการเข้าถึงต่างๆ (เช่น ธรรมดา อ่าน/เขียน , ผันผวน อ่าน/เขียน และ เปรียบเทียบและสลับ ) คล้ายกับฟังก์ชันของ java.util.concurrent.atomic และ sun.misc.Unsafe . ตัวแปรสามารถเป็น อาร์เรย์ องค์ประกอบ ตัวอย่าง หรือ คงที่ สาขาต่างๆ ในช
JAR ที่เข้ากันได้กับหลายเวอร์ชัน ฟังก์ชันช่วยให้เราสร้างเวอร์ชันของคลาสที่เราเลือกใช้เฉพาะเมื่อรันโปรแกรมไลบรารีในสภาพแวดล้อม Java เวอร์ชันเฉพาะ เราสามารถระบุเวอร์ชันที่คอมไพล์ผ่าน --release พารามิเตอร์ การเปลี่ยนแปลงเฉพาะคือ MANIFEST.MF ในไฟล์ META-INF ไดเร็กทอรีมีแอตทริบิวต์ใหม่ดังนี้ Multi-Rel
ใน Java 9 มีวิธีการคงที่สองสามวิธี:สตรีม () หรือ () และ ifPresentOrElse() ได้เพิ่มใน ตัวเลือก ระดับ. การแนะนำของ ตัวเลือก คลาสแก้ไข ข้อยกเว้นตัวชี้ค่า null . Optional.or() วิธีการส่งคืน ตัวเลือก อธิบายค่าหากมีค่า มิฉะนั้นจะคืนค่า Optional ที่สร้างโดยฟังก์ชันการจัดหา ไวยากรณ์ public Optional<T
ก่อน Java 9 เราต้องค้นหาใน google เพื่อค้นหา แพ็คเกจ , คลาส , อินเทอร์เฟซ และ วิธีการ ข้อมูล . ตั้งแต่ Java 9 , Javadoc รวมตัวเลือกการค้นหาในเอกสาร API ตัวเองและผลลัพธ์ สอดคล้องกับ HTML5 . ในตัวอย่างด้านล่าง เราได้สร้าง JavaDocTest.java ในไฟล์ C:/JAVA โฟลเดอร์ ตัวอย่าง public class JavaDocTest {
ตัวดำเนินการเพชร ได้แนะนำใน Java 7 เพื่อทำให้โค้ดอ่านง่ายขึ้น และไม่สามารถใช้กับคลาสภายในที่ไม่ระบุตัวตนได้ ใน Java 9 , ตัวดำเนินการเพชรสามารถใช้กับ ชั้นในที่ไม่ระบุชื่อ เพื่อปรับปรุงความสามารถในการอ่านโค้ด ใน Java 9 เราสามารถใช้โอเปอเรเตอร์ diamond <> ในคลาสนิรนามดังต่อไปนี้: ตัวอย่าง public class
Java 9 เพิ่ม ProcessHandle อินเทอร์เฟซ ประมวลผล API เพื่อปรับปรุงคลาสกระบวนการ อินสแตนซ์ของอินเทอร์เฟซ ProcessHandle ระบุกระบวนการในพื้นที่ที่ช่วยให้เราสามารถสืบค้น สถานะ กระบวนการ และการจัดการกระบวนการ และ ProcessHandle.Info ช่วยให้เราใช้รหัสท้องถิ่นได้เนื่องจากต้องการรับ PID ของกระบวนการในท้อง
สมาชิก อินเทอร์เฟซสมัครสมาชิกผู้เผยแพร่เพื่อรับรายการผ่าน onNext() เมธอด ข้อความแสดงข้อผิดพลาดผ่าน onError () เมธอด หรือสัญญาณว่าไม่มีรายการเพิ่มเติมที่จะคาดหวังผ่าน onComplete() กระบวนการ. ก่อนที่สิ่งเหล่านั้นจะเกิดขึ้น ผู้เผยแพร่จะเรียก onSubscription() วิธีการ public interface Subscriber<T>
JShell เป็นเครื่องมือโต้ตอบบรรทัดคำสั่งที่นำมาใช้ในเวอร์ชัน Java 9 ที่ช่วยให้โปรแกรมเมอร์ดำเนินการคำสั่งง่ายๆ นิพจน์ ตัวแปร เมธอด คลาส อินเทอร์เฟซ ฯลฯ โดยไม่ต้องประกาศ main() วิธีการ ใน JShell คอมไพเลอร์เตือนโปรแกรมเมอร์เกี่ยวกับ typecasting ปัญหาโดยการโยนข้อผิดพลาด อย่างไรก็ตาม หากโปรแกรมเมอร์ทรา
ลองใช้กับทรัพยากร คำสั่งได้รับการปรับปรุงใน Java 9 . หากเรามีทรัพยากรที่ ขั้นสุดท้าย . อยู่แล้ว หรือเทียบเท่ากับตัวแปรสุดท้าย เราก็สามารถใช้ตัวแปรนั้นในคำสั่ง try-with-resources ได้โดยไม่ต้องประกาศตัวแปรใหม่ในคำสั่ง try-with-resources เราสามารถประกาศ ทรัพยากรได้หลายอย่าง ในบล็อกลอง ลองบล็อกการเริ่
องค์ประกอบใดๆ ที่สามารถใส่คำอธิบายประกอบด้วย @Deprecated แสดงว่าไม่ได้ใช้องค์ประกอบนี้อีกต่อไปด้วยเหตุผลด้านล่าง การใช้มีความเสี่ยงและอาจทำให้เกิดข้อผิดพลาดได้ อาจใช้ไม่ได้ในเวอร์ชันต่อๆ ไป อาจถูกลบในเวอร์ชันต่อๆ ไป มีโซลูชันที่ดีกว่าและมีประสิทธิภาพมากกว่าเข้ามาแทนที่แล้ว Java 9 ได้เพิ่มสององค
A สมัครสมาชิก สามารถแชร์โดยผู้เผยแพร่หนึ่งรายและสมาชิกหนึ่งรายเพื่อวัตถุประสงค์ในการเป็นสื่อกลาง ข้อมูล แลกเปลี่ยน . นั่นคือเหตุผล subscribe() เมธอดไม่ส่งคืนการสมัครสมาชิกที่สร้างขึ้น แต่จะคืนค่า โมฆะ . การสมัครรับข้อมูลจะถูกส่งต่อไปยังผู้สมัครสมาชิกผ่านทาง onSubscribe() . เท่านั้น วิธีการโทรกลับ
JShell ได้แนะนำใน Java 9 ที่ช่วยให้เราสามารถสำรวจ ค้นพบ และทดลองกับคุณลักษณะภาษา Java และไลบรารีที่กว้างขวางได้ The สัมพันธ์ ตัวดำเนินการ (==, !=, = ) ใช้สำหรับ เปรียบเทียบ . เป็นหลัก . ยอมรับตัวถูกดำเนินการของชนิดข้อมูลพื้นฐานที่ไม่ใช่บูลีนและส่งคืน บูลีน ค่า. JShell ยังสนับสนุน ตรรกะ ตัวดำเนิ