V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  zeni123  ›  全部回复第 4 页 / 共 8 页
回复总数  154
1  2  3  4  5  6  7  8  
@moliliang

因为不只有布隆过滤器可以被归纳为 「存在的不一定存在,不存在的一定不存在」 这个特性,还有别的数据结构。

可以举一个具体的例子

数据库里面有 1000 条数据,
你把这 1000 条数据加到布隆过滤器里,
你把这 1000 条数据加到 LRUCache 里,

你在你程序里面使用 LRUCache 和布隆过滤器里


下面的四个描述有两个是正确的,而 OP 要的恰好就不是布隆过滤器的那个。

1. 数据库里 存在的 LRUCache 里 不一定存在, 数据库里 不存在的 LRUCace 里 一定不存在
2. LRUCache 存在的 数据库里 不一定存在,LRUCace 不存在的 数据库里 一定不存在
3. 数据库里 存在的 布隆过滤器里 不一定存在, 数据库里 不存在的 布隆过滤器里 一定不存在
4. 布隆过滤器里 存在的 数据库里 不一定存在,布隆过滤器里 不存在的 数据库里 一定不存在


你很理解布隆过滤器,但是 OP 问的就不是这个。
@moliliang

你可以说一说怎么用布隆过滤器实现。

「存在的不一定存在,不存在的一定不存在」 这个描述过于笼统,会让你记错的。

「 X 存在的 ​Y 不一定存在,X 不存在的 Y 一定不存在」,你可以看一看这里的 X 和 Y 代表着什么, 把它们搞反了意思完全就不一样了。而你理解错了的原因也恰好在此。
@noobmaster 看来是真的需要存下所有的信息了,要不你还要发明新布隆过滤器算法
@moliliang
布隆过滤器的保证的是 数据 存在 的时候返回的信息是正确的 这样的话可以把所有 存在 的数据放到过滤器里面。

楼主要求的是数据 不存在 的时候返回的信息是正确的,也就是说要把所有 不存在 的数据放到过滤器里面...这样的数据有无穷多
@colatin 他可能是说 "允许数据实际存在但是返回不存在,但是数据不存在的 (时候所返回的) 信息必须是准确的”这个需求是矛盾的" , 这就能对得上和布隆过滤器相反的那段描述
@colatin 并不矛盾

数据不存在 => 一定返回 false
返回 true => 数据一定 存在

返回 false => 数据有可能存在有可能不存在
数据存在 => 有可能返回 true 有可能返回 false


逻辑是自洽的
2021-11-25 01:03:00 +08:00
回复了 nonoyang 创建的主题 Java 可复现的 Java 进程卡死,如何排查问题
应该就是内存用多了吧 ParallelGC STW 太长了。增加或者减少堆内存看看从运行时间卡死会不会变化。

这是 java 几,可以换用 G1 吗,换垃圾回收器解决不了卡死问题,但至少会有响应。至于为什么内存会用多了,可以看看有没有内存泄漏。
BigTable 架构啊
2021-11-23 02:05:55 +08:00
回复了 kikione 创建的主题 程序员 分布式没有全局时间
可以有的

假如是全球规模的分布式系统 使用原子钟 gps 这样的全局时间来同步比网络通信更好

https://en.m.wikipedia.org/wiki/Spanner_(database)
2021-11-22 18:00:05 +08:00
回复了 bmpidev2019 创建的主题 程序员 SO 只用了 9 台 Web 服务器
450 req/s 一台服务器也可以吧
2021-11-18 17:56:29 +08:00
回复了 cindy00 创建的主题 Android Android 防定位造假的策略都有哪些呢??
可以依靠产品经理的嘴

让产品经理来吹牛说自己的防定位造假的策略是最好的 最厉害的 最坚不可摧的...
Baeldung 网站上每周有一个小小的知识点,而且是你不知道的那种

https://www.baeldung.com/java-weekly-410
应该是 private static Bow windforce;
私有的静态的弓 风之力
private static Windforce bow;
私有的静态的风之力 弓

说不定是用 AST 实现的
2021-11-03 20:59:13 +08:00
回复了 longmeier90 创建的主题 MySQL mysql 读写分离作用大不大?
数据汇总听着像一个写频繁的业务

读写分离对写比较多的业务不是太友好。
2021-11-03 20:49:14 +08:00
回复了 liu1996 创建的主题 Java 接口访问次数多了变慢是 tomcat 限制还是服务器 cpu 限制?
用 java 自带工具 jvisualvm 连上去看看

1. CPU 占用量
2. 线程的数量 一台机器最大 10000 ,也也可看看有多少是 WAITING 状态。看看是否有死锁
3. Full GC 是否频繁

上面是 JAVA 的,然后就是看数据库的了
2021-11-03 01:22:19 +08:00
回复了 22yune 创建的主题 Java Java 线程池核心线程数自适应算法 探讨
线程池的参数要根据具体任务类型而配置

当有多个机器的时候 线程池的设置可以有多套 profile

例如你有 50 台一样的机器

a 台设置成 Core 10 MAX 100
b 台设置成 Core 10 MAX 20
c 台设置成 Core 10 MAX 10
d 台设置成 Core 200 MAX 400
e 台设置成 Core 200 MAX 200


然后 a+b+c+d + e=50

随机给任务 ,统计任务的 throughput/响应

然后动态调节 a,b,c,d,e 的值使得 50 台机器总的 throughput/响应 最优
2021-11-03 00:59:44 +08:00
回复了 22yune 创建的主题 Java Java 线程池核心线程数自适应算法 探讨
当有多个机器的时候 线程池的设置可以有多套 profile

profile 1 20-40
profile 2 1000-2000
profile 3 100-100

…..

就类似于 cpu 大小核心那样
2021-11-02 17:40:04 +08:00
回复了 MID 创建的主题 MacBook Pro 新 MBP, 16 gb 与 32 gb 内存真的区别不大吗?
后台程序不活跃 swap 的效果好 ,试一下后台 FCP 导出 然后前台写代码. 肯定是需要大内存的.
1  2  3  4  5  6  7  8  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2638 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 07:06 · PVG 15:06 · LAX 23:06 · JFK 02:06
Developed with CodeLauncher
♥ Do have faith in what you're doing.