第五次作业

算法与实现

这次的电梯因为要使用系统时间进行模拟,所以又是推倒了之前的重写的。最后采用三个电梯线程,一个调度线程,一个输入线程的方式。

源码分析图示

类图

方法分析

类分析

由上图看,由于第一次写多线程,单一线程的复杂度过高,任务分配不够平均。

BUG分析

这次被人测了一个ctrl+z导致的scanner的空指针错误,我对此印象深刻。之前一直没考虑到过读入时的判断问题。然后就是调度偶尔会产生不捎带的问题,与调度的算法不当有关。

第六次作业

算法与实现

这次作业主要的难点是第一次接触文件操作,以及如何递归访问文件夹,经过讨论后,我决定使用hashmap存储文件信息,这样比较好在递归访问时比对。线程较少,未出现安全的问题。

源码分析图示

类图

方法分析

类分析

BUG分析

暂无

第七次作业

算法与实现

这次作业相比于电梯其实更简单,大致的框架仍参考了电梯的架构,使用读入线程,分配线程,以及出租车线程,先将指令读入到队列中,再分配给合适的出租车。

源码分析图示

类图

方法分析

类分析

BUG分析

暂无,但在互测时发现对方忘记处理map的信息,直接进行读入,还有就是搜索最短路径时,bfs的速度比较慢,在之后应该会对其进行改进。

心得与体会

这三次作业我的这种设计架构并未出现太多线程的安全问题,这也导致我对锁的理解不够清晰,后来在课上实验才理解到这些东西。

OO 第五、六、七次作业总结的更多相关文章

  1. 2017-2018-1 我爱学Java 第六七周 作业

    团队六七周作业 完善版需求规格说明书 制定团队编码规范 数据库设计 后端架构设计 TODOList 参考资料 完善版需求规格说明书 <需求规格说明书>初稿不足之处: 1.开发工具写错 2. ...

  2. Linux系统管理第五六七章 权限及归属管理 磁盘管理 文件系统与lvm

    第五六七章   alias 查看系统别名   67 chmod 设置文件或目录的权限 -R表示以递归的方式设置目录及目录下的所有子目录及文件的权限 u:属主 g:属组 o:其他人 a:所有人 +:添加 ...

  3. 2017-2018-1 Java演绎法 第六七周 作业

    团队任务:修改完善<需求规格说明书>等 团队组长:袁逸灏 本次编辑:刘伟康 修改完善上周提交的需求规格说明书 [markdown 链接] [pdf 链接] 不足之处:仅就现在的问题来看,结 ...

  4. Linux学习-预习第五六七章节关于用户权限管理以及磁盘文件系统

  5. 2017-2018-1 JaWorld 第六、七周作业

    2017-2018-1 JaWorld 第六.七周作业 修改需求规格说明书 上次的<需求规格说明书>初稿有哪些不足? 王译潇同学回答:   1. 引言和目的性考虑的不是很周全.   2. ...

  6. 2017-2018-1 JAVA实验站 第六、七周作业

    2017-2018-1 JAVA实验站 第六.七周作业 详情请见团队博客

  7. 2016福州大学软件工程第五、六次团队作业-Alpha阶段成绩汇总

    1.本次作业成绩统计结果: 本次Alpha阶段团队作业公布如下: 表格说明: PE:贡献百分比 YS:演示评分(满分15分) BK:博客评分(满分15分) SH:事后诸葛亮环节(满分5分) P:个人分 ...

  8. 201871010106-丁宣元 《面向对象程序设计(java)》第六—七周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第六—七周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu- ...

  9. 201871010128-杨丽霞《面向对象程序设计(java)》第六-七周学习总结

    201871010128-杨丽霞<面向对象程序设计(java)>第六-七周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...

随机推荐

  1. AngularJS+RequireJs实现动态加载JS和页面的方案研究【上】

    1.入口页面 存放地址:src/main/webapp/WEB-INF/view/workflow/workflow.jsp [html] view plain copy 在CODE上查看代码片派生到 ...

  2. String class fetch functionality

    String类的获取功能: package com.itheima_04; /* * String类的获取功能: * int length():获取字符串的长度,其实也就是字符个数 * char ch ...

  3. 微信小程序-05-详解介绍.js 逻辑层文件

    上一篇介绍了关于.json 的配置文件,本篇介绍关于.js 逻辑层文件 微信小程序-05-详解介绍.js 逻辑层文件 宝典官方文档: https://developers.weixin.qq.com/ ...

  4. python基础——Linux系统下的文件目录结构

    单用户操作系统和多用户操作系统 单用户操作系统:指一台计算机在同一时间只能由一个用户使用,一个用户独自享用系统的全部硬件和软件资源. 多用户操作系统:指一台计算机在同一时间可以由多个用户使用,多个用户 ...

  5. Linux iptables命令详解

    iptables命令主要是设置防火墙信息的 常见命令参数 Usage: iptables -[AD] chain rule-specification [options] iptables -I ch ...

  6. 毫秒级百万数据分页存储过程(mssql)

    /****** Object: StoredProcedure [dbo].[up_Page2005] Script Date: 11/28/2013 17:10:47 ******/ SET ANS ...

  7. 超强windows10稳定Nginx绿色环境,可无限自定义PHP和mysql版本、同时运行N个版本

    转载自互联网, 小编发现最近PHPWAMP集成环境的作者Lccee,又更新了phpwamp8.8.8.8n版本 phpwamp8.8.8.8n一共集成了12个PHP版本和3个mysql版本,并且可以高 ...

  8. Template-Driven Forms 模板驱动式表单

    Angular 4.x 中有两种表单: Template-Driven Forms - 模板驱动式表单 (类似于 AngularJS 1.x 中的表单 ) Reactive Forms - 响应式表单 ...

  9. Codeforces Round #443 (Div. 2) 【A、B、C、D】

    Codeforces Round #443 (Div. 2) codeforces 879 A. Borya's Diagnosis[水题] #include<cstdio> #inclu ...

  10. 关于Mysql查询varchar类型错误问题

    因为后台所有表ID都是按照雪花算法生成的18位数字,需要对接到Android,Ios和H5,此时H5会出现字符超长溢出,所以直接把ID改为varchar类型. 如我的一张表ID为varchar(18) ...