自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HIT软件构造期末复习

已搬家至此

2020-06-14 21:08:11 482

原创 HIT软件构造《设计模式》部分总结

根据HIT开设的软件构造课程内容作此总结

2020-04-22 11:45:44 254

原创 攻防世界(pwn)echo_back writeup

直入主题

2020-04-10 11:57:48 566

翻译 【MIT软件构造】Equality

引言由前文知java提供了抽象数据类型ADT,使数据类型不再表现于具体属性,而表现于ADT在用户眼中的特征。可以想到 ,定义并阐明ADT的相等关系是很有必要的。等价关系一个等价关系E具有如下性质自反性:E(t, t) ∀ t ∈ T对称性:E(t, u) ⇒ E(u, t)传递性:E(t, u) ∧ E(u, v) ⇒ E(t, v)显然,我们定义的相等关系应该是一个等价关...

2020-04-07 19:07:42 283

翻译 【MIT软件构造】ADT Patterns: Interfaces, Generics, and Enums

接口(Interfaces)基本概念不再赘述,值得注意(记住)的有几点:接口不应该有构造函数只有静态方法才能拥有方法体接口实现不能破坏表示不变性接口实现可以添加接口没有的方法,但是不能缺少接口声明的方法接口实现不应该违背接口规约(比如接口规约声明为不可变类型,但在实现类里加入了mutator)子类型(subtype)a是b的子类型,则a要么implement b,要么exte...

2020-03-31 20:50:41 172

原创 软件构造lab2心得与体会

小白菜,又白又菜

2020-03-30 19:55:08 268

翻译 【MIT软件构造】Abstraction Functions & Rep Invariants

不变量(Invariants)对于一个ADT,在它的整个生命周期中都应保持一个性质是不变的,这个性质便是不变量。如前文提到的类的不变性(Immutability)就是一个不变量,指在整个ADT的生命周期中,这个类的属性值均不应改变表示暴露(representation exposure)对于下列一个Tweet类,我们说它是存在表示暴露的,即这个ADT的属性暴露给了用户/** * This...

2020-03-29 20:39:16 242

翻译 【MIT软件构造】Abstract Data Types

Java访问权限对于类:public:可以被其他任何文件访问package-private(默认):只能在这一个包中被访问对于成员:ADT是什么抽象数据类型,包括抽象化(Abstraction)、模板化(Modularity)、封装性(Encapsulation)、信息隐藏性(Information hiding)、责任分离化(Separation of concerns),以达到减...

2020-03-28 22:44:59 241

翻译 【MIT软件构造】Designing Specifications

规约的评判维度确定性(deterministic):对于确定的输入,规约规定的输出的确定性declarativestrong确定性考虑下列两个spec的区别static int findExactlyOne(int[] arr, int val)requires: val occurs exactly once in arreffects: returns index i suc...

2020-03-25 14:17:50 176

翻译 【MIT软件构造】Specifications

行为等价性在某个所给的规约情况下,两个程序的表现在用户看来是完全相同的,称为行为等价性。规约作用:帮助程序员协作、明确目标,作为用户的使用说明。同时程序的具体实现用户不需要知道,起到了保护的作用原则:“你若违反规则,我便不负责任”构成:方法声明+先决条件+结果说明static int find(int[] arr, int val)requires: val occurs exa...

2020-03-24 20:21:38 322

翻译 【MIT软件构造】Static Checking & Mutability & Immutability

java检查静态检查:在程序运行之前会自动发现该错误。动态检查:执行代码后会自动发现该错误。不检查:该语言根本无法帮助您找到错误。静态方法public class Hailstone { /** * Compute a hailstone sequence. * @param n Starting number for sequence. Assumes ...

2020-03-24 19:06:50 157

原创 【Java】杂0x00

利用java优先队列创建最大堆:PriorityQueue<Integer> queue = new PriorityQueue<>((o1, o2) -> o2 - o1); // 最大堆①lambda表达式在java8后引入,可将函数直接写入参数表,提高了代码紧凑性//接收参数o1,o2,返回o2-o1(o1, o2) -> o2 - o1更...

2020-03-23 16:48:00 84

原创 Maven构造jar包

Maven安装与使用安装网站:http://maven.apache.org/install.html安装后根据存放位置添加环境变量如下并添加path变量然后在cmd中就可以看到maven安装成功了...

2020-03-05 12:18:42 116

原创 软件构造lab1心得与体会

为响应号召(雾秉承着好记性不如烂笔头的意念作此体会

2020-03-03 16:19:06 211

原创 攻防世界(pwn)Recho(XCTF 3rd-RCTF-2017) writeup

深感本题扩充了本人的知识面,遂作文记录下来

2020-02-27 12:57:43 1214 1

原创 HITICS大作业

计算机系统大作业计算机科学与技术学院2019年12月摘 要本文以一个非常简单的hello程序为载体,深入浅出地展示了程序在linux系统上的整个生命周期,并基于这个过程较为详细地分析了其中涉及到的linux系统的各种软件与硬件的管理方式,包括C程序编译、链接过程、计算机存储体系、异常控制流、虚拟内存系统等几个方面。随着分析的进行,我们能在整体的层次上看清每个程序是如何运行的,同时也不失对...

2019-12-26 21:56:08 369

空空如也

空空如也

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

TA关注的人

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