ออราเคิลประกาศในวันนี้ ยืนยันว่ากระบวนการพัฒนา Java 8 ยังคงทำได้ตามกำหนด และจะเปิดตัวเวอร์ชั่น SE ในเดือนมีนาคมปีหน้า โดยสถานะการพัฒนาตอนนี้ จะเป็นช่วงให้นักพัฒนาทดลองใช้งาน (Developer Preview) หลังจาก JDK 8 รุ่นแรกที่ฟีเจอร์ครบตรมเสปคนั้นออกมาได้เมื่อเดือนมิถุนายนที่ผ่านมา
Java 8 จะมีฟีเจอร์ใหม่เข้ามาอีกหลายอย่าง ที่สำคัญได้แก่
ออราเคิลยังยืนยันว่าจาวายังเป็นภาษาที่ได้รับความนิยมสูง เดสก์ทอปในองค์กร 97% ยังคงรันจาวา, มีนักพัฒนากว่า 9 ล้านคนทั่วโลก, มีเครื่องอุปกรณ์ที่ใช้งานรวมกัน 3 พันล้านชิ้น, และเป็นภาษาอันดับหนึ่งในดัชนี TIOBE (ในวันแถลงข่าวนี้ภาษาจาวาอยู่อันดับสองตามดัชนี)
ที่มา - Oracle
Comments
ชอบ Compact Profiles แต่งงตรง ส่วนนี้เป็นเฉพาะผู้ที่ใช้ HotSpot เท่านั้น
HotSpot คือ ส่วนของโค๊ดที่ถูกเรียกใช้บ่อยๆ มันจะถูกแปลงเป็น machine code เลย ไม่ต้องทำ interpret บ่อยๆ
คือ Oracle JVM ตอนนี้มี VM อยู่สองตัวแล้ว ตัวแรกคือ Sun HotSpot กับ BEA JRockit กรณี permanent generation เป็นสิ่งที่เฉพาะตัวของ Sun HotSpot กล่าวคือ ใช้เป็นที่เก็บของสารพัดของ JVM ที่ garbage collector ไม่ต้องไปจัดการ เช่น ชื่อคลาส, รายชื่อเมธอด, intern String, และบรรดา internal objects ของ JVM เอง
ความคิดเดิมคือ permgen คือไว้เป็นพื้นที่ไว้เฉพาะสำหรับเก็บของเฉพาะสำหรับ HotSpot JVM เอง ซึ่งอยู่นอก heap memory (-Xms, -Xmx) นัยว่าเพื่อให้สะดวกในการทำ GC ที่ไม่ต้องพะวงเรื่องโครงสร้างภายในที่อยู่ใน permgen
ปัญหาคือ permgen ตรงนี้ไม่ปรับขนาดกลางอากาศไม่ได้และหลายครั้งอาจต้องมานั่งจูนค่านี้เอง (-XX:PermSize -XX:MaxPermSize) และใน JVM อื่นๆ ก็ไม่มีแนวคิด permgen แล้วมันก็ทำงานได้ดี
จึงมีความคิดที่จะกำจัด permgen นี้ออกไปเสียมาหลายปีดีดัก (2006) เพิ่งมาได้มรรคได้ผลก็ตอน JDK 8 ที่พยายามยุบรวม HotSpot กับ JRockit เข้ามาด้วยกันนี่แหล่ะครับ
เห็น lambda นี่ประกาศว่าจะทำๆ มานานมากแล้วนะนั่น ขอให้รอบนี้สำเร็จ
ครบตรมเสปค ?