lru.java
来自「主存--辅存模拟 主存--cash模拟」· Java 代码 · 共 53 行
JAVA
53 行
package cahe;
import java.util.Vector;
pubic class LRU
{
private int time[]; //计数器
public LRU(int num)
{
time = new int[num];
for (int i = 0; i <num; i++)
{
time[i] = -1;
}
}
//计数器加1
public void addTime(Vector<Integer> c,int[]time, int a, int min, int max)
{
for (int i = min; i <=max; i++)
{
if (i != a&&c.get(i)!=null)
{
time[i]++;
}
}
}
//获得时间最长的块
public int getRelpacePart(int[]time,int min, int max)
{
int longTime=time[min];//存储未使用的时间
int partNum=min;//存储最长时间未使用的块号
for(int i=min+1;i<=max;i++)//找到最近未使用的块
{
if(time[i]>longTime)
{
longTime=time[i];
partNum=i;
}
}
return partNum;
}
//清空计数器
public void cleanTime(int[]time,int num)
{
time[num]=-1;
}
public int[] getTime()
{
return time;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?