java
all_light
主要从事java开发,同时熟悉c,C++语言。会基于opencv做一些图像检测和识别。也接触嵌入式开发。
展开
-
java实现位图(bitmap)
//位图下标从0开始 public class BitMap { //默认256的大小 private int size = 256; private byte[] bits; public BitMap(int size) { this.size = size; this.bits = new byte[getindex(size) + 1]; } public BitMap() { this.b.原创 2020-06-12 23:35:01 · 685 阅读 · 0 评论 -
采用位图存储40亿条qq号,用来记录登录状态
假设有需要你在一个8G内存的容器里面做个服务,用来根据用户输入的qq号,判断此qq号是否登录过。qq总数有40亿,每天的登录记录了有1000亿条,每个qq号存储占4byte,设计下用哪种数据结构? 1.采用类似于B+树的结构,可以实现但不是最优解 2.最优解是使用位图(bitmap)来存储,qq号作为下标,用1bit来存储0和1表示是否登录过。这样需要花费的内存约为500M,足够使用。 在此基础上又来了新的需求,需要统计每个用户每天登录的次数,需要怎么实现? 在位图的基础上使用8bit来存储登录的次原创 2020-06-12 22:35:41 · 1722 阅读 · 0 评论