Mysql数据类型上的一个把握
1、MySQL Decimal为什么不会丢失精度
DECIMAL的存储方式和其他数据类型都不同,它是以字符串形式存储的。假设一个字段为DECIMAL(3,0),当我们存入100时,实际上存入的1、0、0这三个字符拼接而成的字符串的二进制值,由于一个数字字符占用1个字节,所以共占用三个字节的空间。然后还要存入描述该数据的元数据,元数据固定占用2个字节,所以共占用5个字节。
总结:DECIMAL(M,N)会占用(M+2)个字节。
2、websocket和http的联系
WebSocket和HTTP都是应用层协议,用于在客户端和服务器之间进行通信。它们之间有一些联系和区别:
-
基于TCP:WebSocket和HTTP都是基于TCP协议的。HTTP通过短暂的请求-响应方式进行通信,每次请求都需要建立一个新的TCP连接。而WebSocket在建立连接后,可以保持持久的双向通信连接,避免了频繁建立和关闭TCP连接的开销。
-
握手过程:HTTP使用无状态的请求-响应模型,每次请求都需要进行完整的握手过程。而WebSocket在建立连接时进行一次握手过程,之后可以保持连接,并实现双向通信。
-
数据格式:HTTP协议通常使用JSON、XML等格式来传输数据,而WebSocket可以传输任意格式的数据,包括文本和二进制数据。
-
请求-响应 VS 实时双向通信:HTTP协议是一种请求-响应协议,客户端发送请求,服务器返回响应。而WebSocket提供了实时的双向通信能力,客户端和服务器可以在同一个连接上进行双向数据交换。
-
端口:HTTP协议默认使用80端口进行通信,而WebSocket默认使用的端口是443(加密)或80(非加密)。
3、websocket建立连接的过程
4、Spring事务
5、JVM排查OOM
6、Java8新特性的stream
7、spring的三级缓存