自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Debug调试

Debug调试Debugging的过程:重现->诊断->修复->反思Debugging的常用方法:假设-检验 收集bug相关数据,观察数据,作出bug原因的假设,决定如何验证,通过工具验证是否成立。诊断的几种策略:测量,分治,切片,寻找差异,调试器Debugging的常用手段:print,stacking tracing,memory dump,logging,断点调试...

2019-06-21 10:23:21 189

原创 健壮性与正确性

健壮性(Robustness)与正确性(Correctness)健壮性(Robustness):表示系统在不正常输入或不正常外部环境下仍能够表现正常的程度。当出错后,会退出并提示信息,或者容错并转为正常。一个具有良好健壮性的软件会让用户变得更容易,因为即使他们出错也可以容忍,因为程序内部已经有容错机制。对外部接口开放(倾向于健壮)。正确性(Correctness):表示程序按照spec加以执...

2019-06-21 10:15:21 615

原创 代码可理解性

代码可理解性代码可理解性的度量:1.所有标识符(类名、变量名、方法名等)的平均长度2.命名独特性比例3.代码复杂度4.代码行数(LoC)5.注释的密度(百分比)书写可理解性代码需要考虑的因素:1.命名规范2.代码行的最大长度、文件最大LoC3.注释4.代码的布局:缩进、空行、对其、分块等5.避免多层嵌套6.文件和包的组织...

2019-06-21 10:08:06 278

原创 SOLID设计原则

SOLID设计原则S->SRP 单一责任原则O->OCP 开放-封闭原则L->LSP Liskov替换原则I->DIP 依赖转置原则D->ISP 接口聚合原则1.单一责任原则一个类仅有一个责任,至多有1个原因使得一个类发生变化2.开放封闭原则对扩展性开放:模块的行为可扩展,从而该模块可表现出新的行为以满足需求的变化对修改封闭:模块自身原本的代码不应...

2019-06-19 18:23:58 224

原创 白盒框架和黑盒框架

白盒框架和黑盒框架从实现方式来看,白盒框架通过子类和重写方法实现扩展(继承),黑盒框架通过实现插件接口实现扩展(委派/组合)。从常用设计模式来看,白盒框架主要使用模板方法,而黑盒框架则通常使用策略模式或者观察者模式。从调用机制来看,白盒框架的子类型有main方法,但是framework拥有控制权。而黑盒框架则是插件加载机制加载插件(委派),framework拥有控制权。...

2019-06-19 18:11:01 373

原创 软件质量指标

软件内部/外部质量指标外部质量因素影响用户,内部质量因素影响软件本身和它的开发者,外部质量取决于内部质量外部质量:Correctness 正确性:按照spec执行,得到正确的结果,软件的行为要严格符合规约中定义的行为保证正确性:测试和调适、防御式编程,形式化方法(形式化语言)encapsulation, decentralization 封装、分散化Robustness 健壮性:针对...

2019-06-19 18:00:30 5251

转载 JAVA接口

Java接口接口与类相似点:1.一个接口可以有多个方法。2.接口文件保存在 .java 结尾的文件中,文件名使用接口名。3.接口的字节码文件保存在 .class 结尾的文件中。4.接口相应的字节码文件必须在与包名称相匹配的目录结构中。接口与类的区别:1.接口不能用于实例化对象。2.接口没有构造方法。3.接口中所有的方法必须是抽象方法。4接口不能包含成员变量,除了 static ...

2019-06-09 13:12:59 88

转载 JAVA各设计模式的关键点

Java各设计模式的关键点单例模式:某个类只能有一个实例,提供一个全局的访问点。简单工厂:一个工厂类根据传入的参量决定创建出那一种产品类的实例。工厂方法:定义一个创建对象的接口,让子类决定实例化那个类。抽象工厂:创建相关或依赖对象的家族,而无需明确指定具体类。建造者模式:封装一个复杂对象的构建过程,并可以按步骤构造。原型模式:通过复制现有的实例来创建新的实例。适配器模式:将一个类的方...

2019-06-07 14:27:26 122

原创 InputStream和OutputStream

Java的InputStream和OutputStreamInputStream:它的具体操作是使用File类找到一个文件,然后通过子类来实例化父类对象,之后进行读操作,把所有的内容都读到字符数组之中,读取其中的内容,最后关闭输出流OutputStream:OutputStream表示字节输出流,可以将java程序中的数据写到文件中。 OutputStream是所有字节输出流的顶层父类,是一个...

2019-06-07 14:06:18 394

原创 JAVA垃圾回收过程

JAVA垃圾回收过程第一步:标记。垃圾回收器在此时找到哪些内存正在使用,哪些内存没在使用。第二步:清除。删掉标记处的未引用的对象,内存分配器保留指向可用内存的引用,以供分配新对象。第三步:压缩。在删除了未引用的对象后,为了提升性能,可以将剩下的已经引用的对象放在一起,这样便于以后分配新对象。...

2019-06-07 13:01:12 282

空空如也

空空如也

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

TA关注的人

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