JDBC 是一个大内存猪吗?

fly*_*ina 1 java memory performance jdbc

我需要在我的 java 代码中从数据库中重复访问(读入)数据,因此采用了 JDBC。但是,在我看来,使用 JDBC 会占用大量内存。我试图小心关闭为 JDBC 创建的对象(ResultSet、Statemenet),但它似乎仍然占用了很多内存,尤其是与从文本文件中读取输入相比。有人知道减少内存消耗的最佳方法吗?谢谢。

Dan*_*ler 5

JDBC 本身不会占用太多内存。它缓存了几条元数据,但绝大多数内存通常被查询结果占用。它的想法只是提供一个访问数据的标准接口,它本身并不是一个实现。这就是为什么您需要 JDBC 驱动程序来实现每个数据库产品的细节。

JDBC 不是资源密集型的,因为您甚至可以在使用 JavaME 的移动设备上运行 JDBC——这是一个资源非常有限的环境。

因此,虽然您可能会喜欢使用 Hibernate 或 JPA 等框架更轻松地处理数据,但您不必担心 JDBC 会消耗在整个应用程序上下文中值得一提的任何数量的资源。

正如他们所说:不要试图优化没有问题的东西:)