我一直在构建一个测试应用程序,该应用程序与直到最近还没有 UI 的数据库一起使用。我现在加一个。问题是,JFrame 在另一个线程中启动,我需要在该线程关闭时关闭我的数据库连接(我应该说当 UI 关闭时)。我该怎么做呢?
此外,如果应用程序崩溃或被强制关闭,应用程序的数据库连接(在本例中为嵌入式数据库)会发生什么情况?我听说未关闭的连接会导致资源泄漏。如果发生这种情况,我能做些什么来清理?
我一直在构建一个测试应用程序,该应用程序与直到最近还没有 UI 的数据库一起使用。我现在加一个。问题是,JFrame 在另一个线程中启动,我需要在该线程关闭时关闭我的数据库连接(我应该说当 UI 关闭时)。我该怎么做呢?
此外,如果应用程序崩溃或被强制关闭,应用程序的数据库连接(在本例中为嵌入式数据库)会发生什么情况?我听说未关闭的连接会导致资源泄漏。如果发生这种情况,我能做些什么来清理?
您可以在运行时系统中添加关闭挂钩。这是一个将在关闭虚拟机时触发的线程。在线程中,您可以关闭所有数据库连接和其他关键资源。
除了你的评论:你不能保证你有足够的时间来清理你的连接。可能您的应用程序被您的系统或其他任何东西杀死了。所以:尝试尽快清理您的连接。
只有在丢失连接对象后,DBMS 才能删除未使用的连接。