自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 BUAA_OO_Unit4总结

通过这一单元的学习,我领会到了多线程编程中的一些基本思想:首先要明确哪些数据是共享数据,以及这些共享数据对哪些线程开放,然后,再通过对不同线程中访问了这些共享数据的语句块上锁的方式来实现安全访问。进一步地,我们也可以考虑将共享数据与线程行为分离,即,将共享数据单独提出来作为一个类,对访问该共享数据类的线程提供线程安全的访问方法。在本单元三次作业中,我采取了正向建模的开发方式,即,先绘制UML类图,设计好程序的整体架构,然后再用代码实现,并在写代码的过程中不断反思、修改架构设计的细节,最终高效地完成了任务。

2024-06-13 00:50:22 1396

原创 BUAA_OO_Unit3总结

本单元中,“图的维护”主要体现在修改图的过程中对TripleSum、BlockSum、CoupleSum等Network属性的维护,对BestAcquaintance等可以理解为Person属性的数据的维护,以及在修改Tag的过程中对TagValueSum、TagAgeVar等Tag属性的维护。为了分离规格与实现,我们首先要理解JML语言描述的规格,即,将JML语言转化为自然语言,然后,在自然语言的基础上设计数据结构与算法,实现代码。,再在这些方法中进行相应的维护,必要时可以在类中引入新的属性。

2024-05-17 16:26:27 1768

原创 BUAA_OO_Unit2总结

本单元的三次电梯作业整体上都采用了生产者-消费者模式:输入线程作为生产者,读取的请求作为产品,电梯线程作为消费者,存储请求的队列作为多线程可见的共享数据,将生产者与消费者联系到一起。在每一次作业中,我会依次分析当次作业的架构设计同步块的设置调度器设计与调度策略出现的bug以及一些值得注意的内容。

2024-04-20 18:42:49 650

原创 BUAA_OO_Unit1总结

语法解析后我们得到一个expr(表达式),调用该expr(表达式)的toPoly()方法,会将不同term(项)调用toPoly()方法后得到的Poly相加,最终得到一个与该expr等价的Poly。此后,通过Poly的toString()方法,我们最终得到了一个一般形式的字符串。在互测中,可以通过看他人代码来借鉴不同的架构,但很难看全细节,这导致了先研究代码再编数据的测试策略有点低效,所以我采用了直接测数据的测试策略,即:测试自己编造的极端数据 + 测试大量随机生成的数据。

2024-03-21 10:12:22 1369 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除