一、应用分层
(1)作用
- 隐藏下层业务逻辑的复杂性
- 提高系统的组件化和可维护性
(2)为什么要分层
- 分工协作效率高
- 计算机领域的任何问题都可以通过增加一个中间层解决(扩展性)
- 增加可维护
(3)MVC架构模式
(4)推荐分层结构
(5)分层异常处理
(6)分层领域模型
- DO:一般与数据库表一一对应
- DTO:需要的字段进行封装,不是所有,涉及对象的序列化和反序列化(不与外部系统交互不使用dto)(json也是序列化的形式)
- BO:是多个DO的的组合(如:controller调service)
- Query:禁止Map传输,Map里的key不确定(如:controller接受参数的实体)
- VO:传给页面的数据
二、Maven
(1)作用
- 管理项目中的依赖
- 对项目进行构建
(2)什么叫做构建
- 构建:根据项目需要,可以选择编译,清除,打包等操作
(3)Java项目构建工具
- Ant:能构建,前期不能管理依赖,现在升级后可以了,已经过时。
- Maven:能构建,能管理依赖,有不同的目录结构。
- Gradle:适用安卓,可以和Maven共享仓库,Groovy编写。
(4)Maven的主要功能
- 依赖管理
- 规范目录结构
- 完整的项目构建阶段
- 支持多种插件
(5)什么是GAV
- G:groupId,组织,kkb
- A:artifactId,项目专的唯一的标识符,t31
- V:version,版本
(6)Maven的依赖仲裁
-
Ps:本jar包,进行确定一个,需要仲裁
-
按照DependencyManager版本声明进行仲裁。父工(程进行指定,子工程无需指定)
-
如无仲裁声明,则按照依赖最短路径确定版本。
-
若相同路径,则按照第一声明有限原则。(pom文件中哪个在前就依赖哪个)
-
Ps:路径Dependency里的version,当前pom里的DependencyManager,父工程里定义的
(7)Maven排除依赖
- 依赖冲突该用什么思路解决
- 使用idea企业版的show Dependency按钮
- 使用idea社区版的Maven Helper插件
- 使用maven命令(不好用)
三、二方库依赖
(1)作用
- 定义GAV规则及版本号规则
- 定义二方库发布及引用规则
(2)什么是二方库
(3)二方库中GroupID,ArtifactID的定义
(4)二方库中Version的命名方式
(5)二方库引用规约
- 使用maven命令查看最终jar包版本
- 第5点,返回值可能在客户端中没有定义
(6)二方库引用建议
(7)二方库发布原则
四、TCP/IP
(1)解释
- 在多个不同网络间实现信息传输的协议簇
(2)TCP/IP的五层结构
(3)IP协议的报头
(4)TCP协议的报头
(5)如何清晰回答好TCP的三次握手
(6)TCP四次挥手断开连接
- 谁发起谁等待
- 资源是socket连接资源,默认是1024,不是端口资源
五、服务器设定
(1)目的
- 高并发服务器配置与规约