- 博客(10)
- 资源 (1)
- 收藏
- 关注
原创 【软件构造】Java中IO的基本用法
先贴一下我在作业中用到的三种文件输入辅助类、三种文件输出辅助类public class BuffIn implements InHelp{ private BufferedReader bufferedReader; public BuffIn(String path) { try { bufferedReader = new BufferedReader( new InputStreamReader(new FileInputStream
2021-07-06 18:11:30
80
原创 【软件构造】Java中的字符串
String:这是一个不可变类,现使用现创建,适用于少量的字符串操作的情况StringBuilder:可变类,速度快、线程不安全,适用于单线程下在字符缓冲区进行大量操作的情况StringBuffer:可变类,速度慢、线程安全,适用多线程下在字符缓冲区进行大量操作的情况缓存池:String 类有一个对应的 String 池,也就是 String pool。每一个内容相同的字符串对象都对应于一个 pool 里的对象。这里涉及到等价性的问题,有几个地方需要特别注意1.初始化String
2021-07-06 18:10:31
61
原创 【软件构造】自动装箱、自动拆箱
自动装箱:把基本类型用它们对应的引用类型包装起来,使它们具有对象的特质,可以调用toString()、hashCode()、getClass()、equals()等方法。 如下: Integer a=3;//这是自动装箱 其实编译器调用的是static Integer valueOf(int i)这个方法,valueOf(int i)返回一个表示指定int值的Integer对象,那么就变成这样: Integer a=3;=>...
2021-07-06 18:09:33
114
原创 【软件构造】Java常见设计模式总结
设计模式六大原则1.开放封闭原则:对扩展开放,对修改封闭,意即程序拓展时不要动原有的代码2.LSP原则:任何基类可以出现的地方,子类一定可以出现3.依赖倒置原则:使用接口,依赖于抽象而不是具体4.接口隔离原则:为了解耦,使用多个相互隔离的接口5.迪米特法则:一个实体应当尽量少地与其他实体之间发生相互作用,使得系统功能模块相对独立。6.CRP法则:尽量使用合成/聚合的方式,而不是使用继承。分类1.创建型模式(在创建对象的过程中尽量隐藏创建细节,不直接使用new)工厂模式
2021-07-06 18:08:47
80
原创 【软件构造】第9章知识点总结
1.线程与进程进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。线程:是进程的一个执行单元,是进程内部调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。线程生命周期:一个程序至少一个进程,一个进程至少一个线程。线程执行开销小,但是不利于资源的管理和保护。线程适合在SMP机器(双CPU系统)上运行。进程执行开销大,但是能够很好的进行资源管理和保护。进程可以跨机器前移。区别:地址空间:同一进程的线程共
2021-07-06 18:08:04
155
原创 【软件构造】第8章知识点总结
1.内存管理模型①以对象的方式管理内存,每个对象占据内存中连续的一段,分配在堆中。对象引用可以指向堆中的其他对象。非基本数据类型的对象等价于数据引用。②基于栈和堆的内存管理都是动态分配,即在运行时动态分配内存,建立新的内存对象。而静态内存分配在编译阶段就已经确定好了内存分配。③每个线程都有其线程栈,各自管理,彼此之间不可见。多线程之间传递数据,通过复制而非引用。栈无法支持复杂的数据类型。所有的局部的基本数据类型都在栈上创建。④本地方法栈、PC⑤Method Area(hotspot中称为
2021-07-06 18:07:09
110
原创 【软件构造】6-7章知识点总结
1.可维护性的度量指标圈复杂度:代码控制流执行路径的数量。代码行数。可维护性指数:根据循环复杂度、代码行数、注释密度等计算的一个指数。继承的层数。类之间的耦合度。单元测试覆盖度。2.内聚、耦合内聚,指的是同一个模块之间的相互联系耦合,指的是不同模块之间的相互联系高内聚、低耦合,指的是各个模块之间的独立性要强,模块内部的相关性要强、尽量只负责一项任务。3.正则语法、正则表达式首先要注意,“\”这个字符在java里是转义字符,在正则语言里也是转义字符,这就导致了“
2021-07-06 18:06:26
119
原创 【软件构造】4-5章知识点总结
1.里氏替换原则里氏代换原则是面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。LSP 是继承复用的基石,只有当派生类可以替换掉基类,且软件单位的功能不受到影响时,基类才能真正被复用,而派生类也能够在基类的基础上增加新的行为。类型替换:①子类型只能增加而不能删除方法②子类型需要实现抽象类中所有未实现的方法③子类型中重写的方法,它的返回值必须是相等类型或是协变类型。④子类型中重写的方法,它的返回值必须是相等类型或是逆变类型(java不支持)。
2021-07-06 18:05:43
59
原创 【软件构造】第3章知识点总结
抽象数据类型+面向对象编程基础1.基本数据类型、引用数据类型基本数据类型1、在基本数据类型中,除了boolean类型所占长度与平台有关外,其他数据类型长度都是与平台无关的。比如,int永远占4个字节(1 Byte = 8 bit)。2、void不是基本数据类型3、基本数据类型的默认值仅在作为类中属性时生效,在方法内部必须先对基本数据类型变量赋值后才能使用,否则编译不通过。引用数据类型引用类型(reference type)指向一个对象,不是原始值,指向对象
2021-07-06 18:04:48
131
原创 【软件构造】1-2章知识点总结
1.软件构造的多维度视图按阶段划分:构造时/运行时视图按动态性划分:时刻/阶段(形态)视图按构造对象的层次划分:代码(逻辑)/构件(物理)视图2.阶段划分、各阶段活动 时刻 阶段 代码 构件 代码 构件 编译时 源代码、抽象语法树、类和接口的属性、方法 包、文件..
2021-07-06 18:03:05
62
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人