自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 计算机系统安全 第8、9章作业

这确保了对象中的值是一致的。例如,如果用户在用户区域中加载并执行程序,DG/UX系统不允许用户程序写入到病毒防护区,因此用户区域的病毒无法更改病毒防护区中的可执行文件或其他文件,由于这样的禁止写操作的规则,该程序无法更改系统可执行文件。当某些东西未被分类时,对它的访问是不受限制的,即unclassified是公开级的文件,所有的人都可以获取到,包含某类别后,即使这个人无法获取其他类别的文件,但因为是公开级的,其他人也可与其共享这些他无法获取的文件,因此对于公开级设定类别是完全没有意义的。

2022-12-03 08:00:00 304 1

原创 哈工大计算机各课程实验参考代码&文档

目前包含计算机系统、数字逻辑与数字系统设计、Java语言程序设计。大作业(仅代码):自选题目:多功能显示器(功能详见B站视频)大作业(仅代码):自选题目:局域网联机狼人杀。4、系统控制台Shell模拟实现。1、初识汇编:计算机系统漫游。3、编程优化:模糊图像算法。

2022-10-15 16:04:57 689

原创 【软件构造】软件测试与异常处理(第2、12讲)

单元测试、集成测试、系统测试、回归测试、验收测试白盒测试黑盒测试测试用例 = 输入 + 条件 + 期望结果等价类划分+边界值分析n是正奇数:• 正数:>0、10、

2022-06-12 21:33:44 554

原创 【软件构造】设计易于复用和维护的软件(2)(第10-11讲)

纠错性、适应性、完善性、预防性- 高内聚、低耦合(圈复杂度、代码行数)# 10.1 五类设计原则:SOLID- SRP:单一责任原则:一个类一个功能一个原因变化- OCP:开放-封闭原则:扩展性开放、修改封闭(把不变的都放到父类型,变化的放到子类型,有变化不修改,而是创建新的类型)- LSP:Liskov替换原则- ISP:接口聚合原则(不能强迫客户端依赖于它们不需要的接口:只提供必需的接口)将大接口拆分成多个小接口,尽量不要使用UnsupportedOperationException。.

2022-06-12 20:07:39 133

原创 【软件构造】设计易于复用和维护的软件(1)(第9讲)

源代码、模块(类、接口)、库(包)、系统(框架)白盒复用:源代码可见,可修改和扩展,但需要对其充分了解。黑盒复用:源代码不可见,只能通过API调用,适应性较差,但简单清晰。白盒框架,通过代码层面的继承进行框架扩展黑盒框架,通过实现特定接口/delegation进行框架扩展封装、信息隐藏、继承重写、多态、重载、泛型、子类型、委派子类型可以增加方法,但不可删子类型需要实现抽象类型中的所有未实现方法子类型中重写的方法必须有相同类型的返回值或者符合co-variance的返回值子类型中重写的方法必须使用同样类型的参

2022-06-12 15:57:28 80

原创 【软件构造】设计安全高效的数据结构(3)(第8讲)

自反、对称、传递对象等价性:AF映射到相同的结果即等价。在外部,对两个对象调用相同的操作,结果都一样。当可变数据类型被放到Hash集合类中时,Hash类的equals不确定是不是真的。有可能两个相等集合类进行比较是真的,变更一个之后,还是真的。所以对可变类型来说,无需重写equals和hashCode,直接继承Object的两个方法即可。如果一定要判断两个可变对象看起来是否一致,最好定义一个新的方法。Date: 观察等价性,判断getTime的值是否相等。集合类:观察等价性,比较每一个元素是否equ

2022-06-12 14:31:50 82

原创 【软件构造】设计安全高效的数据结构(2)(第6-7讲)

ADT只描述方法参数和类型,不关心具体实现。ADT方法的分类:使用者使用ADT时无需考虑其内部如何实现,ADT内部表示(包括内部成员变量名等)的变化不应影响外部spec和客户端。开发者不能将ADT的内部变量泄露给使用者(表示泄露),以免使用者做恶意的修改。A集合:抽象空间,客户端可见的、使用的 如:String s = “123”R集合:表示空间,开发者使用的,如:char s[4]={‘1’,‘2’,‘3’}AF: R->A:满射、未必单射、未必双射(双射=单射&&满射),把开发者定义的表示形式转换

2022-06-11 13:41:57 78

原创 【软件构造】设计安全高效的数据结构(1)(第4-5讲)

Immutable:不变数据类型一旦被创建,其表示的值不可被改变(AF所映射的值,但如果是多射,可以在映射的象值不变的基础上,原象改变)。使用final+不变数据类型可以很大程度上确保不发生变化。其余的则是mutable的数据类型。常见的不可变数据类型有:所有的基本类型及其包装类、String。常见的可变的数据类型有:集合类(Set、Map、List等)、数组、StringBuilder、Date。一个对象数据类型的值就是引用。final类无法派生子类、final对象无法改变引用(指向的地址,但...

2022-06-09 16:41:02 100

原创 Java中使用正则表达式

迅速上手:在其他语言中会使用正则表达式请参考如下代码示例。[代码]如不会,以下是详细介绍一、正则表达式及其语法正则表达式是文本匹配的一种方法。一些常用的语法如下:. - 匹配除换行符以外的所有字符。\d,\w,\s - 匹配数字、字符、空格。\D,\W,\S - 匹配非数字、非字符、非空格。我iHIT - 匹配 我iHIT 整个字符串。...

2022-06-09 14:29:21 6313

原创 【软件构造】评价和管理软件的方法(第1、3讲)

追踪和控制软件的变化。SCI 软件配置项:变化的基本单元——文件。BL 基线:变化的稳定时刻——如某一个版本。CMDB:配置管理数据库——Git仓库。VCS:版本控制系统——Git。VCS的分类:本地、中心化、分布式。Git是一种分布式的软件配置/版本管理系统,分为本地工作区、本地暂存区、本地仓库和远程仓库。分支管理存储原理Git存储发生变化的文件,若某个文件没有变化,那新的commit可能还是指向上一个文件。...

2022-06-09 13:40:30 104

原创 哈工大计算机系统2022大作业:程序人生-Hello‘s P2P

第1章 概述... - 4 -1.1 Hello简介... - 4 -1.2 环境与工具... - 4 -1.3 中间结果... - 5 -1.4 本章小结... - 5 -第2章 预处理... - 6 -2.1 预处理的概念与作用... - 6 -2.2在Ubuntu下预处理的命令... - 6 -2.3 Hello的预处理结果解析... - 7 -2.4 本章小结... - 7 -第3章 编译... - 8 -3.1 编译的概念与作用... - 8 -

2022-05-22 00:00:00 864

原创 深入理解Java的基本概念:ADT&OOP的概念具体实现(3)

8、接口(interface)定义一个接口,来指定一个“要求”,让所有实现它的类都要完成接口指定的要求。譬如,可以在函数的参数定义接口,让其传入指定要求的类方法(这在一些语言中叫做回调函数callback);也可以是一个接口,有不同的实现方法进而写不同的类去实现,比如Java提供的集合类:List接口可以由ArrayList、LinkedList实现。一个接口中不可以含有非静态的属性,但可以含有静态属性。接口无法被创建,因此也没有构造函数。接口中的方法没有函数体,只有返回值、函数名和参数列表。

2022-05-17 15:02:59 91

原创 深入理解Java的基本概念:ADT&OOP的概念具体实现(2)

4、可见范围声明public:任何地方都可访问。protected:类的子类(后面会讲)及其实例对象可以访问。private:只有类(实例对象)的内部可以访问。可以用来修饰方法、属性和类。1)修饰类:包内的其他文件能否访问。2)修饰方法:类的外部能否使用该方法。值得一提的是:如果将所有构造函数声明为private,这个类将无法在外部构建实例对象!只可以通过这个类的静态方法来创建。3)修饰属性:类的外部能否访问、赋值这个变量。5、静态与非静态:类、属性、方法、对象1)对

2022-05-17 14:20:35 239

原创 深入理解Java的基本概念:ADT&OOP的概念具体实现(1)

1、可变数据类型与不可变数据类型不可变数据类型(immutable)是指一旦通过构造函数创建出来之后就不再对内部的成员变量改变(包括值和引用)的数据类,其余的则是可变数据类型(mutable)。常见的不可变数据类型有:所有的基本类型及其包装类、String。常见的可变的数据类型有:集合类(Set、Map、List等)、数组、StringBuilder、Date。2、设计ADT:一个类的方法可以分为以下几类1)constructor 构造器:构造函数。2...

2022-05-17 10:25:45 138

原创 哈工大2022形式语言与自动机期末试题

具体表述记不太清了,不过意思是这样的。每题10分1、Design a DFA contains both 01 and 10 as substrings.2、Design a NFA which has equal numbers of substrings 01 and 10.3、Design Regular Expression on {a,b}.(1) which has two aa's as substrings.(2) which is n...

2022-05-08 16:11:37 1737

原创 Java基础:处理异常(Exception)

在程序运行的过程中会遇到函数抛出的异常,程序就会停止运行,这篇文章介绍处理异常的方法,以使程序不会报错退出,转而执行异常处理程序。通过以下的结构即可对异常进行捕捉、处理:try{程序代码块} catch(异常类型 e){异常处理程序}异常类型是一种数据类型,可以在函数解释中查看:下图中第一行throws后表示的就是该函数会抛出的异常类型在下方的Throws展示了异常类型何时会被抛出Example下例是一个打印文本文件内容的函数,展示了针对File...

2022-04-26 16:58:43 1274

原创 Eclipse安装JUnit

1、下载junit的jar包:Download and Install · junit-team/junit4 Wiki · GitHub2、在要使用Junit的project名上,点击properties、java build path、libraries、classpath,点击Add JARs,添加刚刚下载的2个jar。

2022-04-18 13:13:53 2269

空空如也

空空如也

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

TA关注的人

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