# bigdata_demo **Repository Path**: ctwechat/bigdata_demo ## Basic Information - **Project Name**: bigdata_demo - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2022-05-13 - **Last Updated**: 2022-05-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # bigdata_demo 现有一个 10G 文件的数据,里面包含了 18-70 之间的整数,分别表示 18-70 岁的人群数量统计,假设年龄范围分布均匀,分别表示系统中所有用户的年龄数,找出重复次数最多的那个数,现有一台内存为 4G、2 核 CPU 的电脑,请写一个算法实现。 本文参考了[《我用Java几分钟处理完30亿个数据...》](https://mp.weixin.qq.com/s/k8uIu1naCTs8ps-hJVZlWA), 针对文章中一些在自己的服务器上运行不顺畅的地方进行了自己的处理,感兴趣的伙伴可以共同探讨 主要修改的地方:使用多线程处理队列中的数据时,原方案是从队列中取出字符串后,再将字符串拆分成多个字符串数组,然后再起线程再进行数据统计;奈何本人服务器CPU能力有限,最终修改为负责读文件的单线程中,将逐行读取到的字符串,根据系统起的线程数将字符串等分成对应个数的字符串数组在分别存放到队列中,这样解决了我的性能不足的问题