java 基础知识
Posted 那一的眸相遇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 基础知识相关的知识,希望对你有一定的参考价值。
1 . tcp连接有几次握手? 有几次释放?
(1) 第一次握手:建立连接时,客户端A发送SYN包(SYN=j)到服务器B,并进入SYN_SEND状态,等待服务器B确认。
(2)第二次握手:服务器B收到SYN包,必须确认客户A的SYN(ACK=j+1),同时自己也发送一个SYN包(SYN=k),即SYN+ACK包,此时服务器B进入SYN_RECV状态。
(3)第三次握手:客户端A收到服务器B的SYN+ACK包,向服务器B发送确认包ACK(ACK=k+1),此包发送完毕,客户端A和服务器B进入ESTABLISHED状态,完成三次握手
简单说来是 “先关读,后关写”,一共需要四个阶段。以客户机发起关闭连接为例:
1.服务器读通道关闭 2.客户机写通道关闭 3.客户机读通道关闭 4.服务器写通道关闭
2. 数据库sql中的转换?
行转列的需求如下, 主要思路是分组后使用case进行条件判断处理 可以发现,行转列时其实是先group by,然后将每个组中的行转为列,使用case-when + 聚合函数。
列转行的需求是 主要思路也是分组后使用case 或者 先使用union拼接 使用 order by ,
3 . SpringMVC 的工作原理?
- 用户发送请求到前端控制器dispatcherservlet.
- dispatchersevlet接受到请求调用HandlerMapping处理器映射器。
- 处理映射器找到了具体的处理器(根据配xml置文件和java代码的注解)进行查找,dispatcherservlet 调用handlerAdapter处理器适配器,
- HandlerAdapter 经过适配且的处理器(controller)执行完成后返回modelAndview
- controller将返回的modelAndView 返回给dispatcherservlet,
- dispatchservlet 将modelAndView 传给ViewResolver视图解析器。
- dispatchservlet将view 进行渲染到页面上,响应用户。
4.mybatis的原理实现?
mybatis应用程序根据xml配置文件创建sqlsessionFactory, sqlSessionFactroy是根据两个地方 一个是配置文件,一个是java代码的注解,然后获取到sqlSession 。sqlSession包含了sql中的所有方法和属性,通过sqlsession的实例运行映射sql语句,对数据库进行增删改查和提交事务的操作,关闭sqlSession。
5.hibernate 的实现原理?
- 读取并解析配置
- 创建sqlsessionFactory
- 打开 session
- 打开事务
- 持久化操作
- 关闭事务
- 关闭session
- 关闭sessionFactory
以上是关于java 基础知识的主要内容,如果未能解决你的问题,请参考以下文章