JML规格单元梳理总结
前言 其实直到这个单元结束,对JML的理解也不是很深,对JML最直观的看法就是对着JML规格写代码很舒服,还有JML真的不怎么好写。 当然,针对这三次作业来谈,其实并不是很理解JML在这次作业中占据的主导地位,更像是给了我一份用JML语言写的代码功能说明书,然后由我自己来决定使用怎样的数据结构和算法来提升代码的性能。 所以,到了后来第三次作业,虽然初衷是考察对JML的理解和掌握,但实际上重心已经跑偏到对算法的挖掘和改造了,当然,我这个不知道怎么想的没有管算法的笨蛋随便实现了规格的功
同步(synchronized)
转载至:https://www.cnblogs.com/dolphin0520/p/3923737.html 一.什么时候会出现线程安全问题? 在单线程中不会出现线程安全问题,而在多线程编程中,有可能会出现同时访问同一个资源的情况,这种资源可以是各种类型的的资源:一个变量、一个对象、一个文件、一个数据库表等,而当多个线程同时访问同一个资源的时候,就会存在一个问题: 由于每个线程执行的过程是不可控的,所以很可能导致最终的结果与实际上的愿望相违背或者直接导致程序出错。 也就是说,当多个
面向对象第三单元博客(JML)
// demo/Graph.java
package demo;
import java.util.ArrayList;
public class Demo {
/*@ public normal_behaviour
@ ensures \result == lhs - rhs;
*/
public static int compare(int i, int j) {
return i - j;
第三单元总结——JML契约式编程
OO第三单元博客作业——JML与契约式编程 OO第三单元的三次作业都是在课程组的JML规格下完成。完成作业的过程是契约式编程的过程:设计者完成规格设计,实现者按照规格具体实现。作业正确性的检查同样围绕规格进行:主要验证作业是否严格按照规格实现。 课程组承诺如果作业严格实现规格,作业的正确性就没有问题。此即是契约式编程的意义之一:工程的每一个环节都有人负责,兼顾高效性和正确性。 JML基础 JML(Java Model Language)是一种建模语言,用形式化的符号语言对Java的类和方法进行
面向对象OONo.3单元总结
一,JML语言 1)JML理论基础:JML是一类语言,用来描述一个方法或一个类的功能、以及这个类在实现这个功能时需要的条件、可能改变的全局变量、以及由于条件问题不能实现功能时这个方法或类的行为,具有明了、描述清晰的特点 最主要的词语有: require:描述达到功能所需要的条件 ensures:描述不同的条件会产生什么结果 assignable:描述有哪些全局变量
精确选择识别png图片有像素的区域
/**
*
* *---------------------------------------*
* | ***精确选择识别png图片有像素的区域*** |
* *---------------------------------------*
**
* 编辑修改收录:fengzi(疯子、wu341、wgq341)
*
* 不会写代码,我是代码搬运工。
*
* 联系方式:QQ(493712833)。
*
* 随 笔: https://w
高斯消元与线性基小结
以前就学了高斯消元,但是学得零零散散很混乱,有必要系统地总结一下了。 高斯消元 学习博客:https://www.cnblogs.com/candy99/p/6653743.html 模板题:洛谷P3389 #include<bits/stdc++.h>
using namespace std;
const int N=100+10;
const double eps=1e-8;
int n;
double c[N][N],b[N];
bool Gauss() {
i
WRK内核编译调试环境搭建
阅读WRK源码,可以更深入的理解Windows内核原理。现将它的编译调试过程记录下来。 (一)准备工具: WRK-v1.2-kernel源码 Windows Server 2003 SP1 (32位)镜像,网址:https://msdn.itellyou.cn/ VMWare WorkStation 8 最新的Windbg,网址:http://www.windbg.org/ Windows 7 (64位)笔记本电脑 (二)配置流程 1.VMWare安装Windows Server 2003 i
5G在美国的打压中越挫越勇,运营商建造5G基站已经迫在眉睫。
5G在美国的打压中越挫越勇,运营商建造5G基站已经迫在眉睫。最近大家都应该被5G的时间刷屏了吧,最近美国又开启,封杀华为5G,因此国内5G不仅仅是在打压中颓废,而是开启全面加速推进,预计今年年底全部,实现带号入网5G,赶在世界的前面,全面实施5G。而要实现5G的普及,运营商们又要在重新建设基站,可是这样的时间我们等不及了,所以下半年5G基站建设任务会相当紧迫,可是在我们身边,智慧路灯就是一个微基站
关于链接总是被微信屏蔽封杀拦截的经验分享
微信是一个生活方式,朋友圈是用户分享和关注朋友们生活点滴的空间,微信公众平台是一个企业、机构与个人用户之间交流和服务的平台。一直以来,微信致力于为用户提供绿色、健康的网络生态环境。为了进一步优化微信用户的使用体验,更好地保障微信用户合法权益,大概有以下简单公示:诱导分享类内容诱导关注类内容H5游戏、测试类内容欺诈类内容违法经营及可疑服务类内容谣言类内容骚扰信息、广告信息及垃圾信息题文不符、内容低俗
hdu 3854 Glorious Array(线段树or树状数组)
版权声明:本文为博主原创文章。未经博主同意不得转载。 https://blog.csdn.net/qian99/article/details/32142847 题意:n个位置,每一个位置有个价值和颜色,颜色为0或1。定义两个位置的距离为两个点之间的价值的最小值,有两个操作,一个是将位置p的颜色取反,还有一个是查询当前序列有多少对不同颜色的位置之间的距离小于K。 思路:首先预处理一下。求出某个位置左边第一个比K小的数的位置lf[i]和右边第一个比K小的数的位置rn[i]。那么最初的答案就能够这
【Oracle 触发器】(2) 触发器的分类(语句级/行级)
insert into emp10 select * from emp where deptno=10; (会 select 出3条记录,插入进emp10中) 语句级触发器:针对是表 调用1次 行级触发器:针对是行 调用3次
java绘制国际象棋与中国象棋棋盘
JAVA API 中的绘制图形类的paint()方法,我们可以轻松绘制中国象棋与国际象棋的棋盘。详见代码; 一、中国象棋棋盘代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 import java.aw
打印两个有序链表的公共部分 【题目】 给定两个有序链表的头指针head1和head2,打印两个 链表的公共部分
简单题 1 package my_basic.class_3;
2
3 public class Code_10_PrintCommonPart {
4
5 public static class Node{
6 int value;
7 Node next;
8 public Node(int value) {
9 super();
10 t
(转)移动端开发通用坑
1、click300ms延迟? 讲道理,现在开发移动端基本是不会有这么一个问题的。但作为移动端以前的经典坑,我这里也拿出来说上一说吧。 移动设备上的web网页是有300ms延迟的,玩玩会造成按钮点击延迟甚至是点击失效。这是由于区分单击事件和双击屏幕缩放的历史原因造成的。但在2014年的Chrome 32版本已经把这个延迟去掉了,so you know。但如果你还是出现了300ms的延迟问题,也是有路子搞定的。 解决方案如下: 1.fastclick可以解决在手机上点击事件的300ms延迟 2.
今日推荐
周排行