Performance 针对性能受限机器的JPA/ORM与JDBC
我们正在创建一个将部署到非常有限的机器上的小型应用程序。他们只有256mb的RAM 我希望使用JPA,因为它简化了代码并消除了对JDBC结果集代码的需要。然而,JPA在这些小型机器上的开销会是一个因素吗?目前我正在考虑使用Toplink,它是一个2.5mb JAR文件 我们只有有限数量的表,所以JDBC代码不会太麻烦。但是JPA使代码变得非常好Performance 针对性能受限机器的JPA/ORM与JDBC,performance,orm,jpa,jdbc,Performance,Orm,Jpa,Jdbc,我们正在创建一个将部署到非常有限的机器上的小型应用程序。他们只有256mb的RAM 我希望使用JPA,因为它简化了代码并消除了对JDBC结果集代码的需要。然而,JPA在这些小型机器上的开销会是一个因素吗?目前我正在考虑使用Toplink,它是一个2.5mb JAR文件 我们只有有限数量的表,所以JDBC代码不会太麻烦。但是JPA使代码变得非常好 干杯。JPA/ORM在运行时的性能将始终大于或等于JDBC,因为它们都基于JDBC 正如您所注意到的,您从JPA/ORM获得的巨大提升是在开发阶段 我希
干杯。JPA/ORM在运行时的性能将始终大于或等于JDBC,因为它们都基于JDBC 正如您所注意到的,您从JPA/ORM获得的巨大提升是在开发阶段 我希望使用JPA,因为它简化了代码并消除了对JDBC结果集代码的需要 我不确定我是否理解这句话。JPA将在幕后使用结果集;你不会写的。从ResultSet到对象的映射封装在XML或注释中 如果您真的是内存受限的,那么可能必须传递JPA并手工编写JDBC代码 在这种情况下,您可能会看到SpringJDBC,因为它有一个非常好的JDBC支持设计,使得它非常简单
256MB内存?您将很难使用任何第三方库。取决于操作系统和您运行的256MB RAM并不像您想象的那么小。使用ORM解决方案可能完全可行,但最好的方法是亲自测试和查看 测试这一点应该相对简单,看看它是否能在您的环境中工作。创建一个使用ORM的简单项目或对项目的修改,并创建一个实体来执行一些测试事务。然后观察它的性能以及内存使用情况。这取决于你需要做什么,可能没问题
您还可以将JVM内存限制到一定的级别,这将导致更多的垃圾收集,但除非达到限制,否则它应该可以防止崩溃。“我想使用JPA,因为它简化了代码并消除了对JDBC ResultSet代码的需要。”-这就是我的意思,我们不需要编写它。JPA非常棒,因为它可以直接返回集合。虽然我不喜欢它,但我认为我们必须使用JDBC。谢谢