
ที่มา:blogs.oracle.com
จาวาเบอร์ 8 หรือ JDK 1.8 หรือที่ถูกเรียกว่า “จาวาฟังก์ชั่นนอล” เนื่องจากในจาวาเบอร์ 8 นี้ทีมงานผู้พัฒนาของบริษัท ออราเคิล (oracle) ได้มีการปรับปรุงและเพิ่มความสามารถในการทำงานให้กับตัวภาษาจาวา ทำให้ภาษาจาวาที่เป็นเบอร์ 8 นี้มีศักยภาพในการทำงานแบบ OOP ที่เปลี่ยนแปลงไป เนื่องจากในจาวาเบอร์ 8 นี้จะไม่เพียงแค่การมองแบบ Class กับ Object อีกต่อไป จะอนุญาตให้นักพัฒนาสามารถที่จะเข้าถึงหรือปรับปรุงตลอดจนการถ่ายสืบทอดความสัมพันธ์ระหว่างแม่ลูกในระดับ Method หรือ Function กันเลยทีเดียว ทำให้กลาย จาวาเบอร์ 8 นี้ถูกเรียกว่า “จาวาฟังก์ชั่นนอล” แล้วนอกจากนี้มีอะไรใหม่ที่เพิ่มมากขึ้นในจาวา เบอร์ 8 บ้าง
- จาวาตัวนี้มี API ตัวใหม่ที่เพิ่มเข้ามาซึ่งมีชื่อ เรียกว่า Stream API โดยมันถูกเพิ่มเข้ามาเพื่อให้สามารถทำงานในลักษณะของ Collection ข้อมูลที่มีจำนวนมาก ๆ ให้มีความเร็วและมีประสิทธิภาพมาก ขึ้น โดยลักษณะของการทำงานจะเปลี่ยนไป ทำให้โปรแกรมสามารถทำงานในลักษณะ parallel ได้
- มีการเพิ่มความสามารถใหม่ที่เรียกกันว่า Lamda expression ที่ถูกนำมาใช้เพื่อให้ทำงานร่วมกันกับ API ข้างต้น โดยตัวอย่างหรือรายละเอียดเพิ่มเติมสามารถดูได้จาก ข้อมูลของคุณอรุณี
- parallel ของจาวาที่ได้ทำการกล่าวไปในเบื้องต้นเป็นการทำงานในลักษณะแบบขนานที่เกิดขึ้นในสถาปัตยกรรมของ CPU ที่เรียกว่า CORE หรือแกน โดยคำว่า core นี้หมายความว่า CPU ของเครื่องคอมพิวเตอร์สามารถทำงานได้หลาย ๆ อย่างในเวลาเดียวกันหรือพร้อม ๆ กัน โดยอาศัยการทำงานผ่านแกนกลางของสถาปัตยกรรมแบบใหม่ของ CPU ซึ่งทำให้ประมวลผลได้เร็วขึ้น โดยถ้าบอกว่า CPU นี้เป็นแบบ 2 core ก็หมายความว่า มี แกนกลาง 2 แกน หรือพูเป็นภาษาชาวบ้านว่า มี cpu ย่อย 2 cpu นั้นเอง ซึ่งปัจจุบันได้มีการพัฒนาถึง 16 core กันเลยที่เดียว แล้วมันเกี่ยวของกับ จาวาเบอร์ 8 นี้อย่างไร สิ่งที่เข้ามาเกี่ยวข้องกับจาวาเบอร์ 8 นี้ก็คือเราสามารถที่เข้าไปเขียนโปรแกรมควบคุมการทำงานของแต่ละแกนของ CPU ได้ถึงระดับ core ซึ่งโดยปกติทั่วไปภาษาคอมพิวเตอร์จะไม่มีคำสั่งหรือการอนุญาตให้รองรับการโปรแกรมได้ในระดับ core ของ CPU เนื่องจากหน้าที่นี้จะเป็นหน้าที่ของระบบปฏิบัติการ แต่จาวาเบอร์ 8 นี้ได้เปลี่ยนแนวคิดใหม่ ทำให้การพัฒนาโปรแกรมด้วยภาษาจาวานี้จะทำให้เราสามารถควบคุมการทำงานของ CPU ได้มีประสิทธิภาพมากยิ่งขึ้น
สุดท้ายนี้ผู้เขียนอยากจะบอกว่าแนวทางการพัฒนาโปรแกรมในอนาคตอาจจะเปลี่ยนแปลงไปและหลักการเขียนโปรแกรมแบบเดิมที่เราเคยเรียนในวิชา Data structure & Algorithms อาจจะเปลี่ยนไปเลยก็ได้