ในที่สุดในฐานะที่เป็นส่วนหนึ่งของการจัดการข้อยกเว้นสามารถใช้ในคำสั่งลอง/จับได้เท่านั้นและมาพร้อมกับบล็อกคำสั่งซึ่งบ่งชี้ว่าคำสั่งนี้จะถูกดำเนินการในที่สุด (ไม่ว่าจะมีข้อยกเว้นหรือไม่ก็ตาม) และมักจะใช้เมื่อจำเป็นต้องปล่อยทรัพยากร
ก่อนหน้านี้เมื่อเขียนซอฟต์แวร์รวบรวมข้อมูลความถี่การเชื่อมต่อฐานข้อมูลสูงมาก บางครั้งข้อมูลก็ไม่ได้ประมวลผลได้ดี หลังจากรายงานข้อผิดพลาด SQL มีการโยนข้อยกเว้น แต่การเชื่อมต่อฐานข้อมูลที่ตามมาไม่ได้ตัดการเชื่อมต่อ สิ่งนี้ส่งผลให้จำนวนการเชื่อมต่อฐานข้อมูลมีขนาดใหญ่เกินไปและไม่ได้รับอนุญาตให้เชื่อมต่ออีกต่อไป (เพราะมันเป็นห้องสมุดส่วนตัวฉันรีสตาร์ทโดยตรง) การดำเนินการของการปล่อยการเชื่อมต่อฐานข้อมูลนี้สามารถดำเนินการได้ในที่สุด
ก่อนอื่นมาดูรหัสที่ไม่ได้ในที่สุด (ไม่สามารถทำงานได้โดยตรงเพียงแค่เข้าใจว่ามันหมายถึงอะไร)
Connection Conn; คำสั่ง stmt; ลอง {conn = drivermanager.getConnection (URL, ชื่อผู้ใช้, รหัสผ่าน); stmt = conn.createstatement; String SQL = "SQL"; // SQL STMT.ExecuteUpdate (SQL); stmt.close (); conn.close ();} catch (exception e) {e.printstacktrace ();}เมื่อโปรแกรมทำงานตามปกติจะไม่มีข้อยกเว้นใด ๆ ไม่มีปัญหา
อย่างไรก็ตามเมื่อโปรแกรมส่งข้อยกเว้น (ข้อผิดพลาด SQL เกิดขึ้น) คำสั่งในการลองจะไม่ถูกดำเนินการและคำสั่งในการจับจะถูกดำเนินการโดยตรงซึ่งทำให้การเชื่อมต่อฐานข้อมูลไม่ถูกปิดตามปกติ หากจำนวนข้อมูลมีขนาดใหญ่ขึ้นจำนวนการเชื่อมต่อสูงสุดในฐานข้อมูลถึงขีด จำกัด สูงสุดและไม่อนุญาตให้เชื่อมต่อใหม่อีกต่อไป
จากนั้นประโยชน์ของในที่สุดก็สามารถสะท้อนได้ในขณะนี้
การเชื่อมต่อ conn = null; คำสั่ง stmt = null; ลอง {conn = drivermanager.getConnection (url, ชื่อผู้ใช้, รหัสผ่าน); stmt = conn.createstatement; String SQL = "SQL"; // SQL STMT.ExecuteUpdate (SQL); stmt.close (); conn.close (); } catch (sqlexception e) {e.printstacktrace (); } ในที่สุด {ถ้า (stmt! = null) {stmt.close (); } if (conn! = null) {conn.close (); }} ด้วยวิธีนี้แม้ว่า SQL จะเรียกใช้ข้อผิดพลาดและโยนข้อยกเว้นจากนั้นทำการตัดสินอีกครั้งเกี่ยวกับการเชื่อมต่อฐานข้อมูลในรหัสสุดท้ายก็สามารถมั่นใจได้ว่าทรัพยากรการเชื่อมต่อฐานข้อมูลจะไม่สูญเปล่าโดยไม่มีเหตุผล
ข้างต้นคือการใช้งานในที่สุดในชวาแนะนำให้คุณรู้จักโดยบรรณาธิการ ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!