自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第十章 并行/分布式 GUI

进程与线程Process(进程)(2) ThreadWays to create a thread: Subclass Thread Interleaving and Race Condition交错和竞争 Interleaving and Race Condition交错和竞争时间分片是由OS自动调度的Shared Memory among Threads(内存共享模式)(3) Race Con...

2018-06-21 15:24:50 371

原创 第八章 面向性能的构造技术

 Performance Metrics 性能度量指标  Memory Performance 存储性能 – Memory Allocation:  Static, Stack-based, and Heap-based – Java Memory Model – Garbage Collection and its Basic Algorithms: Reference Counting, M...

2018-06-20 16:13:18 319

原创 第七章 面向健壮性的构造

Robustness 健壮性  健壮性:系统在不 正常输入或不正常外部环境下仍能够表现正常的程度  处理未期望的行为和错误终止 即使终止执行,也 要准确/无歧义的向用户展示全面的错误信息Correctness 正确性正确性:程序按照spec加以执行的能力,是最重要 的质量指标!正确性倾向于直接报错(error),健壮性则倾向于容错(fault-tolerance) Reliability(可靠性)...

2018-06-18 21:58:29 447

原创 第六章 面向可维护性的构造(第二部分)

(接上一部分)Façade vs. Command均强调对某个复杂系统内部提供的功能的“封装”,对外提供简单的 调用接口,简化client的使用,“隐藏”细节 。Command:强调将指令封装为了“对象”,提供了统一的对外接口Façade:没有显式的“对象”,仍然通过类的方法加以调用。 Chain of responsibility(职责链模式) 针对一个请求,可能有多个处理模块各种不确定 情况存...

2018-06-18 21:35:33 232

原创 第六章 面向可维护性的构造(第一部分)

可维护性的常见度量指标可维护性:可轻松修改软件系统或组件,以纠正故障,提高性能或其他属性,或适应变化的环境。除此之外,可维护性还有其他许多别名:可扩展性(Extensibility)、灵活性(Flexibility)、可适应性(Adaptability)、可管理性(Manageability)、支持性(Supportability)。总之,有好的可维护性就意味着容易改变,容易扩展。软件可维护性的五...

2018-06-18 19:51:32 591

原创 第五章 面向可复用的构造

Programming for reuse 白盒复用:源代码可见,可修改和扩展 黑盒复用:源代码不可见,不能修改

2018-06-17 22:40:48 294

原创 第三章 ADT OOP

基本数据类型和对象数据类型基本数据类型:int, long, byte, short, char, float, double, boolean对象数据类型:String   BigInteger 还有什么class Array等等 都是。 静态类型检查和 动态类型检查静态类型检查:可在编译阶段发现错误,避 免了将错误带入到运行阶段,可提高程序正 确性/健壮性 包括  语法错误 类名/函数名错误 ...

2018-06-17 11:17:09 281

原创 第二章 软件的生命周期以及git的一些东西

软件的构造过程: 分为线性过程迭代过程具体如图:SCM: 软件配置管理:追踪和控制软件的变化 基线:软件持续变化过程中的“稳定时刻”(例如:对外发布的版本)CI:软件配置项:软件中发生变化的基本单元(例如:文件)CMDB:配置管理数据库 存储软件的各配置项随时间发生变化的信息 +基线VCS:Local VCS 本地版本控制系统: 仓库存储于开发者本地机器 无法共享和协作Centralized V...

2018-06-16 21:23:28 175 1

原创 第一章 软件构造多维视图以及内部外部的质量指标

软件构造的四个视图八个维度: Component-level简单的说明下 在buildtime的阶段  code-level        对于时刻 那么就是 源代码 ,类,属性和方法,源代码如何由基本的程序快进行逻辑的组织。对于一段时间就是代码变化。 Component-level  在时刻的时候是  包 源文件 链接库,测试项目,也就是软件的实体。对于在一段时间:就是各个软件实体随时间的变化。...

2018-06-11 22:37:00 390

原创 Decorator(装饰器模式)

主要功能概述:          动态地给一个对象添加一些额外的方法功能。就增加功能来说,Decorator模式相比生成子类更为灵活。对单个对象需要任意的或动态的可组合扩展。      解决方案:实现作为扩展对象的公共接口,添加功能,但将主要责任委托给基础对象...

2018-05-08 22:01:16 147

原创 Strategy 策略模式

问题:   对于特定的任务存在不同的算法,但是客户端可以在动态时间上下文中在运行时间之间切换算法;例如:对客户列表进行排序(冒泡排序、合并排序、快速排序)解决方案:为算法创建一个接口,并为算法的每个变量使用一个实现类。优点:易于扩展的新算法实现-从客户端上下文中分离算法。 具体的案例分析:    问题: 这里有三个算法,对这三个算法使用策略的设计模式,使得这三个散发可以在客户端随便切换:那么首先我...

2018-05-07 22:41:16 122

原创 浅谈 extends和implements

主要不同之处           通过实验三,我了解到,implements和extends 前者通过声明这个类实现一个或者多个接口,而后者通过继承父类,拥有了父类的功能,可以重写父类的方法,也可以不重写。相对于implements而言,它是实现接口,可想而知,实现接口(interface)一般为空的,所以你一般要重写接口所有的方法。一个类不能extends多个类,但是可以通过接口然后让一个类去i...

2018-05-07 22:16:50 7921

原创 关于java抽象类

一 什么是抽象类?  普通的类具有比较完善的功能,它可以直接直接产生实例化对象。而抽象方法具有抽象的方法,其实,就是因为有了抽象方法,一个“普通类变成了一个抽象类”。        抽象方法在抽象类中可以定义,但是可以不写,就是直接可以只有一个函数名称。什么时候实例化这个抽象类的时候。可以在子类中重写具体的这个方法。二抽象类的使用      在我做的实验三中,我们主要内容是构造一个可复用性比较高的...

2018-05-05 21:59:38 109

原创 java 中在Lab2_实验 中遇到的问题 关于equals hashcode 和==

==  我在实验中碰到了这样的一个问题,在进行两个类的比较的时候,我错用成了==,这导致我的程序一直出现bug,其原因就是这个if语句一直不能够通过。    关于==首先要明确java中的基本的数据类型 他和C语言的个人感觉没有区别 byte,short,char,int,long,float,double,boolean  对于比较他们,我们用 ==比较的是他们的值。而对于类,数组 我们用==去...

2018-03-27 22:02:54 145

原创 对于git的学习和使用

Git是用来干什么的?  git是非常先进的分布式版本控制系统。什么是版本控制系统?版本控制系统简单通俗的来讲就是:当你对编写一个文件的时候,你需要不断的修改去完善这个文件,但是,不管的去修改和完善需要你不断的去“另存为”这样导致你的文件很乱,你甚至不知道最终的文件是那个。还有你的修改过程(你什么时候修改了文件的哪几行)这就很痛苦!      于是分布式版本就出现了,它可以记录你的文件的每一次改动...

2018-03-16 10:46:21 137

空空如也

空空如也

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

TA关注的人

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