其他-面试2
<span id="wtl-1-1"></span><span id="wtl-2-1"></span><span id="wtl-3-1"></span><span id="wtl-4-1"></span><span id="wtl-5-1"></span>
## 其他-ms
- [MyBatis 中 ${}和 #{}](#wtl-1)
- [session 和 cookie 有什么区别?](#wtl-2)
- [简述 tcp 和 udp的区别?](#wtl-3)
- [BIO、NIO、AIO 有什么区别](#wtl-4)
- [get 和 post 请求有哪些区别?](#wtl-5)
<span id="wtl-ms2-1"></span>
## 概念
- [线程和进程](#wtl-04011)
---
---
---
---
---
<span id="wtl-04011">开始-------------------------------------</span>
==线程和进程==
- 启动一个程序,就是运行一个进程,进程有自己独立的CPU和内存空间。一个进程默认包含一个主线程,负责调度,也可以启动多个子线程完成耗时任务。多个子线程共享CPU和内存资源。
[--------------------------结束](#wtl-ms2-1)
<span id="wtl-5">开始-------------------------------------</span>
- GET参数通过URL传递,POST放在Request body中。
- GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
- GET请求在URL中传送的参数是有长度限制的,而POST么有。
- GET请求只能进行url编码,而POST支持多种编码方式。
- GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
- GET在浏览器回退时是无害的,而POST会再次提交请求。
- GET产生的URL地址可以被Bookmark,而POST不可以。
- GET请求会被浏览器主动cache,而POST不会,除非手动设置。
- 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
[--------------------------结束](#wtl-5-1)
<span id="wtl-3">开始-------------------------------------</span>
TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接。
TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。
Tcp通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。
UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。
每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信。
TCP对系统资源要求较多,UDP对系统资源要求较少。
[--------------------------结束](#wtl-3-1)
<span id="wtl-4">开始-------------------------------------</span>
- BIO:Block IO 同步阻塞式 IO,就是我们平常使用的传统 IO,它的特点是模式简单使用方便,并发处理能力低。
- NIO:New IO 同步非阻塞 IO,是传统 IO 的升级,客户端和服务器端通过 Channel(通道)通讯,实现了多路复用。
- AIO:Asynchronous IO 是 NIO 的升级,也叫 NIO2,实现了异步非堵塞 IO ,异步 IO 的操作基于事件和回调机制。
[--------------------------结束](#wtl-4-1)
<span id="wtl-2">开始-------------------------------------</span>
- Session是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据库、文件中;
- Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式。
[--------------------------结束](#wtl-2-1)
<span id="wtl-1">开始-------------------------------------</span>
- #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号
- $将传入的数据直接显示生成在sql中
- #方式能够很大程度防止sql注入
- $方式无法防止Sql注入。
- $方式一般用于传入数据库对象,例如传入表名.
- 一般能用#的就别用$.
[--------------------------结束](#wtl-1-1)
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1