ปี 2017 ได้กลายเป็นประวัติศาสตร์ไปแล้ว และตอนนี้ก็ถึงเวลาที่จะหยุดสักครู่เพื่อดูว่าเหตุการณ์และการเปลี่ยนแปลงใดบ้างที่เกิดขึ้นในโลกของ Java ในช่วงสิบสองเดือนที่ผ่านมา ในช่วงเวลานี้มีหลายสิ่งเกิดขึ้น: ตั้งแต่ละครที่มี Project Jigsaw ไปจนถึงความล่าช้าในการเปิดตัว Java 9 โดยทั่วไปเราเห็นทุกอย่างแล้ว
การเปลี่ยนแปลงของMVC 1.0ไปสู่การควบคุมโดยชุมชนได้เริ่มขึ้นแล้ว การเพิ่ม การรองรับTensorFlow 1.0ทำให้ผู้ใช้ Java สามารถนำไปใช้และใช้งาน Machine Learning ได้ง่ายขึ้น Kotlin 1.1 ได้รับการรองรับ JavaScript และ JVM และยังแนะนำทุกสิ่งที่จำเป็นในการทำงานกับ Java 9 ที่กำลังจะมาถึง และในเวลานี้ ภาษาการเขียนโปรแกรมที่ใช้งานได้จริงใหม่ปรากฏขึ้นในโลก JVM - Lux .
ในขณะเดียวกันการดำเนินคดี ยังคงดำเนินต่อไป ระหว่าง Oracle และ Google เกี่ยวกับ Java API โดยไม่มีที่สิ้นสุด
IntelliJ IDEA 2017.1 เปิดตัวพร้อมรองรับ Java 8
ในบรรดาข่าว Eclipse คือตัวอย่างEclipse Oxygenซึ่งแสดงให้เห็นการปรับปรุงที่สำคัญในด้านการใช้งานและสภาพแวดล้อมทำงานใน Sirius
Gradle ได้รับการสนับสนุนสำหรับ Java 9 และ JDK 18.3 Early Draft Review พร้อมให้ดาวน์โหลดแล้ว "The State of the Octoverse" ยืนยันว่า GitHub ชอบ JavaScript, Python และ Java
มกราคม
Java ต้อนรับปี 2560 ด้วยกิจกรรมต่างๆ มากมาย Jeff Luszcz ประสบปัญหาหลายประการในการใช้ซอฟต์แวร์ Java "ฟรี" โดยเฉพาะลักษณะ "ไม่ฟรี" ของ JRE ซึ่งไม่ชัดเจนสำหรับผู้ใช้ Java SE รวมถึงอันตรายที่อาจเกิดขึ้นจากการใช้งานที่ไม่สามารถควบคุมได้ ซอร์สโค้ดในโครงการของตัวเองกุมภาพันธ์
Java-microปรากฏขึ้นซึ่งเป็นเฟรมเวิร์กใหม่ที่ออกแบบมาเพื่อให้การสร้างไมโครเซอร์วิสใน Java ง่ายขึ้น JHipster 4ได้รับการประกาศพร้อมรองรับ Angular 2 และนวัตกรรมอื่น ๆ NewSQL DBMS หลายเวอร์ชันใหม่ที่กระจายทั่วโลกและปรับขนาดได้สูงซึ่งพัฒนาโดย Google มี ชื่อว่า Cloud Spannerเข้าสู่สถานะเบต้าและได้รับการสนับสนุน Java เต็มรูปแบบมีนาคม
แน่นอนว่าข่าวใหญ่ที่สุดของเดือนนี้คือAngular 4 อย่างไรก็ตาม สิ่งที่น่าสนใจไม่น้อยคือการเปิดตัวแคตตาล็อกโปรแกรม NASAสำหรับทุกคนอาจ
คุณจำอะไรเกี่ยวกับเมย์ได้บ้าง? ผู้อ่านส่วนใหญ่กังวลกับข่าวจาก ดัชนี TIOBEที่แสดงว่า Java ได้ก้าวเข้าสู่ความลาดชันลงแล้ว แม้ว่าจะยังคงครองตำแหน่งผู้นำอยู่ก็ตาม (และยังคงเป็นเช่นนั้น) อย่างไรก็ตาม ในช่วงเดือนพฤษภาคมส่วนใหญ่ ข่าวดังกล่าวถูกครอบงำโดยดราม่าเกี่ยวกับ Java 9 ชุมชนถูกฉีกขาดด้วยข้อพิพาทเกี่ยวกับการเปลี่ยนแปลงที่เสนอใน JDK 9 และ Project Jigsaw ซึ่งต่อมาได้กลายเป็นส่วนที่สำคัญที่สุดของ Java 9 ในวันลงคะแนนเสียง จำนวนผู้เข้าร่วมไม่ต้องการโหวตให้ Jigsaw ดังนั้นเราจะย้ายวันวางจำหน่าย "เก้า" โดยเร็วที่สุด ในข่าวอื่น James Gosling บิดาของ Java ได้เข้าร่วมทุนกับ AWSมิถุนายน
ข่าวใหญ่ในเดือนนี้รวมถึงการประกาศวันวางจำหน่ายอย่างเป็นทางการสำหรับ Java 9 ซึ่งขณะนี้คือวันที่ 21 กันยายน Georges Saab อธิบายว่าทำไมความล่าช้านี้จึงไม่เปลี่ยนแปลงสถานะของ Project Jigsawกรกฎาคม
JetBrains ผู้ปกครองของ IDE IntelliJ IDEA 2017.2 อันเป็นที่รักของเรา ไม่ได้รอช้าจนกว่าจะมีการเปิดตัว Java 9 อย่างเป็นทางการ แต่ได้เปิดตัวตามกำหนดเวลา โดยดำเนินการรองรับเวอร์ชันใหม่ของภาษาล่วงหน้า พวกเขาทำเช่นเดียวกันกับJPMS (Java Platform Module System) - แพลตฟอร์มได้รับการอัปเดตตามกำหนดเวลาสิงหาคม
ข่าวเพิ่มเติมเกี่ยวกับ Java 9 กำลังทำให้เราใกล้ถึงวันวางจำหน่ายมากขึ้น และสุริยุปราคาในโลกแห่งความเป็นจริงก็ติดอันดับ5 อันดับแรกเกี่ยวกับ Eclipse IDEโดยอิงจากผลลัพธ์ในเดือนสิงหาคม (ความจริงก็คือคำว่า "eclipse" แปลว่า "eclipse")กันยายน
การเปิดตัว Java 9และ Java EE 8 แสดงให้เห็นว่าความล่าช้าทั้งหมดนั้นคุ้มค่า หลังจากความ วุ่นวายมากมายกับการเปิดตัว Java 9 ออราเคิลเสนอให้กลับไปใช้โมเดลรุ่นเก่าสองรุ่นต่อปี Spring Framework 5ได้รับการเผยแพร่สู่การประโคมข่าวอย่างยิ่งใหญ่ Java EE ได้ย้ายอย่างเป็นทางการไปยัง Eclipse Foundation และIBM ได้เปิดซอร์ส JVM ของตัวเองตุลาคม
กระแสข่าวเกี่ยวกับ Java 9 ไม่หยุดนิ่ง ในเวลานี้ ความคิดเห็นมากมายเกี่ยวกับโมดูลาร์กำลังแพร่สะพัดบนอินเทอร์เน็ต ดังนั้น Rabea Gransberger ขอแนะนำอย่างยิ่งให้นักพัฒนาทำความคุ้นเคยกับโมดูลให้มากขึ้น และ Simon Ritter เน้นย้ำว่า “JDK 9 ไม่ได้นำนวัตกรรมที่ยิ่งใหญ่มาสู่นักพัฒนา เป้าหมายหลักคือการทำให้สภาพแวดล้อมเป็นแบบโมดูลาร์” ตาม Nicolai Parlog "Java 9 สามารถทำเป็นโมดูลาร์ได้เหมือนกับที่ Java 8 ทำเพื่อการเขียนโปรแกรมเชิงฟังก์ชัน" อย่างไรก็ตาม Lukas Eder ยืนยันว่า "ผู้ใช้จะไม่ต้องการจิ๊กซอว์มาระยะหนึ่งแล้ว เนื่องจาก Maven และ OSGi มีอยู่แล้ว"พฤศจิกายน
ในฐานะที่เป็นส่วนหนึ่งของความคิดริเริ่มในการเร่งวงจรการพัฒนา Oracle ประกาศว่า "การเปิดตัวครั้งสำคัญส่วนใหญ่ควรมีการปรับปรุงที่โดดเด่นอย่างน้อยหนึ่งหรือสองรายการ" นอกจากนี้ในเดือนนี้ยังมีการเปิดตัวJavalinซึ่งเป็นเฟรมเวิร์กเว็บน้ำหนักเบาสำหรับผู้ใช้ Java และ Kotlin และApache Kafkaซึ่งอยู่ในนรกแห่งการพัฒนามาเป็นเวลานานอย่างน่าตกใจ ปรากฎว่าโค้ดต้นฉบับส่วนใหญ่บน GitHub เขียนด้วยภาษา Javaธันวาคม
ยิ่งใกล้สิ้นปีข่าวสำคัญก็น้อยลง Oracle ประกาศว่า Java เวอร์ชันถัดไปจะมีชื่อว่า JDK 10 ขอบคุณ KO!2018 และต่อๆ ไป
Java จะมีอะไรรออยู่ในปีหน้า? ตามกำหนดการใหม่ของ Oracle รุ่นถัดไปควรพร้อมในช่วงปลายเดือนมีนาคมหรือต้นเดือนเมษายน 2018 เป็นไปได้มากว่าฟังก์ชันใหม่ใน Java 10 จะแสดงโดยการพัฒนาที่อยู่ใน JEP ในปัจจุบันในสถานะ "กำหนดเป้าหมาย" หรือ "เสนอไปยังเป้าหมาย" ในขณะนี้คือ:- การอนุมานประเภทตัวแปรท้องถิ่นเป็นข้อเสนอเพื่อแนะนำคีย์เวิร์ด var ลงใน Java ซึ่งจะขจัดความจำเป็นในการระบุประเภทของตัวแปรท้องถิ่นอย่างชัดเจน
- การรวม "ฟอเรสต์" ของ JDK ไว้ในที่เก็บข้อมูลเดียว (ปัจจุบันมีแปดแห่ง - รูท, corba, ฮอตสปอต, jaxp, jaxws, jdk, langtools, nashorn)
- อินเทอร์เฟซ Garbage-Collector (ปรับปรุงการแยกซอร์สโค้ดของตัวรวบรวมขยะต่างๆ โดยใช้อินเทอร์เฟซกับ Garbage Collector)
- GC เต็มขนานสำหรับ G1 ใน JDK9 นั้น G1 จะกลายเป็นตัวรวบรวมขยะเริ่มต้น ในขณะที่ตัวรวบรวมฐานก่อนหน้านี้คือ Parallel GC ซึ่งมีตัวรวบรวมขยะเต็มรูปแบบแบบขนาน แต่ G1 ไม่มี เสนอให้สร้างตัวรวบรวมขยะแบบเต็มสำหรับ G1 ให้ขนานกันด้วย
- การแบ่งปันคลาสแอปพลิเคชัน-ข้อมูล - งานนี้เสนอเพื่อปรับปรุงการโหลดและการติดตาม โดยขยายคุณสมบัติการแบ่งปันคลาส (CDS) ที่มีอยู่เพื่อให้คลาสแอปพลิเคชันอยู่ในที่เก็บถาวรทั่วไป
- Thread-Local Handshakes - เสนอวิธีการดำเนินการเรียกกลับข้ามเธรดโดยไม่ต้องใช้จุดความปลอดภัยของ VM ส่วนกลาง วิธีง่ายๆ ในการหยุดแต่ละเธรด แทนที่จะหยุดทั้งหมด (หรือหยุดเลย)
GO TO FULL VERSION