บทความนี้อธิบายถึงการใช้รูปแบบซิงเกิลสองรูปแบบในชวา แบ่งปันสำหรับการอ้างอิงของคุณดังนี้:
ตามวิธีการโหลดมีสองการใช้งานของโหมดซิงเกิลตัน:
ส่วนตัว: ใช้ในชั้นเรียนเดียวกันเท่านั้น
แบบคงที่: คลาสนี้เป็นวิธีการเรียนและไม่สามารถเรียกใช้วิธีการอินสแตนซ์ /ตัวแปรระดับโลกคลาส
สุดท้าย: ไม่สามารถแก้ไขวิธีการหรือตัวแปรสมาชิกได้
1. สไตล์มนุษย์หิว
Public Class Eagersigleton {Private Static Final Final Eagersigleton Instance = New Eagersigleton (); Eagersigleton ส่วนตัว () {} //// Private Constructor Public Eagersigleton Getinstance () {// วิธีการกลับมาของโรงงาน2. คนขี้เกียจ
Lazysigleton คลาสสาธารณะ {ส่วนตัวคงที่ Lazysigleton Instance = NULL; Lazysigleton ส่วนตัว () {} // ตัวสร้างเอกชน Public Synchronized Lazysigleton GetInstance () {// วิธีโรงงานคงที่;การวิเคราะห์และเปรียบเทียบ:
ความคล้ายคลึงกัน:
รูปแบบ Singleton เป็นของรูปแบบการสร้างเพื่อให้มั่นใจว่ามีเพียงตัวอย่างเดียวของคลาสนี้ที่มีอยู่ใน JVM เดียวกัน ในรูปแบบซิงเกิลสองรูปแบบข้างต้นสามารถเห็นได้:
①ตัวสร้างของทั้งสองวิธีเป็นส่วนตัว
②อินเทอร์เฟซภายนอกเป็นวิธีการทั้งหมดของโรงงาน
ความแตกต่าง:
สไตล์ความหิวจะได้รับอินสแตนซ์ของคลาสนี้โดยตรงเมื่อมีการโหลดคลาส อาจกล่าวได้ว่าสูตรนั้นถูกผูกไว้ในระยะแรก สไตล์ขี้เกียจไม่ได้ชี้ไปที่วัตถุเฉพาะเมื่อโหลดคลาส แต่จะถูกสร้างอินสแตนซ์หลังจากวิธีการโรงงานเรียกว่า ดังนั้นอดีตจึงรวดเร็วและหลังช้า แต่หลังสามารถโหลดคลาสอื่น ๆ ซึ่งมีความยืดหยุ่นสูง (นั่นคือการขยายตัวแบบไดนามิก)
สำหรับเนื้อหาที่เกี่ยวข้องกับ Java เพิ่มเติมผู้อ่านที่สนใจในเว็บไซต์นี้สามารถดูหัวข้อ: "โครงสร้างข้อมูล Java และการสอนอัลกอริทึม", "บทสรุปของเคล็ดลับการดำเนินการ Java Dom Node", "บทสรุปของไฟล์ Java และเคล็ดลับการดำเนินการไดเรกทอรี" และ "สรุป
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม Java ของทุกคน