我需要java中的java实用程序方法(用于我的应用程序,它可以在数秒内获得数千个请求),它具有以下功能。 请求的到达时间格式为(DD-MM-YYYY-HH:MM:SS)和bucketNumber(1-100)。如何将请求的到达日期增加1毫秒(如果相同)
我想,如果相同的bucketNumber,如果相同的到达时间来自请求,它应该增加请求的到达时间值1毫秒。
例如:
如果bucketNumber = 1到达时间第一,第二,第三请求= 01-01-2016-10:00:00(实际上是时间直到毫01-01-2016-10: 00:00:000)以及01-01-2016-10:00:01的第四个请求。
所以对于第二请求的公用程序方法将返回01-01-2016-10:00:00(但其实这01-01-2016-10:00:00:001)
和第三个请求效用方法将返回01-01-2016-10:00:00(但这实际上是01-01-2016-10:00:00:002)
并且对于第4个请求实用方法将返回01-01 -2016-10:00:01而不进行任何操作。
我不想保留一个巨大的缓存来执行此操作(如果我使用set,那么我想继续删除多余的数据)。
//signature should be like below
Date getIncrementedArrivalTimeIfSame(Date arrivaltime, int bucketNumber) {
//return incremented if equal else return original arrivaltime
}
我应该使用具有bucketNumber作为关键和一组到达时间的全球地图?请帮我实施这个。该方法将以threadSafe方式在同步块内调用。