garbage-collection

GC คืออะไร Garbage collection คือ การคืนหน่วยความจำจาก object ที่ไม่ใช้งานแล้ว

Garbage collection คืออะไร (GC คืออะไร) ก่อนที่จะพูดถึงว่า Java Garbage Collection คืออะไร ขออ้างอิงจากบทความเก่าที่เราทราบถึงการทำงานของ Java และ JVM กันไปแล้ว ทำให้เราทราบว่าการทำงานของ application จะอาศัยหน่วยความจำ หรือ Heap memory เป็นที่เก็บข้อมูล object ทั้งหลายเพื่อใช้งานภายใน ซึ่ง object เหล่านี้เมื่อถูกสร้างแล้วมักจะไม่มีการ clear ค่าภายใน code ซะส่วนใหญ่ ซึ่งทำให้ application นี้จะต้องจอง memory มากขึ้นเรื่อยๆ ซึ่งนั้นย่อมไม่เป็นเรื่องดีแน่ๆเพราะทรัพยากรเราเองก็มีอยู่อย่างจำกัด จึงเป็นที่มาของคำว่า GC  คืออะไร หรือ Garbage collection คืออะไร ซึ่งมันก็คือหลักการคืนหน่วยความจำ memory จาก object ที่ถูกสร้างขึ้นมาใช้งานและถูกทิ้งค้างไว้ โดยทำงานลบค่า reference ที่ link ระหว่างตัวแปร object และ…

Read More
java-heap-memory

Java Heap คืออะไร Java Heap คือหน่วยความจำที่ JVM ใช้งาน

Java Heap คืออะไร จากบทความก่อนหน้านี้เราทราบไปแล้วว่า Java คืออะไร และ JVM คืออะไร ที่นี้เรามาต่อในหน่วยย่อยของ JVM ซึ่งคือ Java Heap นั่นเอง และก่อนที่เราจะอธิบายถึงความหมายของ Java Heap คืออะไร เรามาทำความรู้จักกับหน่วยความจำ หรือ memory ที่ Java ใช้งานกันใน Java virtual machine ก่อน   จากรูปจะเห็นส่วนประกอบ memory ที่ JVM ใช้งานแบ่งออกเป็น กลุ่มหลักๆดังนี้ Heap Memory  ทำหน้าที่เก็บส่วนของตัวแปร java objects Non-Heap Memory ใช้เก็บส่วนของ java class และส่วนของ meta-data JVM code เก็บข้อมูลส่วนของ profile ภายในโครงสร้าง JVM เอง   Heap…

Read More
java-jvm

JVM คืออะไร JVM คือการสร้างสภาวะแวดล้อมสำหรับ Java program

JVM คืออะไร จากบทความที่แล้วเรื่อง Java programming ทำให้เราทราบแล้วว่า java คือภาษาที่ได้รับความนิยมสูงมากในขณะนี้ และได้กล่าวถึง jvm คืออะไร กันไปบ้างแล้ว บทความนี้เราจะมาเจาะลึกถึงเนื้อว่านอกจาก jvm คืออะไร แล้ว มันยังทำอะไรได้อีกบ้าง JVM หรือ Java Virtual Machine คือ การสรา้งสภาวะแวดล้อมจำลองขึ้นมาบนระบบ เพื่อให้ application ที่เขียนด้วย java programming สามารถทำงานได้สมบูรณ์โดยไม่ต้องคำนึงถึงเรื่อง hardware หรือ สถาปัตยกรรม ที่ใช้งานอยู่ เราจะเรียก JVM แต่ละตัวที่ทำงานอยู่บนเครื่องว่า instance โดย process ที่ทำงานอยู่นี้ต้องถูก compiled เป็น Java bytecode มาเรียบร้อยแล้ว ซึ่งการสร้าง JVM ทำได้โดย softwere ของ java ที่ชื่อ Java Runtime Environment (JRE)…

Read More
java

ทำความรู้จัก Java คืออะไร เป็นภาษาโปรแกรมชนิดหนึ่ง

Java คืออะไร เกี่ยวอะไรกับ programming Java คืออะไร ? จริงๆมันเป็นภาษา computer ชั้นสูงชนิดหนึ่ง ที่มีการทำงานเป็นลักษณะเชิงวัตถุ  ( OOP : Object-Oriented Programming)  ถูกออกแบบให้มีการเชื่อมโยงกันภายในซับซ้อนน้อยที่สุดเท่าที่จะทำได้ เพื่อให้ application ที่ได้เขียนแล้ว compile เพียงครั้งเดียว แต่สามารถนำไปใช้ที่ไหนก็ได้ หรือก็คือ รองรับทุก platform ที่ support Java โดยไม่มีความจำเป้นต้อง recompile ใหม่ เพราะข้อมูลที่ compiled แล้วจะถูกเก็บในรูปของ bytecode ที่ใช้รันบน Java virtual machine (JVM) ตามสถาปัตยกรรมของเครื่องที่รัน ตั้งแต่ช่วง 2016 Java ถูกนำมาใช้งานสูงมาก โดยเฉพาะงาน web application แบบ client-server ประวัติความเป็นมา Java Java เริ่มสร้างขึ้นโดย…

Read More