我有一个简单的选择查询,返回200行。查询被迭代 1437 次。技术 : java 8, Spring靴 2.1.3.发布, 雄猫, Hibernate
在每次迭代时,查询都会变慢。第一个查询需要55毫秒,最后一个查询需要702毫秒
但是,当我在Junit“@RunWith(SpringJUnit4ClassRunner.class)”中启动相同的查询时,查询不会变慢。每次查询需要 - 37 毫秒
在Tomcat中运行时的第一个和最后一个日志
运行junit时的第一个和最后一个日志
我在每个查询后添加了entitymanager.clear(),这解决了问题。谢谢Cascader!!
结果确实令人印象深刻。第一个查询需要73ms,而最后一个查询则相反“向下”到1ms
正如您在日志中看到的,一个区别是实体管理器在Tomcat上每次迭代后都没有关闭(但是在JUnit上是关闭的)。经过1k次迭代后,实体管理器将在内存中保存大量对象,对这样一个加载的上下文的操作变得非常昂贵。每次迭代过程中,内存压力也应该越来越大。
我会尝试更频繁地清除上下文(即,在每次迭代之后),或者至少增加可用内存,以排除GC过于频繁地发挥作用。
请参见此答案
问题内容: 我正在使用TensorFlow训练用于医学图像应用的CNN。 由于我没有大量数据,因此我尝试在训练循环中对训练批次进行随机修改,以人为地增加训练数据集。我用其他脚本编写了以下函数,并在我的培训批次中调用它: 该代码很好地适用于对我的图像进行修改。 问题是 : 在我的训练循环的每个迭代(前馈+反向传播)之后,将相同的功能稳定地应用到我的下一个训练批次中,将比上一次稳定地花费5秒。 处理大
我正在尝试获取一个
我如何通过for循环的每次迭代声明一个新变量? 例如: 循环完成后,我想要4个变量,分别名为、、和,每个变量分别设置为、、和(当我在上面的代码中将设置为时,我实际上是将其设置为,因为这是在整个特定迭代中的值
我正在使用Firebase来保存我的数据。我试图在活动中分离Firebase方法和我的方法。例如,我已经创建了一个名为"Firebase method odsHelper"的类,在那里我想编写所有的Firebase方法。例如,"getAllUser"方法应返回列表中的所有用户。我唯一的问题是它不起作用。 我不知道我做错了什么,所以如果你们能帮我。 碎片 FirebaseMethodHelper类
本文向大家介绍jquery代码规范让代码越来越好看,包括了jquery代码规范让代码越来越好看的使用技巧和注意事项,需要的朋友参考一下 最近学了jQuery,感觉这个jQuery是真的挺不错的,果然像他说的那样,少些多做!刚一入手感觉真是不错。但是写多了,就会发现这个代码一行居然能写那么长。而且可读性还不好。 有幸自己买了一本锋利的jQuery这本书。我就整理了下。到底在实际应用中怎么让自己的j
我试图在PHP中的foreach循环的每次迭代之后进行回显。回声在全部完成之前不会呈现。我试过各种帖子的建议,但没有一个奏效。我的一些代码是: 有什么建议吗?谢了。