自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 并发与线程安全(哈工大软件构造)

  在在本学期第七章,也是最后一章的学习中,我们学习了关于并发编程以及并发编程下维护线程安全的内容。下面在此介绍一些学习过程中较难理解的概念。并发  首先我们需要了解什么是并发。  并发意味着一个时间段中有多个程序都处于已启动运行到运行完毕之间,但在某个确定的时刻,有且仅有一个程序在处理器上运行。并发是效率不断提高的必然性,随着技术的发展,摩尔定律逐渐失效,只有通过并发才能更高一步地提高计算机的效率。  并发中涉及到线程的概念,初学时有许多人会将线程和进程混淆,在此我们做出区分:进程(Proce

2020-07-10 23:04:51 584

原创 面向正确性和健壮性的编程(哈工大软件构造)

  在第六章的学习中,我们重点讨论的软件的正确性和健壮性的问题,其中涉及到了错误与异常处理、断言与防御式编程、软件的调试、如何进行软件测试以及测试优先的编程原则。下面我就几个在学习过程中较为疑惑的知识点进行总结和介绍。Java中的 Checked Exception 和 Unchecked Exception  首先我们介绍异常 (Exception)的概念,异常即指程序执行过程中的非正常事件,导致程序无法按预想的流程执行。在程序遇到异常时,一般有两种处理方式:1. 将错误信息传递给上层调用者,并报告“

2020-07-10 12:14:26 248

原创 抽象数据类型及其表示不变量RI、抽象函数AF简介(哈工大软件构造)

  在软件构造课程学习的第三章中,我们学习了抽象数据类型(Abstract Date Type),其中有几个初学时较难理解的概念,在此做一总结。ADT中的方法分类  在一个ADT里设计的所有方法,大都可以分为以下四类:构造器(Creators):用于创建一个新的对象,主要表现为构造函数。典型的有Integer.valueOf()。生产器(Producers):通过接受同类型的对象以创建新的对象。典型的有String.contact()。观察器(Observers):获取ADT内部的某个信息,而不

2020-07-08 23:17:23 680

原创 面向对象设计的SOLID原则(哈工大软件构造)

  为了使软件有着较高的可维护性以及其他各方面的优质性能,在面向对象的编程过程中,我们需要有着良好的设计方案,在一些基本的编程原则下设计代码。在第五章的学习中,讲到了面向对象编程过程中的五大原则,简称为 SOLID 下面我们依次介绍。单一责任原则(Single Responsibility Principle, SRP)  SRP指明了,每一个类的职责要单一,即不能存在多个原因引起这个类的变化。通过职责与类的分离,降低系统的耦合度,提升系统内聚度,在维护过程中,尽可能小范围的修改代码。SRP的设计体现如

2020-06-27 12:25:41 213

原创 面向可维护性的设计模式(哈工大软件构造)

  在软件的发展周期中,随着时间的变化,软件的复杂度会得到很大的增长,我们需要对代码的维护付出很大的精力,以便其能适应各种变化,具有良好的可维护性,在之后的维护过程中以较小的成本对软件进行维护。  在第五章,我们学习了如何使软件具有较高的可维护性,并介绍了几种面向可维护性的设计模式,在此进行总结和分享。  首先介绍一种创造型模式(Creational Patterns):工厂方法模式(Factory Method Pattern)  解决的问题:解决了接口选择的问题。  解决方法:通过工厂父类定义

2020-06-27 10:05:09 443

原创 面向复用的设计模式(哈工大软件构造)

  在学习第四章的学习中,主要讲解了面向复用性的编程,其中介绍了许多面向复用编程的设计模式,需要我们多加注意,以及在实践中高效使用。

2020-06-21 09:35:20 176

原创 Java泛型中的协变和逆变(哈工大软件构造)

  在软件构造课程的进行中,讲到复用性和LSP原则的时候,提到了一些协变和逆变的概念,以及在特定的数据结构,如 数组 、Collections 、 泛型 中的协变和逆变情况。但在课堂上并没有完全理解,通过在课后查询资料,有一点收获,在此分享。协变和逆变?  简而言之,协变和逆变是用来描述类型转换前后的继承关系的两个概念。以A 、B表示类型,f(⋅)表示类型转换(f(A)表示A转换后的类型),≤表示继承关系(比如,A≤B表示A是由B派生出来的子类),其定义可概括如下:f(⋅)是协变(covariant)

2020-06-14 15:48:05 265

原创 Git入门安装以及简单操作(哈工大软件构造)

随着大二下半学期学校开设的软件构造课程的进行,课程要求我们开始学着使用Git和GitHub管理自己的代码并进行实验作业的提交,但对于之前没有使用了解过Git和GitHub的同学来说,刚开始会有一点难度。其实在这次实验中使用Git和GitHub的相关内容并没有特别难,只需要了解一些较为基础的内容就可以先完成这次实验,至于更多高效的操作可以在以后的使用过程中慢慢解决,学习本身就是一个遇见问题,再解决问...

2020-03-16 15:57:27 239

空空如也

空空如也

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

TA关注的人

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