วันพุธที่ 29 ธันวาคม พ.ศ. 2553

สวัสดีปีใหม่ 2554 ครับ

จะว่าไปวันนี้ตอนเช้าจะไปส่ง NSC Project Saion Online เนาะไม่รู้จะเป็นไง ผ่านไม่ผ่านไม่เป็นไรครับ ^^

วันพฤหัสบดีที่ 9 ธันวาคม พ.ศ. 2553

อะไรคือ JNI

JNI (Java Native Interface) คือ วิธีการในจาวาที่ทำให้เราสามารถเรียกใช้งาน native code (ส่วนของโปรแกรมที่เขียนขึ้นโดยใช้ภาษา C หรือ C++) จากโปรแกรมจาวาที่เราเขียนขึ้นได้ หรือในทางกลับกันก็ได้ คือเรียกใช้ส่วนของโปรแกรมที่เขียนขึ้นด้วยภาษาจาวาจากโปรแกรมที่เขียนขึ้นด้วยภาษา C หรือ C++
จะเห็นว่า JNI จะเป็น interface แบบสองทางที่ทำให้ส่วนของโปรแกรมจาวาและส่วนของโปรแกรมที่เขียนด้วย C หรือ C++ ทำงานร่วมกันได้ภายใต้ process เดียวกัน (ทำงานแบบเป็นโปรแกรมเดียวกัน ไม่ใช่เป็นแบบสองโปรแกรมทำงานร่วมกัน)
เรามักใช้ JNI ในกรณีที่
  • เราต้องการใช้งาน native code หรือ library บางอย่างที่มีอยู่แล้ว ซึ่ง native code เหล่านี้เขียนขึ้นโดยใช้ภาษา C หรือ C++ 
  • เราต้องการทำงานบางอย่างที่ต้องการการประมวลผลอย่างรวดเร็ว ทั้งนี้เพราะ native code สามารถทำงานได้เร็วกว่าจาวา code
  • เราต้องการใช้งาน feature บางอย่างที่ไม่มีบน Java Platform แต่มีบน platform ที่เรารันโปรแกรมจาวาอยู่ อย่างเช่น ถ้าเราต้องการให้เพิ่มโปรแกรมจาวาของเราเข้าไปใน system tray ของ Windows (J2SE 6 ทำได้แล้ว) หรือ ต้องการรู้อุณหภูมิของ CPU และความเร็วของพัดลม CPU ของเครื่อง PC ที่ใช้ Windows เป็นต้น