> 文章列表 > Java琐碎知识点

Java琐碎知识点

Java琐碎知识点

实现幂等性的方式可以因具体的应用场景而异,但以下是几种常见的实现方式?

  • 唯一标识符:在每个请求中添加一个唯一标识符(比如UUID),并将标识符保存到系统中,每次接收到请求时,先检查系统中是否已经处理过该请求,如果已经处理过,则直接返回处理结果。
  • Token:在每次执行一个操作前,生成一个唯一的Token,并将Token存储到系统中,执行操作时需要携带Token,服务器收到请求后,检查Token是否已经被使用,如果已经被使用,则直接返回结果。
  • 版本号:对于多次执行相同操作时,每次操作前先检查操作对象的版本号,如果操作对象的版本号和请求中的版本号不匹配,则表示该操作已经被执行过,直接返回结果。
  • 乐观锁:在多次执行相同操作时,每次操作前先检查操作对象的状态,如果状态不符合要求,则表示该操作已经被执行过,直接返回结果。

需要注意的是,实现幂等性不是一件简单的任务,需要针对具体的应用场景设计相应的方案,并且要确保幂等性方案的正确性、可靠性和高效性。

CHAR(20) 和 VARCHAR(20) 的区别?

CHAR(20):定长字符串
无论存入的内容长度是多少都会分配20个字符的长度存储
使用的空间大小固定,读取修改性能高,如果内容长度变化大浪费磁盘空间

VARCHAR(20):可变长度字符串
通过额外两个字节存储实际内容的长度
使用的空间跟存储长度的大小有关,读取修改性能差,节省磁盘空间