周日被一个技术大牛问了几个问题,现在在网上重新查看了这几个问题:
1、tcp ,udp协议的区别?
2、http协议?tomcat用的是什么协议?connect设置?
3、spring quartz的底层原理?多线程,java的Timmer类
4、一张表,怎样快速统计出一共有多少条数据?count(id)
这些都是一些基础问题,但是我却都是模棱两可,从来没有深入思考过,只是盲目的使用,不注意其中的原理!
tcp:面向连接的,可靠的传输控制协议。
udp:非面向连接的,用户数据报,类似广播性质的。
http是用的tcp/ip协议。
三次握手:(只是建立连接,并不传送数据)
1、客户端向服务器端发送SYN,客户端进入 SYN_SEND状态。
2、服务器端收到SYN后,向客户端发送ACK(SYN+1),并发送SYN。服务端进入 SYN_RECIVE状态
3、客户端收到ACK和SYN后,向服务器端发送ACK。
自此,双方进入ESTABLISH状态。 然后传送数据。
socket是对tcp/IP的封装。
5、mysql数据库有两种连接方式:
socket (unix socket)当mysql和应用在一台服务器上时,用socket连接(localhost)。
tcp/ip :127.0.0.1(要经过网卡,DNS解析)