第一种是以毫秒为单位计算的。
[java] view plain copy
//伪代码
long startTime=System.currentTimeMillis() //获取开始时间
doSomeThing() //测试的代码段
long endTime=System.currentTimeMillis() //获取结束时间
System.out.println("程序运行时间: "+(end-start)+"ms")
第二种是以纳秒为单位计算的。
[java] view plain copy
//伪代码
long startTime=System.nanoTime() //获取开始时间
doSomeThing() //测试的代码段
long endTime=System.nanoTime() //获取结束时间
System.out.println("程序运行时间: "+(end-start)+"ns")
包含所需的包: import java.lang.System
你只需要考虑两点进行比较。第一点:考虑用户ID,第二点:考虑时间
当你读取一条log信息的时候,取出用户ID和时间,
我不清楚你是实时的在执行往DB里面插入还是过一点时间整理,
如果是实时插入,那么你取出这个log信息的时候,就需要去现在的数据库里面进行匹配
带入用户ID,和时间,时间就以小时计算,如:2014-11-18 17
如果在数据库查询出了这条数据,那么跳出,如果没有查询出结果,那么新增。
第二种情况,如果你是隔一段时间执行一次,那么你就只需要新建一个list集合,
然后用取出的log的集合循环和新的list数据进行匹配,如果遇到有的就跳出,如果在新的list集合里面没有的
那么就添加到新的list集合里面。
写的有点乱,我这里不建议你用list,这样匹配的时候循环工作量非常大,建议使用hashmap,键值对处理起来方便,
以用户ID为key 方便处理。