我需要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方式在同步塊內調用。