เนื่องจากฉันกำลังทำงานบนเซิร์ฟเวอร์ที่ไม่มีสถานะที่ไม่คงที่สำหรับผู้ใช้ทุกออบเจ็กต์ที่เกี่ยวข้องกับผู้ใช้ที่เรามีจะถูกนำเสนอในทุกคำขอ
ดังนั้นฉันมักจะพบว่าตัวเองกำลังเริ่มต้นขี้เกียจของคุณสมบัติของวัตถุที่อาจไม่ได้ใช้
protected EventDispatcher dispatcher = new EventDispatcher();
กลายเป็น...
protected EventDispatcher<EventMessage> dispatcher;
public EventDispatcher<EventMessage> getEventDispatcher() {
if (dispatcher == null) {
dispatcher = new EventDispatcher<EventMessage>();
}
return dispatcher;
}
มีเหตุผลใดที่สิ่งนี้ไม่สามารถสร้างใน Java ได้หรือไม่?
protected lazy EventDispatcher dispatcher = new EventDispatcher();
ตามที่ระบุไว้ด้านล่างในความคิดเห็นฉันรู้ว่าภาษาอาจมีวิวัฒนาการทางทฤษฎีที่จะรวมทุกอย่างที่คุณต้องการ ฉันกำลังมองหาการวัดความเป็นไปได้ในทางปฏิบัติ สิ่งนี้ขัดแย้งกับฟีเจอร์อื่นหรือไม่ การใช้งานง่ายพอที่จะทำงานได้ดีกับ JVM หรือไม่ และเป็นความคิดที่ดีหรือไม่?
synchronized
คำหลักจะทำงานเหมือนกับว่าเป็นวิธีการ ฉันคิดว่าจะมีวิธีการก่อสร้างที่ซับซ้อนมากขึ้น ในกรณีการใช้งานเฉพาะของฉันเนื่องจากลักษณะของปัญหาทุกครั้งที่มีการร้องขอในโลกของตัวเองการซิงโครไนซ์นั้นไม่มีจุดหมาย