摘要: BUAA OO 第四单元总结 〇.综述 第四单元的主题是UML图解析器。个人认为第四单元最大的难点在于对UML图的树形结构把握清晰,同时按照面向对象的思想构造自己的类与数据结构。 一.架构设计 本单元的架构设计方面,~~迫于checkstyle的限制~~,采用模块化设计思想,对于三大任务:预检查、数 阅读全文
posted @ 2022-06-29 15:57 Lingo30 阅读(70) 评论(0) 推荐(0) 编辑
摘要: BUAA OO 第三单元总结 〇.综述 第三单元训练的主题是规格化设计。在本单元的实现过程中,笔者认为是一个**“戴着镣铐跳舞”**的过程:要在给定的JML的规格约束下,以灵活的数据结构实现规格给定的功能。在这个过程中,JML规格约束给出了逻辑正确性的保证,而数据结构的具体实现是程序性能的决定因素。 阅读全文
posted @ 2022-06-06 15:37 Lingo30 阅读(15) 评论(0) 推荐(0) 编辑
摘要: BUAA OO 第二单元总结 〇.综述 在第二单元的三次迭代作业完成后,笔者认为本单元考察的重点主要有两个:1.以实际问题“电梯调度”为背景初识多线程问题,并对多线程中的线程安全问题着重考察;2.从实际场景中获取灵感调整调度策略,进一步体会“面向对象”思想在问题空间向解空间映射过程中发挥的巨大作用。 阅读全文
posted @ 2022-05-03 11:04 Lingo30 阅读(47) 评论(1) 推荐(0) 编辑
摘要: BUAA_OS_lab3-1 学习笔记 Author: Lingo 〇.mmu_map 一.变量 1. struct Env - 进程控制块 struct Env { struct Trapframe env_tf; // Saved registers LIST_ENTRY(Env) env_li 阅读全文
posted @ 2022-04-27 23:37 Lingo30 阅读(142) 评论(0) 推荐(1) 编辑
摘要: BUAA OO hw6架构简述 0.UML 1.关键类 管理纵向移动的等待队列和横向移动的等待队列的两个类:Building与Floor。两者本质都是生产者-消费者模型中的Tray,属于线程间的共享对象,需要对各方法进行synchronized保护。 具体实现方面,两者都采用了以ArrayList< 阅读全文
posted @ 2022-04-17 22:25 Lingo30 阅读(77) 评论(0) 推荐(0) 编辑
摘要: BUAA OO 第一单元总结 〇.综述 第一单元以解析、展开、合并表达式为背景,渗透了许多面向对象的基本思想。在实现方法上,以递归下降法为核心进行解析与计算。此外,三次作业还以迭代的形式对代码的耦合性与可扩展性进行了约束。在具体的实现过程中也蕴含着许多小的技巧方法,需要熟练掌握与灵活运用。 一.架构 阅读全文
posted @ 2022-03-25 16:42 Lingo30 阅读(102) 评论(1) 推荐(1) 编辑