我目前有一个自定义类的数组,如下所示:
Phy[] memory = new Phy[256];
在我的Phy
课堂上,我有以下功能:
- 获取时间戳(返回时间戳)
- 更新时间戳(使用系统时间,获取自 1970 年以来的毫秒并设置它)
当涉及到 LRU 部分来查找 LRU 类时,我会这样做:
public int getLeastRecentlyUsed(){
long leastUsed = memory[0].getTimeStamp();
int leastUsedPosition = 0;
for(int i = 0; i < memory.length; i++){
if(memory[i].getTimeStamp() < leastUsed){
leastUsed = memory[i].getTimeStamp();
leastUsedPosition = i;
}
}
return leastUsedPosition;
}
这基本上是寻找最旧的时间戳。
我刚刚意识到的问题是,处理器可以在 MS 中执行许多这些操作,而留下无用的算法。
我该怎么做才能对此进行排序?