Java使用多个线程管理内存



我正在使用tomcat servlet,该servlet同时存储内容,因为它可用于servlet。单个请求可能需要存储1或几千件(组件)。

要处理并发,我使用了固定的螺纹指针表。由于组件可用于存储,因此将存储对象分配给表中的插槽,并且执行开始。当线程完成时,插槽被无效,另一个根据需要分配的存储对象。如果使用了表中的所有插槽,则定期检查表格以找到已完成的线程并更换线程。

使用此模型管理内存可能很困难,因为垃圾收集从未完全清理胎面死亡时使用的内存。这可能导致内存溢出或内存恢复太小。

是否可以使用这种类型处理GC?需要同步,然后是GC?有没有匹配此类处理的Java并发处理程序...

任何建议都将不胜感激。

谢谢

我最初认为GC中的问题不是完全清理记忆,这是我只看到次要的GC集合,而GC收集只进行了部分清理。当确实发生了重大收藏时,它将冻结我们的服务长达10分钟。

在与不同的收藏家进行了一些实验之后,看起来像第7版的新G1收藏家可以做到。

我感谢那些研究此研究的人。

最新更新