[TOC]

utfmb4utf8的区别

为什么使用slf4j,而不是log4j

UTF8MB4和UTF8

以前只知道UTF-8,没有仔细去研究MySQL中的UTF8MB4和UTF8的区别。看到别人的数据库中有用UTF8MB4,就来总结一下。

utf8mb4utf8的超集,utf8是可变字符,这意味着,存储一个utf8字符可能需要一到四个字节。而在MySQL中,utf8只能存储最大三个字节,从0x0000xfff,那么四个字节的字符存储可能就会有问题。3个字节的utf8字符成为基本多文平面(BMP),不在这里面的字符主要有Emoji表情,和一些不常见的汉字,还有任何新增的Unicode字符。所以如果你想要存储内容性信息的话,推荐选择utf8mb4

参考资料:

What is the difference between utf8mb4 and utf8 charsets in mysql?

清官谈mysql中utf8和utf8mb4区别

为什么使用slf4j而不是log4j

在服务器开发中,日志框架记录问题是非常重要的,平时我都是使用log4j,也是最近才了解到slf4j,总结一下就是slf4j(simple logging facade for java )不是一个真正的日志实现,而是一个抽象层,它允许你在后台使用任意一个日志类库。可以说抽象之后,程序的适应性就变得更好了。优势首先是不用依赖特定的日志框架,另一个是可以使用占位符的方式拼接字符串,性能更好

参考资料:

为什么要使用SLF4J而不是Log4J