24
ผลกระทบของประสิทธิภาพการใช้งานอินสแตนซ์ใน Java
ฉันกำลังทำงานกับแอปพลิเคชันและแนวทางการออกแบบหนึ่งวิธีนั้นเกี่ยวข้องกับการใช้งานตัวinstanceofดำเนินการอย่างหนักมาก ในขณะที่ฉันรู้ว่าการออกแบบ OO โดยทั่วไปพยายามหลีกเลี่ยงการใช้instanceofนั่นเป็นเรื่องราวที่แตกต่างและคำถามนี้เกี่ยวข้องกับการแสดงอย่างหมดจด ฉันสงสัยว่ามีผลกระทบต่อประสิทธิภาพการทำงานหรือไม่? เร็วแค่==ไหน? ตัวอย่างเช่นฉันมีคลาสฐานที่มี 10 คลาสย่อย ในฟังก์ชั่นเดียวที่ใช้คลาสพื้นฐานฉันจะตรวจสอบว่าคลาสเป็นอินสแตนซ์ของคลาสย่อยและดำเนินการตามปกติ อีกวิธีหนึ่งที่ฉันคิดว่าการแก้มันคือการใช้จำนวนเต็ม "type id" ดั้งเดิมแทนและใช้ bitmask เพื่อแสดงหมวดหมู่ของคลาสย่อยและจากนั้นก็ทำการเปรียบเทียบรูปแบบบิตของ subclasses "type id" กับ a หน้ากากคงที่เป็นตัวแทนของหมวดหมู่ เป็นที่instanceofที่ดีที่สุดอย่างใดโดย JVM ที่จะได้เร็วขึ้นกว่าที่? ฉันต้องการติดกับ Java แต่ประสิทธิภาพของแอพมีความสำคัญอย่างยิ่ง มันจะเจ๋งถ้ามีคนที่เคยไปตามถนนนี้มาก่อนจะได้รับคำแนะนำ ฉันกำลัง nitpicking มากเกินไปหรือเน้นสิ่งผิดเพื่อเพิ่มประสิทธิภาพหรือไม่