- 博客(10)
- 收藏
- 关注
原创 软件构造笔记7
这章主要介绍并行首先区分进程和线程,进程通常独占计算机的全部资源,不共享内存,线程共享内存,每个应用至少有一个线程java创建线程有俩种方法,一种是直接继承thread类,重写run方法,另一种是实现runable接口,实现run方法,启动线程时应该调用start方法java提供了interrupt方法来中断线程,但实际上代码收到信号并不会停止运行,但当线程正处于sleep时接到interrupt信号会抛出异常,为了不无视interrupt信号,我们可以用while或者if语句判断一下是否收到信号,决
2020-07-11 20:12:08
121
原创 软件构造笔记6
本章主要面向程序的健壮性,正确性保证了程序的正常运行,而健壮性提高了程序的容错能力,当用户传入了一个错误的数据,或者错误调用,我们不希望直接退出,而是尽力正确运行,并提示用户错误信息,这就需要异常机制程序运行中可能产生错误和异常,他们都是可抛出的,throwable是他们的父类,其中error是用户无能为力的,runtime exception通常是可以避免的,他们二者合称为unchecked异常,就是指不需要用户去捕获处理他们,而其他的exception就需要用户提前声明或者捕获处理。try-catc
2020-07-11 19:53:27
133
原创 软件构造笔记5
本章主要面向软件构造的可维护性面向对象设计有五个基本原则:单一责任原则:即每个类的责任应该是单一的,不应有多于1个的原因使得一个类发生变化,如果有应该分开开放-封闭原则:程序应该是对扩展开放的,对修改是封闭的,使用接口可以帮助实现Liskov替换原则:这个前面有提到过,不再赘述依赖转置原则:高级模块不应该依赖于低级模块。 两者都应该取决于抽象,抽象类不应该依赖于具体类接口聚合原则:客户端不应依赖于它们不需要的方法创造性模式工厂模式:在创建类的时候,使用工厂方法模式可以很方便,并且利用
2020-07-10 23:31:03
168
原创 软件构造笔记4
第四章主要内容是面向可复用编程,以及介绍了几个设计模式复用有很多种方式,有对代码的复用,对模块的复用,以及对框架的复用等,对框架的复用分为黑盒框架与白盒框架,白盒框架通过继承和动态绑定实现可扩展性。黑盒框架通过为可插入框架的组件定义接口来实现可扩展性并通过定义符合特定接口的组件来复用现有功能。设计可复用软件可通过设计可复用类来实现,可复用类要遵循Liskov替换原则,更强的不变量,更弱的前置条件,更强的后置条件。可通过继承实现对类的复用,同时设计一个好的接口会产生更强的作用,类的设计:尽量减少可变性,
2020-07-10 18:04:03
124
原创 软件构造笔记3
第一章回答了如何从不同维度分析软件,以及什么是高质量的软件,第二章回答了软件构造的生命周期与构建模型,第三章主要介绍ADT和OOP数据类型java中分为基本数据类型与抽象数据类型,基本数据类型就是平时使用的int,double等,抽象数据类型就是具体的类,如String,二者主要区别是基本数据类型储存在栈中,抽象数据类型储存在堆中,并且基本数据类型是不可变的,只有值,无ID,抽象数据类型有的可变,有的不可变,既有值也有ID,并且java中的自动装箱机制能够帮基本数据类型自动转化为对象数据类型静态检查和
2020-07-10 14:35:51
97
原创 软件构造笔记2
这篇笔记主要记录第二章的内容,今天重新回顾了一下第二章的知识首先完成一下第一章笔记没有记录的部分:软件的质量指标软件的质量指标包括外部质量指标和内部质量指标,外部指标主要是对用户来说的,比如程序运行的快慢、程序的容错能力等,而内部质量指标主要针对程序员,程序内部的内聚、耦合如何啊等。显然,外部指标更为重要,但外部指标往往取决于内部指标正确性:显然这是软件最至高无上的指标,如果无法保证正确性的话程序就没有任何意义了,保证程序正确性的方法有1)分层:就是软件的层次划分开,并保证每层的正确,并假设下层也是
2020-07-09 23:47:51
107
原创 软件构造笔记1
今天刚刚全部看完老师的视频,总结一下笔记第一章:第一章的重点是软件构造的多维视图,总共有三个维度:所以这三个维度可以划分为八种类型(1)build-time moment code-level是基于词汇的半结构化源代码,半结构化是指近乎自然语言的风格+遵循特定的编程语法,前者方便程序员,后者方便编译器。语法层面指面向语法的程序结构,具体例子有抽象语法树(AST)语义层面指面向语义的程序结构,语义是指源代码具体想实现什么目标。具体例子有使用类图Class Diagram(UML)来描述 i
2020-07-08 20:59:06
209
原创 软件构造Lab1总结
Fundamental Java Programming and Testing实验感想P1P2P3实验感想虽然写实验一的总结已经是实验一结束好几周,实验一和现在的实验比起来有点小巫见大巫,但我还是忍不住吐槽一下,这门课对于一个转专业且没什么Java基础的人实在是不太友好 ,实验一给了我们一个很好的开头,算是一个友(can)好(ren)的过渡,P1的n阶幻方其实理解起来很简单,需要提前了解一下...
2020-05-01 20:04:55
299
原创 eclipse出现error:A JNI error has occureed,please check your installation and try again
最近在使用eclipse时出现错误error:A JNI error has occureed,please check your installation and try again,并且删掉之后又弹出一个对话框,程序报错巴拉巴拉挺长的,百思不得其解,试遍了网上各种方法都不好使幸得一位大神指点,我是因为删掉了之前的JDK,换了一个JDK版本,再打开eclipse出现的问题,如果不是这个原因还请...
2020-03-07 20:15:01
3184
4
原创 Java中int和integer的区别
Java中有着自带的基本数据类型int,但是今天在学习过程中发现还有integer这种类型,int i=1;和integer i=1;表面上达到的效果是一样的,由此深入探究一下二者的区别
2020-03-07 19:55:23
252
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人