- 博客(5)
- 收藏
- 关注
原创 期末总结(四)
0.LSP原则 0)子类型可以增加方法,但不可以删除方法 1)子类型需要实现继承的抽象类型中的所有未实现方法 2)子类型中重写的方法必须有相同或子类型的返回值 3)子类型中重写的方法必须使用同样类型的参数 4)子类型中重写的方法不能抛出额外的异常 5)子类型的spec必须满足更弱的前置条件和更强的后置条件 1. Adapter模式 adapter模式用来将某个类或接口转换为客户端需要的方式,而不暴露其细节。基本原理在客户端和隐藏类之间加入一个接口,并由一个类实现该接口,在这个中间类的内部进行转换,并由客户端
2020-07-11 23:59:10 90
原创 期末总结(三)
0.数据类型 基本数据类型:int, long, byte, short, char, float, double, boolean 对象数据类型:Classes, interfaces, arrays, enums, annotations 区别: 0)基本数据类型只有值,无法与其他相同的值区分;对象数据类型有ID,可以与其他值区分。 1)基本数据类型是Immutable 的,不可变;对象数据类型有部分是mutable的,可变。 2)基本数据类型在栈中分配内存;对象数据类型在堆中分配内存。 3)对象数据类
2020-07-11 22:23:03 117
原创 期末总结(二)
0.SCM和VCS SCM: Software Configuration Management(软件配置管理) SCM常用来追踪和控制软件的变化,在SCM中SCI(是Software Configuration Item,软件配置项)是软件中发生变化的基本单元,如版本中控制的文件。baseline代表基线,即软件持续变化过程中的“稳定时刻”,例如版本。CMDB是配置管理数据库,用来存储软件的各配置项随时间发生变化的信息 +基线 VCS: Version Control System 在VCS中常出现的名词
2020-07-11 19:36:08 117
原创 期末总结(一)
0.多维度视图: 按阶段划分:构造时/运行时视图 按动态性划分:时刻/阶段视图 按构造对象的层次划分:代码/构件视图 BuildTime: 1)code-level,moment: 词汇:Lexical-oriented source code 源码 语法:AST( Abstract Syntax Tree )抽象语法树 语义:UML,描述需求和设计思想所在 2)code-level,period: 代码变化: Code churn,行的增加或减少,版本的变化 3) component-level,mo
2020-07-11 18:46:06 141
原创 关于多线程的一些见解
0.进程与线程: 在此之前,我们不妨先用简洁的语言来谈一谈线程与进程以及他们彼此之间的关系。 0)在大多数情况下,进程和应用是等同的,我们开启了一个应用的同时,也就意味着开启了一个进程,因此,我们有时候说进程=程序=应用,这一般也是没有错误的,当然,有些程序或应用在启动的时候往往可能不止启动一个进程,但至少要有一个。 1)不同的进程之间互不干扰,就像你在一段时间内可能专注于某一个应用,但你的电脑可能开着很多个程序,并行着很多个进程,当然他们依旧和谐共处,每个人有自己的地方(内存)并互不干扰,即便某个人出了问
2020-07-11 01:11:12 84
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人