第三单元总结 Tags: OO JML实现方法 JML是一种用于形式化表述程序规格的语言,其具体实现方法是通过逻辑推理语言对程序的输入输出以及数据交互做出限制,来保证程序按照设计者的预期运行。同时它也被用来提高代码的可维护性和可读性,通过针对已有的代码写出其JML规格,有利于维护该代码。 在本文中, ...
分类:
其他好文 时间:
2021-06-02 16:31:20
阅读次数:
0
JML单元总结 本单元的重点在于理解规格描述,并在其基础上采用最优的解法尽可能地提高程序的效率,因此本文将从以下四个方面进行总结。 设计策略(思路分析)—— 问题1 容器选择以及性能问题(具体实现)—— 问题3&4 优化结果 —— 问题5 基于JML规格来设计测试的方法和策略 —— 问题2 设计策略 ...
分类:
其他好文 时间:
2021-06-02 16:08:33
阅读次数:
0
BUAA OO第三单元总结——JML规格 JML规格 JML(Java Modeling Language) 是用于对 Java 程序进行规格化设计的一种表示语言。JML 是一种行为接口规格语言(Behavior Interface Specification Language,BISL),基于 L ...
分类:
其他好文 时间:
2021-06-02 15:32:43
阅读次数:
0
北航oo第三单元总结 基于JML设计总结 JML主要由方法规格和类型规格组成。 方法规格包括前置条件、后置条件和副作用范围的限定。前置条件可以用来区分该方法不同的行为(正常或异常),后置条件就是这个方法执行完后的结果,副作用范围限定规定了这个方法运行的过程中哪些元素可以被改变。 类型规格分为不变式和 ...
分类:
其他好文 时间:
2021-06-02 15:13:27
阅读次数:
0
本单元是基于JML规格来实现对社交关系的模拟和查询,整体架构与设计都是官方给出。在实现过程中,我深感JML是一个非常适合开发的形式化规格语言。尤其对于团队项目的开发,用JML可以清晰规定每一部分的代码要求,程序员在实现时仅需思考在此基础上如何提升性能,而不用为架构设计发愁,体验极佳。 设计策略 由于 ...
分类:
其他好文 时间:
2021-06-02 15:07:31
阅读次数:
0
一切皆对象? 学过Java都知道,Java中有8个基本类型,其余的都是继承自Object类的引用类型。方法内的基本类型变量会在栈上分配,而引用类型会通过逃逸分析来决定在栈上分配或堆上分配。Java中关于类和对象是针对引用类型而言的。 但在Python中,OO的思想被彻底的实现了——Python中一切 ...
分类:
编程语言 时间:
2021-05-24 08:47:03
阅读次数:
0
一、前言 这次题目集比前三次题目集难度明显提升了很多,获得的分数也少了很多,甚至有一次不及格。幸亏后面老师降低了难度,不然我就要直接挂了…… 题量上虽然后面可能会多一些,但这也是为了我们能够更多的受到训练,也在承受范围之内。 这次三个题目集主要是考察我们对于聚合,继承及多态的理解与操作,第六次题目集 ...
分类:
其他好文 时间:
2021-05-04 15:55:15
阅读次数:
0
oo_第二单元总结 需求:乘客不定时到达,需模拟电梯运行,并支持实时添加电梯。电梯有种类之分,不同种类的电梯运行速度、载客量、可抵达楼层范围均有差别。 设计策略 容器类 FloorQueue 代表单个各楼层的请求队列 Floors 线程安全类,以楼层结构储存了整栋楼的请求,封装了addPersonR ...
分类:
其他好文 时间:
2021-04-27 15:22:16
阅读次数:
0
BUAA OO 第二单元总结 前言 ?本单元我们开始学习多线程程序设计。这对于我来说是一个全新的领域,在这之前我对于多线程这一方面几乎没有任何了解,因此这需要我继续认真学习。本单元需要我们模拟电梯系统的运行,这一个典型的生产者-消费者模型,具有清晰的结构,能够很好地让我们学习多线程相关知识,体会多线 ...
分类:
其他好文 时间:
2021-04-27 14:26:26
阅读次数:
0
(1)同步块的设置和锁的选择,锁与同步块中处理语句直接的关系 设置Elevator(电梯对象)和Input(读入方法)两个线程,同步运行。 为了避免电梯在无需工作时轮询,将电梯的行为用synchronized封装起来,当满足“请求队列为空”、“电梯内无乘客”和“输入未停止”时,电梯用wait()停止 ...
分类:
其他好文 时间:
2021-04-26 13:59:01
阅读次数:
0