0

想象一个无状态的 Web 应用程序,它处理许多请求,比如每秒一千个请求。我们在处理周期内创建的所有数据将在结束时立即丢弃。该应用程序将大量使用序列化/反序列化,因此我们在每个请求上创建和丢弃大约 50-200kb。我认为这会给垃圾收集器带来很大的压力,因为 GC 将不得不丢弃大量的短期对象。实现一个字节数组池以将它们重用于序列化/反序列化目的是否有意义?有人有过这样的经历吗?

4

1 回答 1

3

垃圾回收机制是建立在大量创建的对象存在很短时间的前提下的。第一个对象池称为伊甸园空间(有关名称的由来,请参阅此 SO 答案)并定期进行监控。所以我希望垃圾收集器能够处理这个问题。

像大多数(全部?)性能问题一样,我会在应用过早的优化之前测量您的特定用例。许多配置可用于调整垃圾收集,包括并行 GC 策略(请注意下面的“停止世界”评论)

于 2012-09-18T22:41:27.507 回答