一、 序列化作用?什么是序列化、反序列化
1.序列化作用:
序列化是一种用来处理对象流的机制,可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是可以解决对象流读写操作时可能引发的问题,如果不进行序列化可能会存在数据乱序的问题。
2.序列化:
把对象转换为字节序列的过程称为对象的序列化
3.反序列化:
把字节序列恢复为对象的过程称为对象的反序列化
二、数据库设计的三大范式
第一范式:
数据库中的每一列都是不可分割的基本项
第二范式:(消除部分依赖)
1. 在第一范式基础上
2. 有主键(唯一标识)
3. 实体的属性完全依赖于主键
第三范式:(消除传递依赖)
要求一个数据库表中不包含 已在其他表中 已包含的 非主键关键字信息
三种依赖:
1. 完全依赖: 通过AB能得出C,但是AB单独得不出C,那么说C完全依赖于AB
1.1 例: 学号+课程-->该课程分数
2. 部分依赖: 通过AB能得出C,通过A也能得出C,通过B也能得出C,那么说C部分依赖于AB
2.1 例: 学号+系名-->宿舍楼;学号-->宿舍楼;系名-->宿舍楼
3. 传递依赖:通过A得到B,通过B得到C,但是C得不到B,B得不到A,那么成C传递依赖于A
3.1 例: 学号-->系名,系名-->宿舍楼,而且学号-->宿舍楼也成立
三、数据库的公共字段有哪些?
1. id主键:保证当前数据行的唯一性
2. 排序字段:sortnum
3. 创建(当前)时间:createDate
4. 更新时间:updateDate
5. 创建(当前)操作用户createUser
6. 更新用户:updateUser
7. 数据状态:status
四、什么是Spring?
Spring是一个开源的轻量级的Java开发框架,它可以简化应用程序的开发,简化开发的体现主要在如下几个方面:
(1)IOC容器
spring会负责控制对象的生命周期和对象间的关系。所有的类都会在spring容器中登记,所有的类的创建、销毁都由 spring来控制,从而让控制对象生存周期的不再是引用它的对象,而是spring。以前是由对象控制其他对象,现在是所有对象都被spring控制,也就是控制反转(IOC)。
(2)AOP
面向切面编程,提供从另一个角度来考虑程序结构以完善面向对象编程(相对于OOP),即可以通过在编译期间、装载期间或运行期间实现在不修改源代码的情况下给程序动态添加功能的一种技术,然后在程序执行的合适地方织入这些代码并执行它们,从而完成需要的功能并复用了这些功能。
(3)声明式事务
Spring通过声明式方式灵活地进行事务的管理,提高开发效率和质量。
五、软件项目的开发生命周期
1. 问题定义
2. 可行性研究
3. 需求分析
4. 开发阶段
4.1 数据库阶段
草稿-->UML/ER-->逻辑设计文档(准确性)-->PowerDesign-->建库建表
4.2 代码架构阶段
5. 维护