面试总结(mysql定精度/oom排查/spring三级缓存/stream流)

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都是应用层协议,用于在客户端和服务器之间进行通信。它们之间有一些联系和区别:

  1. 基于TCP:WebSocket和HTTP都是基于TCP协议的。HTTP通过短暂的请求-响应方式进行通信,每次请求都需要建立一个新的TCP连接。而WebSocket在建立连接后,可以保持持久的双向通信连接,避免了频繁建立和关闭TCP连接的开销。

  2. 握手过程:HTTP使用无状态的请求-响应模型,每次请求都需要进行完整的握手过程。而WebSocket在建立连接时进行一次握手过程,之后可以保持连接,并实现双向通信。

  3. 数据格式:HTTP协议通常使用JSON、XML等格式来传输数据,而WebSocket可以传输任意格式的数据,包括文本和二进制数据。

  4. 请求-响应 VS 实时双向通信:HTTP协议是一种请求-响应协议,客户端发送请求,服务器返回响应。而WebSocket提供了实时的双向通信能力,客户端和服务器可以在同一个连接上进行双向数据交换。

  5. 端口:HTTP协议默认使用80端口进行通信,而WebSocket默认使用的端口是443(加密)或80(非加密)。

3、websocket建立连接的过程

4、Spring事务

5、JVM排查OOM

6、Java8新特性的stream

7、spring的三级缓存

相关推荐
想不明白的过度思考者1 小时前
Spring Boot 配置文件深度解析
java·spring boot·后端
第二只羽毛1 小时前
Java图书管理系统的设计与实现
java·大数据·安全·系统安全
cike_y6 小时前
Mybatis之解析配置优化
java·开发语言·tomcat·mybatis·安全开发
是一个Bug7 小时前
Java基础50道经典面试题(四)
java·windows·python
Slow菜鸟7 小时前
Java基础架构设计(三)| 通用响应与异常处理(分布式应用通用方案)
java·开发语言
我是Superman丶8 小时前
《Spring WebFlux 实战:基于 SSE 实现多类型事件流(支持聊天消息、元数据与控制指令混合传输)》
java
廋到被风吹走8 小时前
【Spring】常用注解分类整理
java·后端·spring
是一个Bug8 小时前
Java基础20道经典面试题(二)
java·开发语言
Z_Easen8 小时前
Spring 之元编程
java·开发语言
leoufung8 小时前
LeetCode 373. Find K Pairs with Smallest Sums:从暴力到堆优化的完整思路与踩坑
java·算法·leetcode