`
qianye
  • 浏览: 7616 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

java FIFO

    博客分类:
  • j2se
 
阅读更多
/**
 * 先进先出
 * 
 * @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());
	}
}

 

分享到:
评论

相关推荐

    操作系统javaFIFO

    FIFOFIFOFIFOFIFOFIFOFIFOFIFOFIFOFIFOFIFOFIFOFIFOFIFOFIFOFIFOFIFOFIFO

    fifo.rar_FIFO Java_Java FIFO_page replacement_页面置换

    标题中的“fifo.rar_FIFO Java_Java FIFO_page replacement_页面置换”揭示了我们即将探讨的核心主题:在Java编程语言中实现FIFO(先进先出)页面置换算法。页面置换是操作系统管理内存的重要策略,特别是在虚拟内存...

    FIFO.rar_FIFO IN JAVA_FIFO Java_fifo ja_fifo java.rar_fifo sched

    标签"fifo_in_java fifo_java fifo_ja fifo_java.rar fifo_scheduling_java"提供了关键词,表明这个压缩包包含了与Java中FIFO相关的代码或者文档,可能是一个Java项目,用于学习和理解如何在Java中编写FIFO调度算法...

    abe.rar_FIFO Java_FIFO LRU java_Java FIFO_LRU_fifo lru ja

    本资料包“abe.rar”包含对FIFO(先进先出)和LRU(最近最少使用)两种页面置换算法的Java实现,适用于深入理解和学习这两种算法。 FIFO(先进先出)页面置换算法是最简单的页面置换策略,其基本思想是:当内存中的...

    aaa.rar_FIFO LRU OPT_OPT FIFO LRU_OPT_ LRU_ FIFO_java fifo lru_l

    Java实现FIFO策略通常通过使用队列数据结构来实现,例如`LinkedList`,新添加的元素入队,淘汰时则直接出队。 2. LRU(最近最少使用)策略: LRU策略认为最近被访问过的数据在未来更有可能再次被访问。因此,当缓存...

    FIFO置换算法(java代码实现)

    操作系统页面置换算法中的FIFO算法,这个是用java代码实现的,纯代码,经验证是完全正确的。

    java 模拟CPU系统调页

    在本场景中,我们关注的是如何使用Java来模拟CPU的系统调页过程,特别是涉及到了FIFO(先进先出)和LRU(最近最少使用)两种页面替换算法。这两种算法都是解决内存不足时,如何决定将哪个页面从内存移出,以便腾出...

    基于java实现FIFO和LRU

    本项目基于Java实现的“FIFO(先进先出)”和“LRU(最近最久未使用)”页替换算法,是操作系统课程设计的重要实践内容。下面将详细介绍这两个算法及其实现。 首先,FIFO(First In First Out)算法是最简单的页...

    JAVA实现FIFO、LRU、OPT页面置换算法,有界面

    本项目涉及到了三种经典的页面置换算法:FIFO(先进先出)、LRU(最近最久未使用)以及OPT(最佳页面置换)。这些算法在JAVA环境下实现,并且具备用户界面,便于理解和学习。 1. FIFO(先进先出)页面置换算法: ...

    FIFO调度算法试验报告(java编写)

    标题中的"FIFO调度算法试验报告(java编写)"是指一种基于Java编程实现的FIFO(先进先出)调度算法的实验。在这个实验中,作者姜志达通过编程模拟了FIFO调度算法的工作流程,以便更好地理解和掌握操作系统中进程调度...

    页面置换FIFO算法java

    页面置换FIFO算法java 页面置换FIFO算法是操作系统中的一种页面置换算法,用于解决内存分配和释放的问题。下面是该算法的详细介绍: 算法原理 FIFO(First-In-First-Out,先进先出)算法是最简单的一种页面置换...

    FIFO.rar_FIFO IN JAVA

    标题"FIFO.rar_FIFO IN JAVA"表明我们关注的主题是关于Java编程中的FIFO(First In, First Out,先进先出)概念。FIFO是一种常见的数据结构原理,尤其在计算机科学和编程中广泛应用于队列。在Java中,队列是处理一...

    FIFO.rar_FIFO Java

    本项目“FIFO.rar_FIFO Java”显然是一个用Java语言实现的版本,旨在通过模拟生产者和消费者来理解FIFO(先进先出)原则,并运用PV操作,即信号量(Semaphore)来解决资源的竞争问题。 1. **生产者与消费者问题**:...

    FIFO与LRU 算法实现(java).rar_FIFO Java_LRU_fifo

    在提供的文档"FIFO与LRU 算法实现(java).doc"中,可能包含了具体的代码实现和分析,而"www.pudn.com.txt"可能是文档的来源或补充信息。如果文档中的内容难以理解,建议寻求社区的帮助,或者尝试自己根据上述原理...

    os.rar_FIFO IN JAVA_FIFO LRU OPT_LRU_java os_页式存储

    本篇文章将深入探讨在Java中模拟实现分页式存储,特别是FIFO(先进先出)、LRU(最近最少使用)和OPT(最佳)这三种常见的页面替换算法。 首先,我们来理解FIFO页面替换算法。FIFO是最简单的页面替换策略,它按照...

    关于计算机操作系统页面置换算法FIFO、LRU、OPT的java描述

    关于计算机操作系统页面置换算法FIFO、LRU、OPT的java描述、希望能在结构上提出改进建议。

    FIFO算法.java

    FIFO算法.java

    操作系统os页面置换算法(java实现)Clock、Lru、Opt、Fifo

    以下是对给定的Java实现的四种页面置换算法的详细说明: 1. **Clock算法**: Clock算法,也称为Clock页面替换算法,是一种简单的可变位图算法。每个页面都有一个关联的位,表示该页面是否被修改过。算法维护一个...

    FIFOandLRU(java).rar_ FIFOandLRU_FIFO IN JAVA

    FIFO(First In First Out,先进先出)和LRU(Least Recently Used,最近最少使用)是两种常见的页面替换算法,用于解决虚拟存储器中的页面调度问题。下面将详细介绍这两种算法及其在Java中的实现。 FIFO算法是基于...

    FIFO (先进先出) 队列实现 全英文

    对于JAVA 初学者 的 FIFO 队列的实现 内容详细 实例简单

Global site tag (gtag.js) - Google Analytics