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
basic-shell-script

การเขียน Shell Script เบื้องต้น หลักการทำงาน และ เงื่อนไขการใช้

การเขียน Shell Script จากบทความก่อนหน้านี้ที่เราพูดกันถึง Unix, Linux, Kernel, Shell รวมถึง Shell Script ว่าคืออะไรกันไปแล้ว และ การเขียน Shell Script หละ ทำอย่างไร Unix คืออะไร ยูนิกซ์ คือ ระบบปฏิบัติการสำหรับ server Linux คืออะไร ทำงานอย่างไร ลินุกซ์ เป็นระบบปฎิบัติการชนิดหนึ่ง Kernel คืออะไร Kernel คือ ส่วนกลางควบคุมการทำงานทุกอย่างบน OS Shell คืออะไร Unix Shell หรือ Linux Shell คือ โปรแกรมรับคำสั่งให้กับ Kernel Shell Script คืออะไร Shell script คือ ภาษา programming ที่ใช้บน unix…

Read More
linux command

nano – Linux Command คำสั่งในการสร้างหรือแก้ไข file ข้อมูล text

nano Linux Command – nano ใช้ในการสร้างหรือแก้ไข file ข้อมูล text   คำสั่ง 1. สร้าง file nano <file> $ nano [file-name]   2. Save file ใช้ short cut Ctl+o  จากนั้นจะให้ confirm ชื่อ file และกด enter   3. การ Cut หรือ Paste ข้อมูล วาง cursor และลากเลือกคำที่ต้องการ cut และ กด Ctl+k  จากนั้นวาง Cursor ที่ต้องการ paste ข้อมูล และกด Ctl+u  …

Read More
linux command

vi – Linux Command คำสั่งในการสร้างหรือแก้ไข file ข้อมูล text

vi Linux Command – vi ใช้ในการสร้างหรือแก้ไข file ข้อมูล text   คำสั่ง 1. สร้าง file vi <filename> $ vi test หลังจากเข้าสู่หน้า vi prompt แล้วจะจะพบว่าเราไม่สามาถพิมพ์ข้อมูลลงไปได้โดยตรง จะต้องเลือกคำสั่งก่อนว่าจะทำอะไรกับ file ข้อมูล เมื่อเลือกคำสั่งแล้วถ้าจะกลับสู่ vi prompt ใหม่ก็ให้กด ESC   2. คำสั่งจัดการ file :w   save file :wq   save file และออกจาก vi :q   ออกจาก vi ถ้าไม่มีการแก้ไขข้อมูล :q!   ออกจาก vi โดยไม่สนว่าข้อมูลมีการแก้ไขหรือไม่…

Read More
bash-shell

Shell Script คืออะไร Shell script คือ ภาษา programming ที่ใช้บน unix linux

Shell Script คืออะไร สำหรับผู้ที่ใช้งาน Unix หรือ Linux คงจะบอกว่าไม่รู้ว่า Shell script คืออะไร ก็คงไม่ได้ เพราะ Shell Script คือ การทำงานในแบบ Command-line interopreter ผ่าน Shell ทำงานได้เปรียบเสมือนภาษา program ชนิดหนึ่ง สำหรับผู้ที่ยังไม่ทราบว่าคำสั่ง command-line มีอะไรบ้างสามารถหาอ่านได้ที่นี่  คำสั่ง Unix – Linux Command พื้นฐาน Shell Script ช่วยให้ผู้ใช้งานสามารถทำงานได้รวมเร็วมากยิ่งขึ้น โดยการรวมเอาคำสั่งและเงื่อนไขที่ผู้ใช้ต้องการใส่ลงใน file และทำการ execute file นั้นเพื่อรอผลลัพธ์ที่ได้ในรูปแบบ text ส่วนมากใช้งานเพื่อให้ทำงานบนระบบอัตโนมัติตามเวลาที่เราต้องการ สำหรับบน Window หรือ DOS เราจะเรียกสิ่งนี้ว่า batch file ซึ่งก็คือการเอาชุดคำสั่งมาทำเป็น file เช่นเดียวกับ shell script และรันผ่าน…

Read More
shell

Shell คืออะไร Unix Shell หรือ Linux Shell คือ โปรแกรมรับคำสั่งให้กับ Kernel

Shell คืออะไร ผู้ทีเริ่มใช้งาน Unix หรือ Linux อาจจะได้ยินคำว่า shell กันบ่อยๆ และจริงๆ shell คืออะไร หละ ?  ตามความหมายแล้วมันคือตัวแปลงคำสั่งที่ช่วยให้ผู้ใช้งานสามารถเข้าถึงระบบ operating system มีด้วยกัน 2 แบบคือ CLI – Command line interface รับคำสั่งโดยข้อมูล text และแสดงผลในรูปแบบ text เช่นกัน GUI – Graphical user interface รับคำสั่งโดยอาศัย mouse และ รูปบนจอ monitor ขึ้นอยู่กับระบบ computer ที่ใช้งานว่าออกแบบมาสำหรับงานประเภทไหน โดยคำว่า “shell” มีที่มาจากการที่มันทำหน้าที่เป็น layer ครอบคลุมการทำงานของ Kernel อีกที   ส่วนมากแล้ว ตัว shell ไม่ได้มีการเชื่อมต่อโดยตรงภายใต้ Kernel…

Read More
linux kernel

Kernel คืออะไร Kernel คือ ส่วนกลางควบคุมการทำงานทุกอย่างบน OS

Kernel คืออะไร สำหรับผู้ที่เริ่มใช้งาน Linux อาจจะมีคำถามกับคำว่า Kernel คืออะไร จริงๆแล้ว Kernel คือ โปรแกรมที่เป็นศูนย์กลางในระบบ computer ทำหน้าที่ควบคุมการทำงานตั้งแต่เริ่ม boot server รวมถึงการ start/stop program และ input/output จาก software ทั้งหมด คอยจัดการทรัยากรต่างๆ หรือ hardware เช่น keyboard, monitor, printer, speaker โดย Kernel ทำหน้าที่เชื่อมการทำงานระหว่าง software และ hardware เข้าด้วยกันนั่นเอง ส่วนที่เป็น code สำคัญของ Kernel จะถูก load เข้าส่วน memory ที่จองไว้ให้เฉพาะ เพื่อป้องกันการเขียนทับจาก application อื่น การเชื่อมต่อของ Kernel เป็นระดับต่ำสุดที่เกียวข้องกับ hardware เมื่อมีการ…

Read More
linux command

iptables – Linux Command คำสั่งจัดการกรอง ip port ที่เข้ามาใช้งาน

iptables Linux Command – iptables ใช้ในการจัดการกรอง ip port ที่เข้ามาใช้งาน   คำสั่ง 1. แสดงข้อมูลการกรอง conncetion $ iptables -L INPUT -n –line-numbers   2. ลบ iptables rule $ iptables -D INPUT <line-number>   3. เพิ่ม iptables rule $ iptables -I INPUT 2 -s 202.54.1.2 -j DROP   โครงสร้างคำสั่ง  iptables [-t table] {-A|-C|-D} chain rule-specification ip6tables [-t table] {-A|-C|-D} chain…

Read More