面试总结(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的三级缓存

相关推荐
DokiDoki之父29 分钟前
Web核心—JSP入门/EL/JSTL标签/MVC+三层架构/一文速通
java·开发语言
寒月霜华29 分钟前
java-高级技术(单元测试、反射)
java·开发语言·单元测试·反射
独自破碎E32 分钟前
Leetcode2166-设计位集
java·数据结构·算法
Cikiss44 分钟前
LeetCode160.相交链表【最通俗易懂版双指针】
java·数据结构·算法·链表
聪明的笨猪猪2 小时前
Java Redis “Sentinel(哨兵)与集群”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
222you2 小时前
Mybatis(1)
java·tomcat·mybatis
靠近彗星2 小时前
1.5操作系统引导
java·linux·服务器·操作系统
瑶山2 小时前
社区版Idea怎么创建Spring Boot项目?Selected Java version 17 is not supported. 问题解决
java·spring boot·intellij-idea·创建项目
学习编程的Kitty2 小时前
JavaEE初阶——多线程(1)初识线程与创建线程
java·开发语言·java-ee
长安城没有风3 小时前
从入门到精通【Redis】初识Redis哨兵机制(Sentinel)
java·数据库·redis·后端