需求:快速的对数亿条数据进行粗略统计
技术实现:采用Java的LinkedHashMap与HashMap在内存中进行运算
由于开发机的内存不够大,需要将开发机器上的程序打包传到服务器上运行,但是在运行的过程中,每次运行至1.5亿后,程序运算时间明显变慢,成2的n次方级别递增。
这时候查看内存,Java程序进程占用内存为4G,很熟悉的数字。
经检查发现,程序开发机的JDK是32位的,而服务器端的JDK是64位的,换了台64位的机器,使用64位JDK打包上传,问题解决。
开发环境和运行环境的一致性一如既往的重要啊。