จะใช้วัตถุที่ไม่เปลี่ยนรูปได้ที่ไหน

สารบัญ:

จะใช้วัตถุที่ไม่เปลี่ยนรูปได้ที่ไหน
จะใช้วัตถุที่ไม่เปลี่ยนรูปได้ที่ไหน
Anonim

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

จุดประสงค์ของวัตถุที่ไม่เปลี่ยนรูปคืออะไร

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

วัตถุใดควรเรียกว่าไม่เปลี่ยนรูป

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

คุณจะใช้งานวัตถุที่ไม่เปลี่ยนรูปได้อย่างไร

ในการสร้างวัตถุที่ไม่เปลี่ยนรูป คุณต้องทำตามกฎง่ายๆ:

  1. อย่าเพิ่มวิธีตั้งค่าใดๆ
  2. ประกาศทุกช่องสุดท้ายและเป็นส่วนตัว
  3. หากฟิลด์เป็นวัตถุที่ไม่แน่นอน ให้สร้างสำเนาป้องกันสำหรับวิธี getter
  4. หากวัตถุที่เปลี่ยนแปลงได้ส่งผ่านไปยังตัวสร้างต้องถูกกำหนดให้กับฟิลด์ ให้สร้างสำเนาป้องกันของมัน

เราไปไหนใช้คลาสที่ไม่เปลี่ยนรูปใน Java หรือไม่

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