Monthly Archives: กันยายน 2007

สร้าง IrDA ด้วยตนเอง

ไปหน้าแรก | สารบัญ | Laploy.comระเบียนบทความ | บทความจากลาภลอย

สร้าง IrDA ด้วยตนเอง
สร้างตัวรับส่งอินฟราเรดโดยใช้อุปกรณ์หาง่ายราคาถูก เพื่อเชื่อมต่อคอมพิวเตอร์ของคุณกับอุปกรณ์ไฮเทคแบบไร้สาย

อุปกรณ์ไฮเทคเช่น Pocket PC, คอมพิวเตอร์พกพา, กล้องถ่ายภาพแบบดิจิตอล และโทรศัพท์มือถือ ล้วนมี “วงจรสำหรับการเชื่อมต่อด้วยแสงอินฟราเรด” (ต่อไปจะเรียกย่อๆ ว่า IrDA) เพื่อให้เราสามารถเชื่อมต่ออุปกรณ์เหล่านี้กับคอมพิวเตอร์และรับส่งแลกเปลี่ยนข้อมูลได้โดยไม่ต้องใช้สาย

ยกตัวอย่างเช่นเมื่อเราถ่ายภาพโดยใช้กล้องดิจิตอล (หรือโทรศัพท์มือถือ) เสร็จแล้ว เพียงนำอุปกรณ์นั้นมาไว้ใกล้ๆ คอมพิวเตอร์ ไม่ต้องต่อหรือเสียบสายอะไร เราก็สามารถโอนย้ายภาพจากอุปกรณ์เข้าไปยังคอมพิวเตอร์ เพื่อส่งอีเมล หรือพิมพ์ที่เครื่องพิมพ์ หรือจะใช้เพื่อการปรับข้อมูลให้ตรงกัน ระหว่างคอมพิวเตอร์พกพากับเครื่องพีซีก็ได้

บทความนี้จะสอนวิธีสร้าง IrTxRx ขึ้นใช้เอง โดยใช้วัสดุเหลือใช้รอบๆ ตัว หรือซื้อจากร้ายขายอะไหล่อิเล็กทรอนิกส์ วงจรไม่ซับซ้อน (ออกแบบโดย Alain Gailland) ใช้อุปกรณ์ไม่กี่ชิ้น ใครก็ตามที่บัดกรีเป็นก็สามารถทำได้เอง และจะแสดงตัวอย่างการประยุกต์ใช้งาน โดยการสาทิตวิธีเชื่อมต่อ Pocket PC กับเครื่องพีซีเพื่อทำ ActiveSync แบบไร้สาย และสุดท้ายจะแสดงวิธีเชื่อมต่อกับโทรศัพท์มือถือเพื่อเข้าอินเตอร์เน็ตผ่านระบบ GPRS


โปรดติดตามบทความนี้ในนิตยสารไมโครคอมพิวเตอร์ฉบับ 266 เดือนกันยายน 2550

Advertisements

ฮาร์ดดิสก์แสงเพลง


ไปหน้าแรก | สารบัญ | Laploy.comระเบียนบทความ | บทความจากลาภลอย

ฮาร์ดดิสก์แสงเพลง
ฮาร์ดดิสก์เก่าอย่าเพิ่งโยนทิ้ง นำมาดัดแปลงเป็นเครื่องยิงลำแสงเลเซอร์ที่ทำงานตามเสียงดนตรีกันดีกว่า

 

เมื่อเราเปิดเพลงในคอมพิวเตอร์โดยใช้โปรแกรม วินโดวส์มีเดียเพลย์เยอร์ หรือโปรแกรม วินแอมป์ เราจะเห็นเส้นแสงแห่งดนตรีที่ขยับเขยื้อนไปตามจังหวะเพลง (visualization) มีลักษณะคล้ายภาพสัญญาณเสียงบนหน้าจอออสซิโลสโคป คงจะงดงามและเพลิดเพลินเป็นอย่างยิ่ง หากเรามีเส้นแสงที่ขยับตามเสียงดนตรี ฉายลงบนจอภาพขนาดใหญ่ หรือบนผนังบ้าน

บทความนี้จะสอนวิธีนำฮาร์ดดิสก์เก่าที่ใช้การไม่ได้แล้ว บวกกับวัสดุหาง่ายรอบตัว นำมาสร้างเป็นเครื่องยิงลำแสงเลเซอร์ที่ทำงานตามจังหวะเพลง ภาพที่ได้คล้าย visualization แต่ใหญ่กว่ามาก เพราะฉายลงบนผนังบ้านโดยตรง เป็นอุปกรณ์ที่ไม่ต้องใช้คอมพิวเตอร์ควบคุม สามารถนำไปใช้กับเครื่องขยายเสียงสเตอริโอได้

โครงการนี้ใช้งบประมาณเพียง 200 ถึง 600 บาท ขึ้นอยู่กับว่าเรามีวัตถุดิบอะไรอยู่แล้วบ้าง ผู้เขียนเองใช้เงินไปเพียง 40 บาท (เป็นค่าซื้อกระจกเงา) วัสดุอื่นๆ เป็นของเหลือใช้ที่ค้นได้จากกองซากของเก่าในห้องปฏิบัติการฯ (หมายถึงห้องปฏิบัติการอีเล็กทรอนิกส์ขนาดเล็กของนักสมัครเล่น) ทั้งสิ้น

โปรดดูวิดีโอสาทิตตัวอย่างการทำงานของฮาร์ดดิสก์แสงเพลง

ูวิดีโอสาทิตการทำงาน (WMV 1.3MB)
ูวิดีโอแสดงตัวฮาร์ดดิสก์แสงเพลงขณะทำงาน (AVI 3.8MB)

โปรดติดตามอ่านบทความนี้ในนิตยสาร CHIP ฉบับ 11/2007

นิยายนักสืบ

ไปหน้าแรก | สารบัญ | Laploy.comระเบียนบทความ | บทความจากลาภลอย

สืบลากไส้ วายร้ายไซเบอร์

ผู้เขียน : ลาภลอย วานิชอังกูร

ผู้พิมพ์ : นิตยสาร WinMag

ประเภท : นิยายสืบสวนสอบสวน/ Networking / Hacking

 

ตอน 1 : Hacker Army – A

โครงเรื่องย่อ : เมื่อระบบเครือข่ายคอมพิวเตอร์ของบริษัทแห่งหนึ่งทำงานผิดช้าปรกติ นักสืบสุนทรถูกตามตัวมาสืบสวน มันคือการโจมตีจากแฮกเกอร์หรือเป็นเพียงฮาร์ดแวร์ทำงานผิดปรกติ?

กรุณาติดตามอ่านใน WinMag ฉบับที่ 168

 

ตอน 2 : Social Engineering

โครงเรื่องย่อ : วิชามารที่แฮกเกอร์ใช้เพื่อโจมตีระบบรักษาความปลอดภัยในองค์กร

กรุณาติดตามอ่านใน WinMag ฉบับที่ 169

 

ตอน 3 : DNS Pining

โครงเรื่องย่อ : เมื่อแฮกเกอร์โจมตีบริษัทผู้ให้บริการบัตรเครดิต นักสืบสุนทรจะสามารถหยุดการโจมตีนี้ได้หรือไม่?

กรุณาติดตามอ่านใน WinMag ฉบับที่ 170

 

ตอน 4 : แฮกเกอร์มืด ปล้นเหนือเมฆ

โครงเรื่องย่อ : บริษัทผู้ให้บริการเครือข่ายโทรศัพท์เคลือนที่ถูกโจมตีได้รับความเสียหายนับร้อยล้านบาท นักสืบสุนทรสาวถึงเบื้องหลังและพบกับสิ่งที่น่าสะพึงกลัว

กรุณาติดตามอ่านใน WinMag ฉบับที่ 171

มาสร้างหุ่นแอ๊บแบ๊วกันเถอะ

ไปหน้าแรก | สารบัญ | Laploy.comระเบียนบทความ | บทความจากลาภลอย

มาสร้างหุ่นแอ๊บแบ๊วกันเถอะ

ทำให้เพื่อนๆ ของคุณทึ่งด้วยการสร้างหุ่นยนต์น่ารักคิกขุที่จะส่งสัญญาณให้คุณทราบทันทีที่แฟนของคุณปรากฏกายใน MSN

 

หุ่นแอ๊บแบ๊วคือตุ๊กตาตัวเล็กๆ ที่เรานำมาติดไว้กับเซอร์โว (servo motor) เมื่อบุคคลที่เราต้องการติดตามเฝ้าดูสถานะ (ต่อไปจะเรียกสั้นๆ ว่าแฟน) เปลี่ยนแปลงสภานะในโปรแกรมวินโดวส์ ไลฟว์ แมสเซนเจอร์ (Windows Live Messenger ต่อไปจะเรียกย่อว่า MSN) ด้วยการออนไลน์หรือออฟไลน์ เซอร์โวจะทำงาน หุ่นแอ๊บแบ๊วก็จะเคลื่อนที่ ขณะที่เรานั่งที่โต๊ะคอมพิวเตอร์ หรือเดินผ่าน เพียงชำเลืองมองที่หุ่นแอ๊บแบ๊วเราก็จะทราบทันทีว่าแฟนของเรากำลังออนไลน์อยู่หรือไม่

บทความนี้จะแนะนำวิธีสร้างหุ่นแอ๊บแบ๊วทั้งทางฮาร์ดแวร์และซอฟท์แวร์โดยละเอียด ฮาร์ดแวร์ประกอบด้วยอุปกรณ์หาง่ายน้อยชิ้น นำมาประกอบเป็นวงจรง่ายๆ ไม่ซับซ้อน ส่วนซอฟท์แวร์ผู้เขียนเตรียมไฟล์ซอร์สโค้ดไว้ให้ครบ ท่านสามารถนำไปปรับปรุงเปลี่ยนแปลงได้อย่างรวดเร็ว

หัวข้อต่างๆ ที่จำเป็นต้องรู้ในการสร้างหุ่นแอ๊บแบ๊ว (ซึ่งเป็นหัวข้อที่ท่านจะได้อ่านรายละเอียดในบทความนี้) มีดังนี้
• อุปกรณ์ที่ต้องใช้
• วงจรหุ่นแอ๊บแบ๊ว
• วิธีประกอบหุ่นแอ๊บแบ๊ว
• วิธีควบคุมเซอร์โว
• ซอฟต์แวร์หุ่นแอ๊บแบ๊ว
• การใช้งานไลบรารี MessengerClient.dll
• ระบบรักษาความปลอดภัยของ MSN
• การใช้ strong name
• การลงทะเบียน GAC
• วิธีทำให้ MSN รับ Add-in ได้
• วิธีติดตั้ง Add-in ใน MSN

กรุณาติดตามอ่านบทความนี้ในนิตยสาร Hobby Electronic (สนพ. ซีเอ็ด)

หน่วยความจำ ชนิดของข้อมูล และการระบุตำแหน่ง ตอน : 1

ไปหน้าแรก | สารบัญ | Laploy.comระเบียนบทความ | บทความจากลาภลอย

หน่วยความจำ ชนิดของข้อมูล และการระบุตำแหน่ง

ถ้าคุณพยายามค้นหาชื่อของคุณที่อยู่ในรายชื่อหนึ่งล้านชื่อ คุณต้องพยายามมากสุดกี่ครั้ง ถ้าตอบว่าหนึ่งล้านครั้งละก็ผิด ไม่ใกล้เคียงเลยด้วยซ้ำ อันที่จริงแล้วคำตอบคือ 20 แต่คุณจะต้องจัดรายชื่อให้เป็นโครงสร้างที่ค้นหาได้ง่าย
และต้องค้นโครงสร้างนี้ด้วยเทคนิคที่มีประสิทธิภาพ การค้นหาชื่อเป็นเพียงตัวอย่างหนึ่ง ที่การจัดโครงสร้างข้อมูลช่วยให้เราจัดการกับข้อมูลที่เก็บอยู่ในหน่วยความจำคอมพิวเตอร์ได้อย่างมีประสิธิภาพ อย่างไรก็ดี การจะเข้าใจวิธีใช้งานโครงสร้างข้อมูลได้ คุณจำเป็นจะต้องเข้าใจการทำงานของหน่วยความจำคอมพิวเตอร์เสียก่อน ในบทนี้ผมจะพาคุณไปสำรวจหน่วยความจำ และดูว่าทำไมหน่วยความจำจึงเก็บไว้แต่เลขศูนย์และเลขหนึ่ง คุณจะได้เรียนเรื่องชนิดข้อมูลในภาษาจาวา (Java) และการเลือกใช้ชนิดข้อมูลที่ถูกต้องเหมาะสมเพื่อเขียนโปรแกรม

 

สำรวจหน่วยความจำ

หน่วยความจำของคอมพิวเตอร์ แบ่งออกเป็นสามชนิดคือ หน่วยความจำหลัก หน่วยความจำแคชในซีพียู (CPU Cache) และหน่วยความจำถาวร หน่วยความจำหลักเรียกอีกอย่างหนึ่งว่าแรม (RAM) ทำหน้าที่เก็บคำสั่งและข้อมูล สิ่งที่เก็บไว้ในหน่วยความจำหลักจะหายไปเมื่อปิดคอมพิวเตอร์

หน่วยความจำแคชในซีพียู ใช้เก็บข้อมูลและคำสั่งที่ใช้บ่อยๆ หรือเพิ่งถูกใช้ไป หรือคาดว่าจะถูกเรียกใช้ในอนาคตอันใกล้ แคชจะถูกแบ่งเป็นส่วนๆ เรียกว่ารีจิสเตอร์ (Register) รีจิสเตอร์คือหน่วยความจำขนาดเล็กที่อยู่ภายใน ซีพียู (CPU Central Processing Unit หน่วยประมวลผลกลาง) ทำหน้าที่เก็บข้อมูลหรือคำสั่งเป็นการชั่วคราว

สิ่งที่เชื่อมต่อระหว่างซีพียูและหน่วยความจำหลักเรียกว่า บัส (Bus) บัสคือแถบของสายตัวนำไฟฟ้าบนเมนบอร์ด มันทำหน้าที่เป็นเหมือนถนน คือใช้สำหรับขนถ่ายคำสั่งและข้อมูล ระหว่างซีพียูและหน่วยความจำหลัก และอุปกรณ์อื่นๆ ที่ต่อเชื่อมกับคอมพิวเตอร์

หน่วยความจำถาวรเป็นหน่วยความภายนอกอย่างเช่นฮาร์ดดิสก์ มันทำหน้าที่เก็บข้อมูลและคำสั่งเช่นกัน หน่วยความจำชนิดนี้เมื่อปิดคอมพิวเตอร์ข้อมูลจะไม่หายไป

เป็นเรื่องปรกติที่ซอฟต์แวร์ระบบปฏิบัติการ (Operating System เช่น Windows และ Linux) จะนำหน่วยความจำถาวรบางส่วน มาทำเป็นหน่วยความจำเสมือน (Virtual memory) อันเป็นเทคนิคที่ระบบปฏิบัติการใช้ เพื่อเพิ่มความจุของหน่วยความจำหลัก ให้มากกว่าปริมาณของแรมที่มีอยู่ในเครื่อง การทำงานของมันเป็นดังนี้ เมื่อหน่วยความจำหลักถูกใช้ไปจนเกินความจุของแรม ระบบปฏิบัติการจะนำข้อมูลที่เกินนี้ไปเก็บไว้ที่ในฮาร์ดดิสก์ ครั้นเมื่อคอมพิวเตอร์ต้องการใช้ข้อมูลนั้น ระบบปฏิบัติการจะนำข้อมูลในฮาร์ดดิสก์ มาสลับที่กับข้อมูลในแรมส่วนที่ยังไม่จำเป็นต้องใช้ในตอนนั้น

ในเรื่องของความเร็ว หน่วยความจำแคชของซีพียู ทำงานได้เร็วที่สุด รองลงมาคือแรม และช้าที่สุดคือฮาร์ดดิสก์ เพราะมันมีชิ้นส่วนทางกล ทำให้การเข้าถึงข้อมูลไม่สามารถทำได้เร็วนัก

เนื้อหาในหนังสือเล่มนี้ จะเน้นการทำงานกับหน่วยความจำหลักหรือแรม เพราะการจัดโครงสร้างข้อมูล จะใช้หน่วยความจำชนิดนี้เสมอ (แต่โครงสร้างข้อมูลและเทคนิคที่ใช้ สามารถนำไปประยุกต์ใช้กับแฟ้มข้อมูลในฮาร์ดดิสก์ได้เช่นกัน)

 

เรื่องของข้อมูลและหน่วยความจำ

ข้อมูลที่โปรแกรมของคุณใช้จะถูกเก็บไว้ในหน่วยความจำ มันจะถูกยักย้ายถ่ายเทโดยเทคนิคโครงสร้างข้อมูลสารพัดชนิด ขึ้นอยู่กับลักษณะของโปรแกรมที่คุณเขียน ต่อไปนี้เราจะมาดูเรื่องหน่วยความจำหลักหรือแรม ให้ละเอียดยิ่งขึ้น หลักจากนั้นจะดูกันว่าจะยักย้ายถ่ายเทข้อมูลโดยการใช้โครงสร้างข้อมูลได้อย่างไร

หน่วยความจำคือชุดของสวิตช์อิเลคทรอนิคที่เรียกว่า ทรานซิสเตอร์ (Transistor) ซึ่งอาจทำให้อยู่ในสภาวะเปิดหรือปิด สถานะของสวิตช์เหล่านี้จะไม่มีความหมายอะไร จนกว่าคุณจะกำหนดค่าให้มัน การกำหนดค่านี้ทำได้โดยใช้ระบบเลขฐานสอง

ระบบเลขฐานสองประกอบด้วยตัวเลขเพียงสองตัว คือศูนย์และหนึ่ง ตัวเลขหนึ่งหลักเรียกว่า บิต (Bit) หากสวิตช์อยู่ในสภาพปิดถือเป็นการแสดงเลขศูนย์ หากสวิตช์อยู่ในสภาพเปิดถือเป็นการแสดงเลขหนึ่ง ดังนั้นทรานซิสเตอร์หนึ่งตัวจะสามารถแสดงตัวเลขได้หนึ่งบิต

อย่างไรก็ดี จำนวนหนึ่งบิตไม่สามารถเก็บอะไรได้มากนัก จึงต้องใช้สวิตช์หลายตัวๆ มารวมกัน เช่นสวิตช์สองตัว จะได้สองบิต ซึ่งทำให้เก็บค่าที่แตกต่างกันได้สี่ค่า คือใช้แทนเลขได้จาก 0 ถึง 3 ข้อให้สังเกตว่า ตัวเลขต่ำสุดในระบบเลขฐานสอง คือเลขศูนย์ ไม่ใช่เลขหนึ่ง หาเราใช้หน่วยความจำขนาดแปดบิต หรือที่เรียกว่าหนึ่งไบต์ (Byte) จะเก็บค่าที่แตกต่างกันได้ 256 ค่า ซึ่งนำมาใช้แทนตัวเลขจาก 0 ถึง 255 ได้

 

การนับเลขฐานสอง

ระบบจำนวน (Numbering system) คือวิธีนับ และวิธีกระทำทางคณิตศาสตร์ มนุษย์ใช้เลขฐานสิบในการนับ ส่วนคอมพิวเตอร์ใช้เลขฐานสองในการนับ ทั้งสองระบบทำงานเหมือนกันทุกประการ หากคุณบวกลบคุณหารโดยใช้เลขฐานสอง คุณจะได้คำตอบเช่นเดียวกันหากใช้เลขฐานสิบ

อย่างไรก็ดี ข้อแตกต่างอันควรสังเกตระหว่างเลขฐานสอง และเลขฐานสิบคือ เลขฐานสิบประกอบด้วยตัวเลขที่แตกต่างกันสิบตัว (0 ถึง 9) ส่วนเลขฐานสองประกอบด้วยตัวเลขเพียงสองตัวเท่านั้น (0 และ 1)

ขอสะกิดความจำของคุณสักนิด ให้นึกย้อนกลับไปสมัยเรียนชั้นประถม คุณจำตอนที่คุณเรียนเรื่องการบวก และการทดเลขจากหลักขวาไปหลักซ้ายได้หรือไม่ ถ้าโจทย์คือมีเลข 9 เป็นตัวตั้ง แล้วนำ 1 มาบวก วิธีทำคือเปลี่ยนเลข 9 ให้เป็นเลข 0 และจะได้ตัวทดเป็น 1 ที่ต้องนำไปไว้ทางซ้ายของเลข 0 ซึ่งจะได้ผลลัพธ์เป็น 10

การบวกเลขฐานสองก็ใช้วิธีทดแบบเดียวกัน แต่แทนที่จะทดเมื่อตัวเลขทางขวาเป็น 9 ก็กลายเป็นเป็นว่า ต้องทดเมื่อตัวเลขทางขวาเป็น 1 ดังนั้นการทำ 1+1 ก็คือการเปลี่ยนเลข 1 ให้เป็นเลข 0 แล้วนำตัวทดคือเลข 1 ไปใส่ไว้ทางซ้าย ผลลัพธ์ที่ได้ก็จะเป็น 10

ความสับสนจะเริ่มตรงนี้ เพราะทั้งเลขฐานสิบและเลขฐานสองดูเหมือนจะให้ผลลัพธ์เท่ากัน คือ 10 แต่อย่าเชื่อทุกสิ่งที่คุณเห็น เลขฐานสิบใช้แทนจำนวนสิบก็จริง แต่หนึ่งกับศูนย์ในเลขฐานสองไม่ได้มีค่าสิบ แต่มีค่าเพียง 2 เท่านั้น

ระบบเลขฐานสองใช้แสดงสภาวะของสวิตช์ คอมพิวเตอร์กระทำการทางคณิตศาสตร์โดยใช้ระบบเลขฐานสองเพื่อเปลี่ยนแปลงสภาวะของสวิตช์

 

การจองหน่วยความจำ

หน่วยความจำหนึ่งหน่วยเก็บข้อมูลได้หนึ่งไบต์ แต่ข้อมูลในโปรแกรมอาจโต 2, 4 หรือ 8 ไบต์ก็ได้ ดังนั้นคุณจึงต้องจองเนื้อที่ในหน่วยความจำโดยการกำหนดชนิดข้อมูล (Abstract data type) เสียก่อนจึงจะเก็บข้อมูลได้

ชนิดข้อมูลเป็น คีย์เวิร์ด (keyword คือคำที่สงวนไว้เพราะมีความหมายพิเศษในภาษาคอมพิวเตอร์) ที่ใช้ในการเขียนโปรแกรม มันทำหน้าที่กำหนดขนาดของหน่วยความจำและชนิดของข้อมูลที่จะเก็บ แต่อย่างไรก็ดี ชนิดของข้อมูลไม่ได้บอกคอมพิวเตอร์ว่า เราต้องการจองเนื้อที่จำนวนกี่ไบต์ เพราะจำนวนไบต์ที่ชนิดข้อมูลแต่ละแบบต้องการไม่ตายตัว ขึ้นอยู่กับภาษาที่ใช้เขียนโปรแกรม และชนิดของคอมพิวเตอร์ที่ใช้ คอมไพล์ (compile การแปลภาษารับดับสูงให้เป็นภาษาเครื่อง)
ชนิดข้อมูลในภาษาจาวามีขนาดตายตัว เพราะโปรแกรมที่เขียนด้วยภาษาจาวาจะรันบนสภาพแวดล้อมเหมือนเดิมตลอด (เรียกว่า Java runtime environment) ส่วนภาษา C และ C++ ชนิดข้อมูลจะมีขนาดไม่แน่นอน ขึ้นอยู่กับขนาดของรีจิสเตอร์ของคอมพิวเตอร์ที่จะใช้ ชนิดข้อมูล int และ float จะมีขนาดเท่ารีจิสเตอร์ ส่วน short จะมีขนาดครึ่งหนึ่งของ int ส่วนชนิดข้อมูล long จะมีขนาดเป็นสองเท่าของ int

อุปมาว่าชนิดข้อมูลเป็นลังใส่ผลไม้ คุณบอกผู้จัดการโกดังว่าคุณต้องการจองที่สำหรับเก็บลังใส่ผลไม้ห้าลัง ผู้จัดการจะรู้ทันทีว่าจะต้องใช้เนื้อที่แค่ไหน เพราะเขารู้ว่าลังใส่ผลไม้หนึ่งลังมีขนาดเท่าใด

ในทำนองเดียวกัน เมื่อคุณบอกให้คอมพิวเตอร์จองเนื้อที่ในหน่วยความจำ สำหรับเก็บเลขจำนวนเต็ม (Integer) คุณบอกโดยระบุชนิดข้อมูลเป็น int คอมพิวเตอร์ก็จะรู้ได้ทันทีว่าจะต้องสำรองเนื้อที่ไว้ในหน่วยความจำขนาดเท่าใด

นอกจากใช้เพื่อสำรองเนื้อที่หน่วยความจำแล้ว ชนิดข้อมูลยังถูกใช้เพื่อระบุชนิดของข้อมูลด้วย ซึ่งเป็นเรื่องสำคัญเพราะคอมพิวเตอร์ประมวลผลข้อมูลแต่ละชนิดแตกต่างกัน เช่นเดียวกับผู้จัดการโกดังที่จัดการลังผลไม้แตกต่างจากกระสอบข้าว

ชนิดข้อมูลแบ่งออกเป็นหลายแบบ คอลัมน์แรกแสดงคีย์เวิร์ด คอลัมน์ถัดมาเป็นจำนวนบิตที่ใช้ในภาษาจาวา คอลัมน์ถัดมาอีกเป็นขอบเขตของจำนวนที่เก็บได้ และคอลัมน์สุดท้ายบอกให้รู้ว่าชนิดข้อมูลนั้นจัดอยู่ในกลุ่มใด

เวลาเขียนโปรแกรมคุณจะต้องกำหนดชนิดของข้อมูลให้เหมาะสม แล้วจึงประกาศการจองพื้นที่ในหน่วยความจำ เมื่อประกาศแล้วคุณจะได้ ตัวแปร (Variable) ไว้สำหรับอ้างถึงหน่วยความจำที่อยู่ในตำแหน่งนั้น (มีรายละเอียดเรื่องการประกาศตัวแปรในบทที่สอง)

คุณต้องกำหนดชนิดของข้อมูลให้พอดี เพราะหากข้อมูลโตล้นพื้นที่ๆ จองไว้ คุณอาจเสียข้อมูลไป อุปมาเช่น คุณจองที่ว่างในโกดังไว้สำหรับเก็บผลไม้ห้าลัง แต่คุณส่งผลไม้ไปสิบลัง ผู้จัดการโกดังก็จะเอาผลไม้ห้าลังไปเก็บในที่ๆ จองไว้ ส่วนอีกห้าลังที่เกินมาก็จะโยนทิ้งไป