- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统讨论课 计算机5班第34组 答辩人:孙亚童 CONTENT 开发环境 JAVA 简介 Lorem ipsum dolor sit amet 01 程序设计思路 Lorem ipsum dolor sit amet 02 设计思路的实现方法 Lorem ipsum dolor sit amet 03 效果预览 Lorem ipsum dolor sit amet 04 开发环境 JAVA 简介 Lorem ipsum dolor sit amet PART ONE 选择 JAVA 的直接原因 它非常简单 JAVA 可以说是纯净版的C++,这里没有头文件、指针运算、结构、联合、运算符重载、虚基类等等学会应付考试了但不知道怎么用来编程的机制。 它支持多线程 “如果你使用过其他语言编写多线程程序,就会对JAVA的多线程处理的便捷性惊叹不已。”只要操作系统支持,JAVA中的线程就可以利用多个处理器。 它有一个强大的用户界面组件 这个组件的名字叫Swing,其方便性简直难以用语言形容。在PART3中会对其进行介绍 它具有面向对象特性 面向对象的程序设计方式,更接近人类认识事物,分析事物的思维模式。 选择JAVA的根本原因 从语法角度:JAVA的语法与C和C++很像,容易上手。 从实际应用角度:JAVA应用领域很广,从ACM到毕业入职,几乎可以贯穿一个CS专业学生的职业生涯。 从个人主观角度:当年我学C和C++只学会怎么考试了,完全不知道该怎么写程序。自从get了《JAVA核心技术》,才算是找到了点当程序员的感觉。 程序设计思路 Lorem ipsum dolor sit amet PART TWO PUT进程 move进程 1.需求分析 向缓冲池中输入数据 缓冲池 数据的容器,有一定容量,作为临界资源某一时刻只能被一个进程占用。缓冲池分为三类:最左侧的缓冲池只进行PUT和MOVE,中间的缓冲池只进行MOVE,最右侧的缓冲池只进行MOVE和GET。 在缓冲池间移动数据 GET进程 从缓冲池中取出数据 程序界面 能够实时显示Buffer的操作过程,能够显示在某时间是哪一个线程在对Buffer进行操作,对Buffer的当前容量和当前放入的数据和和取出的数据进行实时显示。 当程序运行开始后,计时器开始计时,直到运行结束,显示运行的时间。运行结束后,能够汇总操作的总个数、总的运行时间,Buffer中数据的个数,已放入BUFFER的数据个数,已放已取的数据个数,平均buffer中的个数。 最左缓冲池:LeftBuffer 2.面向对象设计思路 为了可视化需求,使其继承自JFrame类。 数据成员:putNum(已输入数据的数量) moveNum(已移出数据的数量) dataNum(当前缓冲池内的数据数量) AvailableNum(当前缓冲池空余容量) putSpeed(放入数据的速度) moveSpeed(移出数据的速度) 由面板、文本框、按钮等组成的初始化界面 成员函数:init()(初始化设置) put()(向缓冲池中送入数据) move()(从缓冲池中移出数据) 中间缓冲池:MidBuffer 为了可视化需求,使其继承自JFrame类。 数据成员:moveInNum(已输入数据的数量) moveOutNum(已移出数据的数量) dataNum(当前缓冲池内的数据数量) AvailableNum(当前缓冲池空余容量) moveIn(放入数据的速度) moveOut(移出数据的速度) 由面板、文本框、按钮等组成的初始化界面 成员函数:init()(初始化设置) moveIn()(向缓冲池中送入数据) moveOut()(从缓冲池中移出数据) 最右缓冲池:RightBuffer 为了可视化需求,使其继承自JFrame类。 数据成员:moveNum(已输入数据的数量) getNum(已取出数据的数量) dataNum(当前
文档评论(0)