หน้าที่ของ static
static เมื่อวางไว้หน้าตัวแปรใดๆ
ที่เป็นสมาชิกของคลาสจะทำให้สมาชิกตัวนั้นถูกสร้างขึ้นบนพื้นที่คลาสเท่านั้น และมีเพียงก๊อปปี้เดียว
ส่วนสมาชิกใดที่ไม่เป็น static
ก็จะถูกสร้างขึ้นบนพื้นที่ของ instance โดยมีหนึ่งก๊อปปี้ต่อหนึ่ง
instance จากคลาส
MyClass
จะมีสมาชิกที่เป็นตัวแปรอยู่ 2 ตัว คือ n
และ x โดยตัวแปร n จะถูกประกาศเป็น
static และมี Method 1 ตัวชื่อ getX()
ผมจะสร้าง instance ขึ้นมา 2 ตัวจากคำสั่ง
MyClass
a = new MyClass();
MyClass b = new MyClass();
MyClass b = new MyClass();
เมื่อสร้าง
instance
แล้วจะเกิดเหตุการณ์คือ ตัวแปร x นั้นถูกสร้างขึ้นมาคนละ
1 ตัวใน instance ของทั้งสอง(ของใครของมัน)
เวลาเรียกใช้ x ทั้งสองก็จะอยู่คนละส่วนกัน(เพราะเป็นคนละ instance)
แต่ตัวแปร n จะไม่เป็นในลักษณะดังกล่าวเนื่องจากเป็น
static ซึ่งจะถูกสร้างบนพื้นที่ของคลาสเท่านั้นและมีเพียงก๊อปปี้เดียว
ดังนั้นเวลาที่ instance ทั้งสองเรียกใช้ตัวแปร n ก็จะมีการ reference ไปที่พื้นที่ของ MyClass
เพื่อเรียกใช้ตัวแปร n มาใช้งานซึ่งจะมองเป็นตัวแปรตัวเดียวกันนั่นเอง
เราอาจจะเรียกตัวแปร n อีกอย่างว่า "Class
Variable" และเราสามารถเรียกใช้ตัวแปร n ภายนอกคลาสได้โดยใช้ชื่อคลาสเรียก
เช่น MyClass.n โดยไม่ต้องผ่าน instance เลย
ส่วน
Method
ที่อยู่ในคลาสจะถูกเก็บไว้ภายในพื้นที่ของคลาสนั้นๆ เลยและใช้การ reference
ไปที่ Method เหล่านั้นเมื่อต้องการใช้งาน
เหตุที่เป็นเช่นนี้เพราะจะเป็นการประหยัดพื้นที่ของหน่วยความจำให้กับโปรแกรมนั่นเอง
ซึ่งพื้นที่ที่ใช้เก็บ Method นั้นจะถูกสร้างขึ้นมาเพียงครั้งเดียวเท่านั้นตอนที่เราประกาศคลาส(ในตัวอย่างคือ
MyClass) และเมื่อสร้าง instance ขึ้นมาก็ไม่จำเป็นต้องสร้าง
Method ขึ้นมาให้กับ instance ซ้ำอีกเพียงแต่เก็บค่า
reference ที่จะไปเรียกใช้งาน Method มาก็พอแล้ว
จะมีการสร้างแค่ตัวแปรที่ไม่ได้กำหนดเป็น static เท่านั้น เพราะตัวแปรเหล่านี้อาจจะเก็บค่าไม่เหมือน
กันขึ้นอยู่แต่ละ instance
ความหมายของ
static
เมื่อวางอยู่หน้า Method
static เมื่อนำไปวางไว้หน้า Method ใดๆ จะทำให้สามารถเรียกใช้ Method นั้นภายในคลาสได้โดยไม่ต้องใช้ instance
static เมื่อนำไปวางไว้หน้า Method ใดๆ จะทำให้สามารถเรียกใช้ Method นั้นภายในคลาสได้โดยไม่ต้องใช้ instance
หน้าที่ของ Dynamic
Dynamic HTML หรือที่นิยมเขียนว่า DHTML เป็นเทคโนโลยีที่ช่วยให้การแสดงผลของเว็บเพจมีชีวิตชีวา น่าสนใจ
และสามารถโต้ตอบกับผู้ใช้ หรือ Interactive ได้ดียิ่งขึ้น
โดยไม่จำเป็นต้องติดต่อกับ Server อบู่ตลอดเวลา
ตัวอย่างเช่น ตัวชี้เมาส์
ที่มีหางรูปร่างแปลกๆ การล็อกภาพพื้นหลังไม่ให้ขยับไปมา
เมื่อเลื่อนจอดูข้อมูลในหน้าเว็บเพจ เป็นต้น
DHTML ประกอบด้วยเทคโนโลยีในการสร้างเว็บเพจหลายๆตัว
เช่น Javascript , VB Script , ActiveX control , Cascading Style Sheet
(CSS) โดยจุดเริ่มมาจาก Microsoft ได้เริ่มสร้างเทคโนโลยีที่ช่วยเพิ่มความสามารถในการควบคุมการแสดงผลในเว็บเพจด้วยเว็บ
Browser ให้มีลูกเล่นมากขึ้น ต่อมาทางกลุ่ม W3C ได้เข้ามีส่วนในการกำหนดมาตรฐานดังกล่าว ทำให้ DHTML กลายเป็นมาตรฐานในเว็บ Browser รุ่นหลังตลอดมา
ขีดความสามารถของ DHTML
1.
กำหนดตำแหน่งแสดงผลได้ทั้งแนวแกน x ,y ,z
2.
แสดงข้อความและภาพเคลื่อนไหวในเว็บเพจได้
3.
กำหนดให้ซ่อน หรือแสดง ข้อมูลหรือรูปภาพได้
4.
สนับสนุนการใช้ CSS ทำให้ปรับเปลี่ยนรูปแบบการแสดงผลได้ง่าย
5.
เพิ่มเอฟเฟ็กต์ หรือลูกเล่นให้เว็บเพจได้มากขึ้น
6.
สนับสนุนการเขียนโปรแกรมแบบ Event-Driven เพื่อให้การแสดงผลปรับเปลี่ยนตามเหตุการณ์ที่เกิดขึ้นในเว็บเพจ
หน้าที่ของ Cache
หน่วยความจำCache คืออะไร
Cache คือหน่วยความจำอย่างหนึ่ง มีความเร็วในการเข้าถึงและการถ่ายโอนข้อมูลที่สูง ซึ่งมีหน้าที่ในการเก็บข้อมูลที่เราต้องการจะใช้งานบ่อยๆ เพื่อเวลาที่ CPU ต้องการใช้ข้อมูลนั้นๆ จะได้ค้นหาได้เร็ว โดยที่ไม่จำเป็นที่จะต้องไปค้นหาจากข้อมูลทั้งหมด
ซึ่งทำให้เราสามารถเข้าถึงข้อมูลของเราได้รวดเร็วยิ่งขึ้น
Cache มี 2 แบบคือ
1.disk cache คือการเก็บข้อมูลไว้ในหน่วยความจำหลักของเราก่อน เมื่อ CPU ต้องการจะหาข้อมูล ก็จะหาใน dish cache ก่อนแล้วค่อยเข้าไปค้นหาใน Harddisk
2.Memory cache จะดึงข้อมูลมาเก็บไว้ใน memory ซึ่งจะถึงข้อมูลได้รวดเร็วกว่า แต่มีความจำที่เล็กกว่า
เพราะฉะนั้นถ้า คอมพิวเตอร์เครื่องใดที่มี cache ความเร็วสูงก็จะเข้าถึงข้อมูลได้ง่าย แต่อย่างไรก็ตามยิ่งขนาดใหญ่ก็เก็บข้อมูลได้เยอะ แต่การเข้าถึงจะช้ากว่า cache ที่มีขนาดเล็ก
ระบบ Cache นอกจาก ใน computer แล้ว ระบบ Cache ยังเอามาใช้งานบนเว็บ ด้วย CMSส่วนใหญ่จะมีระบบ Cache เพื่อลดภาระการทำงานของฐานข้อมูลลง,หน่วยความจำแบบไดนามิกแรม
เป็นแรมที่มีโครงสร้างแตกต่างจากสแตติกแรม ทำให้สามารถมีความจุสูงกว่าสแตติกแรม 4 เท่า ทำให้กินกำลังไฟฟ้าในการทำงานน้อยกว่าสแตติกแรมอยู่ในเกณฑ์ 1/4 ถึง 1/6 เท่าของสแตติกแรม ซึ่งเมื่อเทียบราคาต่อบิตแล้วราคาจะสูง สแตติกแรมจึงถูกนำมาใช้ในหน่วยความจำขนาดเล็ก เช่น ระบบไมโครโปรเซสเซอร์ เป็นต้น การควบคุมกระบวนการทำงานของไดนามิกแรม ต้องมีวงจรรีเฟรชหน่วยความจำ
โครงสร้างทั่วไปของไดนามิกแรมแสดงในรูปที่ 12.13 เป็นไดนามิกแรมขนาด 16k x 1 (16,384 Cell =
2) มีขนาดอาร์เรย์ของเซลล์เป็นแมทริกซ์ขนาด 128 x 128 อาร์เรย์ แต่ละเซลล์จะบอกตำแหน่งของแอดเดรสโดยตัวถอดรหัสแถว และตัวถอดรหัสคอลัมน์ขนาด 1 - to - 128 ดังนั้นแอดเดรสอินพุตของตัวถอดรหัสแถวจะมีขนาด 7 เส้น (A - A ) และ ตัวถอดรหัสคอลัมน์จะมีแอดเดรส 7 เส้นเช่นกัน (A - A ) รวมทั้งสิ้นมีแอดเดรสขนาด 14 บิต
หน่วยความจำแบบสแตติกแรม
เป็นแรมที่มีฟลิบฟลอบเป็นตัวเก็บข้อมูลภายในแต่ละบิต ดังนั้นข้อมูลที่เก็บอยู่ภายในสแตติกแรมจะไม่สูญหายไปจนกระทั่งสแตติกแรมไม่ได้รับแรงดันไบอัสฟลิปฟลอปภายในสแตติกแรมมี 2 แบบ คือ แบบที่ใช้ไบโพล่าร์ทรานซิสเตอร์ และแบบที่ใช้มอสทรานซิสเตอร์ ซึ่งชนิดที่เป็นมอสทรานซิสเตอร์จะกินกำลังไฟฟ้าน้อยกว่าชนิดไบโพล่าร์ทรานซิสเตอร์
Cache คือหน่วยความจำอย่างหนึ่ง มีความเร็วในการเข้าถึงและการถ่ายโอนข้อมูลที่สูง ซึ่งมีหน้าที่ในการเก็บข้อมูลที่เราต้องการจะใช้งานบ่อยๆ เพื่อเวลาที่ CPU ต้องการใช้ข้อมูลนั้นๆ จะได้ค้นหาได้เร็ว โดยที่ไม่จำเป็นที่จะต้องไปค้นหาจากข้อมูลทั้งหมด
ซึ่งทำให้เราสามารถเข้าถึงข้อมูลของเราได้รวดเร็วยิ่งขึ้น
Cache มี 2 แบบคือ
1.disk cache คือการเก็บข้อมูลไว้ในหน่วยความจำหลักของเราก่อน เมื่อ CPU ต้องการจะหาข้อมูล ก็จะหาใน dish cache ก่อนแล้วค่อยเข้าไปค้นหาใน Harddisk
2.Memory cache จะดึงข้อมูลมาเก็บไว้ใน memory ซึ่งจะถึงข้อมูลได้รวดเร็วกว่า แต่มีความจำที่เล็กกว่า
เพราะฉะนั้นถ้า คอมพิวเตอร์เครื่องใดที่มี cache ความเร็วสูงก็จะเข้าถึงข้อมูลได้ง่าย แต่อย่างไรก็ตามยิ่งขนาดใหญ่ก็เก็บข้อมูลได้เยอะ แต่การเข้าถึงจะช้ากว่า cache ที่มีขนาดเล็ก
ระบบ Cache นอกจาก ใน computer แล้ว ระบบ Cache ยังเอามาใช้งานบนเว็บ ด้วย CMSส่วนใหญ่จะมีระบบ Cache เพื่อลดภาระการทำงานของฐานข้อมูลลง,หน่วยความจำแบบไดนามิกแรม
เป็นแรมที่มีโครงสร้างแตกต่างจากสแตติกแรม ทำให้สามารถมีความจุสูงกว่าสแตติกแรม 4 เท่า ทำให้กินกำลังไฟฟ้าในการทำงานน้อยกว่าสแตติกแรมอยู่ในเกณฑ์ 1/4 ถึง 1/6 เท่าของสแตติกแรม ซึ่งเมื่อเทียบราคาต่อบิตแล้วราคาจะสูง สแตติกแรมจึงถูกนำมาใช้ในหน่วยความจำขนาดเล็ก เช่น ระบบไมโครโปรเซสเซอร์ เป็นต้น การควบคุมกระบวนการทำงานของไดนามิกแรม ต้องมีวงจรรีเฟรชหน่วยความจำ
โครงสร้างทั่วไปของไดนามิกแรมแสดงในรูปที่ 12.13 เป็นไดนามิกแรมขนาด 16k x 1 (16,384 Cell =
2) มีขนาดอาร์เรย์ของเซลล์เป็นแมทริกซ์ขนาด 128 x 128 อาร์เรย์ แต่ละเซลล์จะบอกตำแหน่งของแอดเดรสโดยตัวถอดรหัสแถว และตัวถอดรหัสคอลัมน์ขนาด 1 - to - 128 ดังนั้นแอดเดรสอินพุตของตัวถอดรหัสแถวจะมีขนาด 7 เส้น (A - A ) และ ตัวถอดรหัสคอลัมน์จะมีแอดเดรส 7 เส้นเช่นกัน (A - A ) รวมทั้งสิ้นมีแอดเดรสขนาด 14 บิต
หน่วยความจำแบบสแตติกแรม
เป็นแรมที่มีฟลิบฟลอบเป็นตัวเก็บข้อมูลภายในแต่ละบิต ดังนั้นข้อมูลที่เก็บอยู่ภายในสแตติกแรมจะไม่สูญหายไปจนกระทั่งสแตติกแรมไม่ได้รับแรงดันไบอัสฟลิปฟลอปภายในสแตติกแรมมี 2 แบบ คือ แบบที่ใช้ไบโพล่าร์ทรานซิสเตอร์ และแบบที่ใช้มอสทรานซิสเตอร์ ซึ่งชนิดที่เป็นมอสทรานซิสเตอร์จะกินกำลังไฟฟ้าน้อยกว่าชนิดไบโพล่าร์ทรานซิสเตอร์