我已经用Java编写了一个基本的服务器 - 客户机体系结构,并且我正在使用可序列化的类来进行数据包传输。我可能在一些关于stackoverflow的问题中看到了“tobytearray,frombyarray”函数。服务器工作并且必须实时工作,因此每秒钟发送的数据包几乎超过20-30个。当我读取一个数据包或写一个数据包时,我会序列化这个类,并且这个操作可能会花费很多,因为我经常创建一个新的ObjectOutputStream和一个ByteArrayOutputStream,如果您认为它每秒发生30次,它可能会切断性能。所以我想在主类中创建一个静态的ByteArrayOutputStream和ObjectOutputStream,所以每个数据包在序列化或反序列化时都会使用它们,这些已经创建好了,所以我将在一秒钟内分配30次的代价。但它会造成另一次性能下降吗?我应该每次刷新或重置ByteArrayStream?使用单个ByteArrayOut/InputStream和ObjectOut /输入进行多个操作
0
A
回答
1
当你认为它会发生30次在第二它可能砍的表现
真的吗?计算机相当快,你知道。除非这些是真的巨大的字节数组,我非常怀疑这是一个问题。
与以往一样:
- 定义的性能标准在开始编码
- 写,你可以简单的代码来实现自己的目标正确
- 测试对你指定的
- 如果条件在演出前性能不理想,请在你的应用程序中找出最大瓶颈所在
- 地址瓶颈,不失简洁仅在性能优势证明显著
- 重复,直到你的代码满足性能标准
我的猜测是,你还没有开始测试的表现呢。你会惊讶计算机每秒可以做多少工作30次。
相关问题
- 1. 使用AsyncTask进行多个操作
- 2. 如何使用多个表单操作,如输入验证和输入提交到servlet fron单一表单?
- 3. 使用一个事件处理程序进行多个操作
- 4. 使用gm4java在单个进程中执行多个图像操作
- 5. 使用单个p:ajax执行多个操作
- 6. 如何使用Python3读取多行输入作为单个输入?
- 7. 使用Twitter Bootstrap和Simple Form 2.0在单行上输入多个输入
- 8. powershell使用管道进行多个操作
- 9. 使用JQuery选择多个项目进行操作
- 10. 使用Spring JdbcTemplate进行多个数据库操作
- 11. 单个表单的多个操作
- 12. 在同一张表中同时进行多个插入操作
- 13. 对多个功能输入执行相同的操作
- 14. 绑定多个输入执行相同的操作
- 15. 我应该使用单个过程进行多个操作,还是将它们分成多个过程?
- 16. 多个输入名称和值与单个输入与Jquery
- 17. T-SQL是否可以使用单个快速操作进行更新/插入
- 18. 如何使用HTML5进行多个输入验证?
- 19. 单行中的Java多个输入
- 20. 在单行多个输入引导3
- 21. 在单个REST调用中执行多个数据库操作
- 22. 使用Symfony3和FOSRestBundle进行PATCH操作
- 23. 使用int和long进行操作
- 24. 使用属于进程输出的每行进行操作
- 25. 在html中使用单个输入文件进行多文件上传
- 26. Symfony多个表单和输入
- 27. 使用线程进行其中一个输入和显示另一个输出
- 28. 使用malloc()进行多输入?
- 29. 使用PHP的单个MySQL插入输入多个记录
- 30. 执行多个操作