常识
KnowledgeContext
这个作者很懒,什么都没留下…
展开
-
Unicode,UTF-8,UTF-16,UTF-32,gb2312,gbk区别
1.ascII码。0x0*******; 总共127个。 有英文字母和符号。好吧,问题来了。英文够用了,其他不够用啊。于是用两种方法解决: a)GB2312 GBK 这一类的编码方式,用两位(2的16次方中变幻)来表示中文字符。 兼容ASC2b) Unicode编码。 世界上一切所有的字符(各个国家,各种字符)都囊括进来了,用两个字节(16位)来表示。UTF-8,UTF-16,...转载 2018-10-23 09:14:19 · 1191 阅读 · 0 评论 -
Unicode 和 UTF-8 有何区别?
原作者: 邱昊宇 简单来说: Unicode 是「字符集」 UTF-8 是「编码规则」 其中: 字符集:为每一个「字符」分配一个唯一的 ID(学名为码位 / 码点 / Code Point) 编码规则:将「码位」转换为字节序列的规则(编码/解码 可以理解为 加密/解密 的过程) 广义的 Unicode 是一个标准,定义了一个字符集以及一系列...转载 2018-10-23 09:23:16 · 160 阅读 · 0 评论 -
redis搞分布式锁
/** * Redis基本(字符串)操作 * 将 key 的值设为 value ,当且仅当 key不存在,若给定的 key 已经存在,则 SETNX 不做任何动作。 * set not exists * @param value * @return */ public Long setnx(String key, Stri...原创 2019-08-30 19:21:26 · 142 阅读 · 0 评论 -
redis的pipeline学习
总结:redis中的pipeline,是批量操作。一次发送多个命令。显然速度会比一次一次发送的更快。但是每次显然两者都有各自的优缺点。1.pipelined.sync()表示我一次性的异步发送到redis,不关注执行结果。2.pipelined.syncAndReturnAll()程序会阻塞,等到所有命令执行完之后返回一个List集合。3.pipeline也不适合组装特别多的命令,因此如果...原创 2019-08-31 09:37:10 · 407 阅读 · 0 评论 -
源码解析getCanonicalName(), getName(), getSimpleName()的不同
概要:1、getCanonicalName() 是获取所传类从java语言规范定义的格式输出。2、getName() 是返回实体类型名称3、getSimpleName() 返回从源代码中返回实例的名称。例子:public class Log4jTest { class Innr{ } private static Logger log = LogManag...转载 2019-08-31 09:55:31 · 307 阅读 · 0 评论 -
Redis Pipeline原理分析
Redis Pipeline原理分析1. 基本原理1.1 为什么会出现Pipeline Redis本身是基于Request/Response协议的,正常情况下,客户端发送一个命令,等待Redis应答,Redis在接收到命令,处理后应答。在这种情况下,如果同时需要执行大量的命令,那就是等待上一条命令应答后再执行,这中间不仅仅多了RTT(Round Time Trip),而且还频繁的调用系...转载 2019-08-31 10:08:47 · 389 阅读 · 1 评论 -
redis缓存穿透、缓存雪崩和热点key
缓存穿透穿过缓存,直接访问数据库。解决方案:对查询不存在的保存到缓存中value设置为null.采用布隆过滤器.如果key有规则,那么就可以直接过滤掉无规则的key//伪代码//if(jedis查询缓存不存在){ //检测布隆过滤器是否存在 if(存在&&查询数据库有结果){ //将结果刷新到缓存中 }else{...原创 2019-08-31 10:46:38 · 148 阅读 · 0 评论