摘要: 一.第四单元三次作业结构设计 1.第一次作业 第一次作业的架构设计较于第二次的和第三次的显得格外重要。因为在第一次实验的架构确定后,第二三次的实验就简单多了。由于本单元的测试用例都是首先给出该Uml图有关的信息,然后输入一些查询指令,所以在查询指令输入前各种状态就已经完全确定了。所以为了节约时间,我 阅读全文
posted @ 2020-06-19 21:54 darewolf 阅读(167) 评论(1) 推荐(0) 编辑
摘要: 一.JML理论基础及应用工具链 1.理论基础 原子表达式 \result:表示一个非void的方法执行后的返回值。 \old(expr):表示一个表达式expr在执行相应方法前的取值 \not_assigned(x, y, ...):表示括号内的变量在方法执行过程中是否被赋值。没有被赋值则返回tru 阅读全文
posted @ 2020-05-23 21:58 darewolf 阅读(205) 评论(3) 推荐(0) 编辑
摘要: 一.设计策略 在这三次作业中,为了线程安全的考虑,我所有的容器都采用了CopyOnWriteArraylist。加锁时,我对各个list加锁,而不对函数加锁,锁的结构较为简单不会出现嵌套等现象,也就从根源上解决了死锁问题。 1.第五次作业 第五次首次通过多线程来解决问题,我使用了经典的生产者-消费者 阅读全文
posted @ 2020-04-18 21:51 darewolf 阅读(142) 评论(1) 推荐(0) 编辑
摘要: 第一次作业 1.项目结构 本次类主要分为3个,main类,用于预处理的Preprocess类和用于拆解,求导并打印表达式的PowFunc类。 第一次的作业比较简单,不需要判断Wrong Format,只需要将表达式预处理成方便求导的形式然后求导就可以了。预处理过程主要分为以下几步: 1.去除空格 2 阅读全文
posted @ 2020-03-21 01:39 darewolf 阅读(184) 评论(1) 推荐(0) 编辑