2
วิธีอุ่นเครื่องคลาส Java เพื่อหลีกเลี่ยงการโทรช้าครั้งแรก?
ฉันกำลังทำโปรเจ็กต์ที่ฉันต้องการให้การเรียกใช้ API ทั้งหมดใช้เวลาน้อยกว่า 1 วินาที แต่ฉันกำลังประสบปัญหากับการโทรครั้งแรกไปยังแต่ละเส้นทางที่ช้ากว่าครั้งต่อไปนี้ ขณะนี้การโทร / ล็อกอินครั้งแรกใช้เวลา 3.6 วินาทีและโทรถัดไปใช้เวลา 170ms และเหมือนกันสำหรับเส้นทางอื่น ๆ ทั้งหมด ฉันค้นพบการใช้-XX:+TraceClassLoadingสิ่งนั้นในการโทรครั้งแรกชั้นเรียนถูกโหลดในหน่วยความจำและทำให้เกิดปัญหาประสิทธิภาพ อย่างไรก็ตามฉันไม่พบวิธีที่ง่ายในการโหลดคลาสทั้งหมดเมื่อเริ่มต้นและสำหรับแต่ละบริการใหม่ฉันต้องเพิ่มการเรียกวอร์มอัพใน ApplicationRunner ใครบ้างมีวิธีแก้ปัญหาในการโหลดคลาสของแอพพลิเคชั่น SpringBoot หรืออุ่นเครื่องเส้นทางทั้งหมด?