gpt4 book ai didi

Java:通过 TCP 读/写压缩对象

转载 作者:可可西里 更新时间:2023-11-01 02:45:38 25 4
gpt4 key购买 nike

我必须通过套接字通过 TCP 传输一些记录。我使用了 ObjectInputStreamObjectOutputStream 并且工作正常。一个关键的想法是,套接字打开一次并且必须在整个通信过程中保持打开状态,但每一方都不止一次读取和写入(因此它更像是一个持久连接)。

我尝试在写入对象之前对其进行压缩以提高整体性能,结果非常令人鼓舞,但是由于我使用了 GZIPOutputStreamByteArrayOutputStream,内存开销太大,在某些情况下我会收到 OutOfMemory 错误。

我试过 DeflaterOutputStream 但它似乎不适合写入对象。有什么办法可以解决这个问题吗?

最佳答案

Java 序列化很方便,但在大小和 CPU 使用方面都相当低效。如果你想要高性能,建议你使用完全不同的通信协议(protocol),例如基于 Protocol Buffers或其他轻量级的东西。

关于Java:通过 TCP 读/写压缩对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10950714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com