รู้จักกับภาษา JAVA

19 ก.พ.

รู้จักกับภาษา JAVA

JAVA เป็นภาษาที่ใช้งานได้หลายอย่าง

เป็นภาษาที่อาศัยเรื่องของ class, object-oriented และการออกแบบที่เป็นขั้นตอนมากที่สุดเท่าที่จะเป็นไปได้ มันสามารถทำให้โปรแกรมเมอร์เขียนโปรแกรมที่เดียว แต่รันได้ทุกแพลตฟอร์ม หรือหมายความว่าจาว้าโค้ดสามารถรันได้โดยไม่ต้องคอมไพล์ใหม่หลายๆ ครั้ง

 ภาษา java เป็นการคอมไพล์ bytecode ที่สามารถรันบน  java virtual machine ในสถาปัตยกรรมคอมพิวเตอร์ โครงสร้างของภาษาจะคล้ายกับภาษา C และ C++ แต่ว่ามีเป็นภาษาที่สะดวกมากกว่า ในปี 2019 เป็นภาษาที่มีคนใช้งานกันทั่วโลก โดยดูได้จาก githun ที่มีนักพัฒนาโปรแกรมมาวางโค้ดมากกว่า 9 ล้านคน

JAVA เริ่มต้นนั้นพัฒนาโดย เจมส์ กอสลิ่ง ที่ซัน ไมโครซิสเต็มส์ ที่ต่อมาถูกควบรวมโดย oracle และในปี 1995 มันเป็นผลิตภัณฑ์หลักของบริษัท sun microsystem ในเดือนพฤษภาคมปี 2007 บริษัท sun ได้ต่อไลเซนส์กับเทคโนโลยี  JAVA ซึ่งหมายความว่า การคอมไพล์ภาษา JAVA สามารถใช้เทคโนโลยีของ sun ได้

เช่น ใช้ bytecode compiler ในการ compile java, และใช้ GNU classpath เป็นไลบรารี่มาตรฐาน และใช้ icedtea-web สำหรับการพัฒนาเว็บแอพลิเคชันบนโทรศัพท์มือถือ

เวอร์ชันล่าสุดของ java คือ เวอร์ชัน 13 ที่ถูกปล่อยให้ใช้งานเมื่อเดือนกันยายน 2019 และ java11 เป็นภาษาที่รองรับการใช้งานแบบ long-term ถูกปล่อยให้ใช้งานเมื่อวันที่ 25 กันยายน และ oracle ได้ทำสัญญาร่วมกับ JAVA เพื่อออกขาย product สู่ตลาดเมื่อเดือนมกราคม 2019

ขณะที่ oracle ยังเปิดใช้งาน java8 สำหรับไลเซนส์เฉพาะบุคคลจนถึงเดือนธันวาคม 2020 oracle และบริษัทด้าน database อื่นๆ พยายามถอดถอนการติดตั้งโปรแกรม JAVA ก่อนหน้านี้เพราะเหตุผลด้านความปลอดภัย ตั้งแต่ JAVA9 และ จาวา 10,และ 12 นี้ยังไม่ได้รับการซัพพอร์ตมากนัก

Oracle ได้แนะนำว่า ให้พยายามใช้ JAVA version 13 ขึ้นไปจะเสถียรมากกว่า 

โดยจุดมุ่งหมายหลักของ JAVA 5 ข้อคือ 

  1. ต้องเขียนได้ง่าย เพราะว่าเป็นภาษาด้าน object-oriented
  2. ต้องมีความปลอดภัยสูง 
  3. สามารถใช้งานได้กับหลายโครงสร้างและยืดหยุ่น
  4. สามารถประมวลผลได้และมีประสิทธิภาพสูง
  5. เป็นภาษาที่เข้าใจง่ายและจัดการเรื่อง thread ได้ดี 

JAVA เป็นภาษาที่มีประสิทธิภาพสูงมาก แต่ว่าต้องการ memory มากกว่าที่ใช้จากภาษา C++ อย่างไรก็ตาม มันเป็นภาษาที่มีความรวดเร็วในการประมวลผลในคราวเดียว ตั้งแต่ปี 1997/98

มีการจัดการเรื่องหน่วยความจำแบบอัตโนมัติ โปรแกรมเมอร์เพียงแค่สร้าง object ขึ้นมา java runtime จะพยายามฟื้นคืนหน่วยความจำของเครื่องไม่ให้ใช้งานนานจนเกินไป

ภาษา JAVA สามารถถูกจัดเก็บในวงจรของออบเจ็กต์ และโปรแกรมจะรู้ได้ว่า java มีการคืนหน่วยความจำให้คอมพิวเตอร์หากว่าโค้ดต่างๆ มีการประมวลผลของ garbage collection

garbage collection สามารถเกิดขึ้นได้ตลอดเวลา และการรันตีว่าถ้าหน่วยความจำว่างไม่เพียงพอ เข้าจะมีการจัดรายการออบเจ็กต์ใหม่อีกครั้ง ดังนั้นเรื่องของ memory เต็มเป็นไปได้น้อยมาก