- 博客(6)
- 收藏
- 关注
原创 协程
协程(Coroutine),其实是go,lua,erlang的原声语言,其实JVM上也有蛮多的实现,如PicoThread,Kilim,Quasar等,本文主要介绍其中一种Coroutine实现 – Quasar Fiber,Quasar Fiber相对来说流行度更好一些 相比于os thread,fiber不管在内存资源还是调度上都比前者轻量的多,相对于thread blocking, fiber blocking可以达到比前者大几个数量级的并发度,更有效的利用CPU资源(运行fiber的worker线程
2021-03-24 10:58:15
207
原创 Redis实现分布式锁(用于用户下单)
Redis实现分布式锁(用于用户下单) Redis Setnx(SET if Not eXists) 命令在指定的 key 不存在时,为 key 设置指定的值。 实例 redis> EXISTS job # job 不存在 (integer) 0 redis> SETNX job "programmer" # job 设置成功 (integer) 1 redis> SETNX job "code-farmer" # 尝试覆盖 job ,失败 (i
2021-03-24 10:42:32
644
转载 elasticsearch-全量
maven依赖 官方客户端 https://www.elastic.co/guide/en/elasticsearch/client/java-rest/6.4/index.html <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId>
2020-12-04 11:25:17
253
原创 count(*)和count(1)和count(列名)的区别
从执行结果来说: count(1)和count(*)之间没有区别,因为count(*)count(1)都不会去过滤空值, 但count(列名)就有区别了,因为count(列名)会去过滤空值。 从执行效率来说: 他们之间根据不同情况会有些许区别,MySQL会对count(*)做优化。 (1)如果列为主键,count(列名)效率优于count(1) (2)如果列不为主键,count(1)效率优于count(列...
2020-10-29 11:03:49
432
原创 数据库存表情报错
[HY000]; error code [1366]; Incorrect string value: '\xF0\x9F\x8C\x9D\xE1\xAD...' for column 'desc' at row 1; caused by: Incorrect string value: '\xF0\x9F\x8C\x9D\xE1\xAD...' for column 'desc' at row 1 马上意识到应该是字符编码不匹配的问题。经核实,是某个名字中含有表情,是个4个字节的utf8字符,utf8.
2020-10-27 17:17:51
257
转载 用户态和内核态的区别
用户态和内核态的区别 1.操作系统需要两种CPU状态 内核态(Kernel Mode):运行操作系统程序,操作硬件 用户态(User Mode):运行用户程序 2.指令划分 特权指令:只能由操作系统使用、用户程序不能使用的指令。 举例:启动I/O 内存清零 修改程序状态字 设置时钟 允许/禁止终端 停机 非特权指令:用户程序可以使用的指令。 举例:控制转移 算数运算 取数指令访管指令(使用户程序从用户态陷入内核态) 3.特权级别 特权环:R0、R1、R2和R3 R0相当于内核态,R3相当.
2020-10-27 12:00:20
150
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人