gpt4 book ai didi

java - 比较客户端/服务器之间的 2 个大字符串数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:55:12 24 4
gpt4 key购买 nike

我有一个很大的字符串数组,其中包含 24-32 个随机字符(包括 0123456789abcdefghijklmnopqrstuvwxyz!@#$%^&*()_+=-[]';/.,<>?}{ )。有时数组是空的,但有时数组中的元素超过 1000 个。

每次他请求它们时,我都会通过 AJAX 将它们发送给我的客户端,这是一个浏览器,并且我只想在该数组不同时重新加载我的应用程序的一部分。这意味着如果有修改,则在所述数组中添加/删除。所以我想发送整个数组,以及其中所有元素的某种哈希值。我不能使用 md5 或类似的东西,因为数组中的元素可能会四处移动。

你建议我做什么?服务器使用 Java 来提供页面。

最佳答案

您确定传输 1000 个字符在您的用例中确实存在问题吗?例如,这个 stackoverflow 页面目前有 17000 字节大,stackoverflow 不会努力只在它发生变化时才传输它。换句话说,传输 1000 个字符将花费大约 1000 个字节,或者在 1 MBit 连接上需要 1 毫秒(按照现代标准,这很慢;-)。

也就是说,只有在数据发生变化时才传输数据是一种基本的优化策略,它已被纳入 HTTP 标准本身。 HTTP 标准描述了基于时间和基于 etag 的失效,并且几乎由任何使用 HTTP 交互的软件或硬件实现,包括浏览器和 CDN。要了解更多信息,请阅读 tutorial by Googlenormative specification .

您可以通过指定固定生命周期或解释 If-Modified-Since header 来使用基于时间的失效。您还可以使用对排序不敏感的 ETag,方法是在散列之前将您的元素放入特定顺序(例如通过排序)。

关于java - 比较客户端/服务器之间的 2 个大字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39215314/

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