/**
* 先进先出
*
* @author 002040
*
*/
public class FIFO {
Object[] buf;
int first, next;
int size, maxSize;
public FIFO(int maxSize) {
if (maxSize < 0)
throw new IllegalArgumentException("参数不合法");
this.maxSize = maxSize;
buf = new Object[maxSize];
}
public void put(Object value) {
if (!isFull()) {
buf[next] = value;
if (++next == maxSize)
next = 0;
size++;
}
}
public Object get() {
if (isEmpty())
return null;
Object t = buf[first];
buf[first] = null;
if (++first == maxSize)
first = 0;
size--;
return t;
}
public boolean isEmpty() {
return size == 0;
}
public boolean isFull() {
return size == maxSize;
}
public static void main(String[] args) {
FIFO fifo = new FIFO(2);
fifo.put("a");
fifo.put("b");
System.out.println(fifo.get());
System.out.println(fifo.get());
System.out.println(fifo.get());
}
}
分享到:
相关推荐
FIFOFIFOFIFOFIFOFIFOFIFOFIFOFIFOFIFOFIFOFIFOFIFOFIFOFIFOFIFOFIFOFIFO
标题中的“fifo.rar_FIFO Java_Java FIFO_page replacement_页面置换”揭示了我们即将探讨的核心主题:在Java编程语言中实现FIFO(先进先出)页面置换算法。页面置换是操作系统管理内存的重要策略,特别是在虚拟内存...
标签"fifo_in_java fifo_java fifo_ja fifo_java.rar fifo_scheduling_java"提供了关键词,表明这个压缩包包含了与Java中FIFO相关的代码或者文档,可能是一个Java项目,用于学习和理解如何在Java中编写FIFO调度算法...
本资料包“abe.rar”包含对FIFO(先进先出)和LRU(最近最少使用)两种页面置换算法的Java实现,适用于深入理解和学习这两种算法。 FIFO(先进先出)页面置换算法是最简单的页面置换策略,其基本思想是:当内存中的...
Java实现FIFO策略通常通过使用队列数据结构来实现,例如`LinkedList`,新添加的元素入队,淘汰时则直接出队。 2. LRU(最近最少使用)策略: LRU策略认为最近被访问过的数据在未来更有可能再次被访问。因此,当缓存...
操作系统页面置换算法中的FIFO算法,这个是用java代码实现的,纯代码,经验证是完全正确的。
在本场景中,我们关注的是如何使用Java来模拟CPU的系统调页过程,特别是涉及到了FIFO(先进先出)和LRU(最近最少使用)两种页面替换算法。这两种算法都是解决内存不足时,如何决定将哪个页面从内存移出,以便腾出...
本项目基于Java实现的“FIFO(先进先出)”和“LRU(最近最久未使用)”页替换算法,是操作系统课程设计的重要实践内容。下面将详细介绍这两个算法及其实现。 首先,FIFO(First In First Out)算法是最简单的页...
本项目涉及到了三种经典的页面置换算法:FIFO(先进先出)、LRU(最近最久未使用)以及OPT(最佳页面置换)。这些算法在JAVA环境下实现,并且具备用户界面,便于理解和学习。 1. FIFO(先进先出)页面置换算法: ...
标题中的"FIFO调度算法试验报告(java编写)"是指一种基于Java编程实现的FIFO(先进先出)调度算法的实验。在这个实验中,作者姜志达通过编程模拟了FIFO调度算法的工作流程,以便更好地理解和掌握操作系统中进程调度...
页面置换FIFO算法java 页面置换FIFO算法是操作系统中的一种页面置换算法,用于解决内存分配和释放的问题。下面是该算法的详细介绍: 算法原理 FIFO(First-In-First-Out,先进先出)算法是最简单的一种页面置换...
标题"FIFO.rar_FIFO IN JAVA"表明我们关注的主题是关于Java编程中的FIFO(First In, First Out,先进先出)概念。FIFO是一种常见的数据结构原理,尤其在计算机科学和编程中广泛应用于队列。在Java中,队列是处理一...
本项目“FIFO.rar_FIFO Java”显然是一个用Java语言实现的版本,旨在通过模拟生产者和消费者来理解FIFO(先进先出)原则,并运用PV操作,即信号量(Semaphore)来解决资源的竞争问题。 1. **生产者与消费者问题**:...
在提供的文档"FIFO与LRU 算法实现(java).doc"中,可能包含了具体的代码实现和分析,而"www.pudn.com.txt"可能是文档的来源或补充信息。如果文档中的内容难以理解,建议寻求社区的帮助,或者尝试自己根据上述原理...
本篇文章将深入探讨在Java中模拟实现分页式存储,特别是FIFO(先进先出)、LRU(最近最少使用)和OPT(最佳)这三种常见的页面替换算法。 首先,我们来理解FIFO页面替换算法。FIFO是最简单的页面替换策略,它按照...
关于计算机操作系统页面置换算法FIFO、LRU、OPT的java描述、希望能在结构上提出改进建议。
FIFO算法.java
以下是对给定的Java实现的四种页面置换算法的详细说明: 1. **Clock算法**: Clock算法,也称为Clock页面替换算法,是一种简单的可变位图算法。每个页面都有一个关联的位,表示该页面是否被修改过。算法维护一个...
FIFO(First In First Out,先进先出)和LRU(Least Recently Used,最近最少使用)是两种常见的页面替换算法,用于解决虚拟存储器中的页面调度问题。下面将详细介绍这两种算法及其在Java中的实现。 FIFO算法是基于...
对于JAVA 初学者 的 FIFO 队列的实现 内容详细 实例简单