期末复习重点及课程心得

Posted szjk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了期末复习重点及课程心得相关的知识,希望对你有一定的参考价值。

1-2章

? 软件构造的多维度视图
? 软件构造的阶段划分、各阶段的构造活动
? 内部/外部的质量指标
? 软件配置管理SCM与版本控制系统VCS
? Git/GitHub
第3章
? 基本数据类型、对象数据类型
? 静态类型检查、动态类型检查
? Mutable/Immutabl
? 值的改变、引用的改变
? 防御式拷贝
? Snapshot diagra? Specification、前置/后置条件
? 行为等价性 ? 规约的强度
? ADT操作的四种类型
? 表示独立性 ? 表示泄露
? 不变量、表示不变量RI
? 表示空间、抽象空间、AF
? 以注释的形式撰写AF、RI
? 接口、抽象类、具体类
? 继承、override
? 多态、overload
? 泛型
? 等价性equals()和==
? equals()的自反、传递、对称性
? hashCode()
? 可变对象的观察等价性、行为等 价性
 
第4-5章
? 代码可理解性/可读性
? 编码规范
? Programing for/with reuse
? LSP
? 泛型的子类型化
? 泛型中的通配符
? Delegation
? Comparator和Comparable
? 接口的组合
? 白盒框架的原理与实现
? 黑盒框架的原理与实现
? 设计模式adapter、decorator、
façade、strategy、template、
iterator/iterable
 
第6-7章
? 可维护性的常见度量指标
? 聚合度与耦合度
? SOLID
? 设计模式:factory method、
abstract factory、builder、
bridge、proxy、composite、
observer/observable、visitor、
state、memento
? 语法、正则表达式
? 健壮性和正确性
? Throwable
? Runtime异常、其他异常
? Checked异常、Unchecked异常
? Checked异常的处理机制:
– 抛出、捕获、处理、清理现场、
释放资源等
? 自定义异常类
? 断言的作用、应用场合
? 调试的基本过程和方法
? 黑盒测试用例的设计
– 等价类划分、边界值分析
? 以注释的形式撰写测试策略
? JUnit测试用例写法
? 测试覆盖度
 
第8、10章
? 内存管理模型:堆、栈
? GC,root、reachable、
unreachable、live、dead
? GC的四种基本算法
? Java/JVM的内存管理模型:各
区域、各区域的GC方法
? JVM GC性能调优:参数配置、
GC模式选择
? Java性能调优工具:jstat, jmap,
jhat, Visual VM, MAT
? Memory dump
? Stack trace
? Java代码调优的设计模式:
singleton, prototype/cloneable,
flyweight, pool
? 常见的Java I/O方法
? 进程和线程
? 线程的创建和启动,runnable
? 时间分片、交错执行、竞争条件
? 线程的休眠、中断
? 线程安全的四种策略****
? Message passing
? 死锁
? 以注释的形式撰写线程安全策略

这次课程的实验一开始让我很头大,因为我根本没想学过java,但是经过多次的实验,我逐渐自己自学一点java基础。也算是一点收获。

一开始是基础java便安城试手,经过一周的java基础学习发现这次试验也不是很难。世上无难事,只怕有心人。
实验二也不是很难的样子,主要是在同学的帮助,我学习到了很多。
实验三涉及到了GUI的处理,这一开始难道了我,因为我之前根本没有接触过这种事情。GUI的学习我我是通过网上的公开公开课和java核心思想这本书逐渐学到的。学习了两种方式,jpane跟jframe,这两种方式各有好好处,jpane的repaint方法是最真的好用。此次实验我也体会到了自己设计一个框架跟自己设计系统的美妙之处,让我沉浸其中,然后实验太难没完成得很好。见识到了不同数据结构的不同用法,扩展了视野。
实验四让我体验到了标准化编程的优点,写好注释,javadoc跟一些必要的标注是很重要的,这在以后对程序的维护和修改方面有很大的帮助。还有就是对于垃圾回收机制的认识。
实验五主要是对程序的优化,让我体会到在不同的情况下使用不同的数据结构有什么好处,怎样提高程序的效率,如何发现程序运行时的瓶颈。还有就是不同的文件读写策略也有不同的效率。
实验六则是对多线程的编程,对于线程创建和线程安全又更深一步的认识

在这一系列的实验中,我基本掌握了Java的编程规则、知识要点和一些小技巧,特别是对面向对象的编程思想和风格有了进一步的认识和体会。同时,因正确的编出程序而带来的成就感让我对编程更加感兴趣。对于在这些实验过程中,请教老师、同学互助、查阅资料等基本的学习方式,使我更加领悟到集体和团队的力量,也树立了敢于攻坚的信心。

说起来编程的经验应该是多了很多。但是在上机调试的时候还是遇到了相当多的问题。很多的错误都很难体会,有的时候是输入的错误,这种错误还是比较容易找出来的,但是有些问题,比如一些题目需要导入一些包,这一点就没有办法了。发现JAVA虽然看起来比C或C++要容易一点,但是由于它自身带有相当多的方法定义,这些个方法虽然不用我们自己再去编写了但是需要花相当多的时间去记忆那些方法是需要导入的,还有方法名……所以对我来说这真的是比C里简单几个文件的导入还要难上很多……还是觉得自己编的方法(函数)自己用的习惯。不过现在的编程的方向已经是面向对象和面向数据的了,所以我需要时间去适应这样的编程思想,同时在课上又学到了很多的编程策略,都需要我们在实践过程中应用下来,初步掌握面向关键质量目标(可理解性、可维护性、可复用性、健壮性、时空性能)的软件构造基本技术,同时也了解软件代码重构和面向更复杂软件系统的高级构造技术,总之呢在这一学期的学习中还是学到了不少的编写软件的知识

 

以上是关于期末复习重点及课程心得的主要内容,如果未能解决你的问题,请参考以下文章

《Linux系统及应用》期末重点复习笔记

《Linux系统及应用》期末重点复习笔记

组成原理期末复习重点

数据结构期末复习重点整理

计算机网络期末重点复习-03

有关期末复习的贪心题目——课程表III