- 博客(18)
- 收藏
- 关注
原创 Forcing close of thread
最近linux上安装的mysql遭遇自动关闭[Warning] /usr/local/mysql/bin/mysqld: Forcing close of thread 29 user: 'root'[Warning] /usr/local/mysql/bin/mysqld: Forcing close of thread 31 user: 'root'[Warning] /usr/local/mysql/bin/mysqld: Forcing close of thread 24 user:
2021-08-31 11:01:33 2069
原创 MalformedJsonException: JSON forbids octal prefixes
遇到这中错误,就是json中的键值value有问题,导致Gson无法识别解析,才抛出标题所示的错误。上图中的“sortNo”对应Class中的一个整形字段,但是转换的时候,Gson无法识别,“01”需要去掉前面的“0”。对于json解析,还是推荐阿里的fastjson,至少不会出现上面这种情况。...
2020-08-20 10:51:01 477
原创 什么是“约瑟夫环”
今天遇到一个关于“约瑟夫环的问题”,于是上网查了下什么是“约瑟夫环”出自百度:约瑟夫问题(有时也称为约瑟夫斯置换,是一个出现在计算机科学和数学中的问题。在计算机编程的算法中,类似问题又称为约瑟夫环。又称“丢手绢问题”.咋一看,概念是理解了,但是自己还是一头雾水。。。于是上网寻找类似的案例。网上也有类似“约瑟夫环”的问题:n个人排成一排,从第个人开始报数,从1开始报,报到m的人出圈,剩下的人重新从1开始报数,直到所有人都出圈为止,对于给定的n,m,求所有人的出圈顺序。对于此问题的解决方案,
2020-05-19 15:53:07 2094
转载 认知Synchronized和volatile的区别
volatile本质是在告诉jvm当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取; synchronized则是锁定当前变量,只有当前线程可以访问该变量,其他线程被阻塞住。volatile仅能使用在变量级别;synchronized则可以使用在变量、方法、和类级别的volatile仅能实现变量的修改可见性,不能保证原子性;而synchronized则可以保证变量的修改可见性和原子性volatile不会造成线程的阻塞;synchronized可能会造成线程的阻塞。volatile标记.
2020-05-12 22:22:27 127
原创 分布式事务解决方案(仅供学习)
分布式事务的解决方案有很多,但是要结合项目中的业务模型选择合适的方案。因为博主是个技术小白,还没遇到过分布式事务的需求,所以目前尚在学习,以下两篇文章写的都不错,可以作为参考:1.微服务分布式事务4种解决方案实战2.大厂面试必知必会:图解分布式事务实现原理...
2020-05-12 11:33:36 156
转载 Executors的四种线程池
1. Executors有四种线程池的实现方式:newSingleThreadExecutor创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO, LIFO, 优先级)执行。newFixedThreadPool创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。newScheduledThreadPool创建一个可定期或者延时执行任务的定长线程池,支持定时及周期性任务执行。newCachedThreadPoo
2020-05-08 21:56:06 6793
转载 浅谈红黑树(R-B Tree)原理
红黑树的实现基于平衡二叉树。红黑树的特点:节点分为红色或者黑色;根节点必为黑色;叶子节点都为黑色,且为null;连接红色节点的两个子节点都为黑色(红黑树不会出现相邻的红色节点);从任意节点出发,到其每个叶子节点的路径中包含相同数量的黑色节点;新加入到红黑树的节点为红色节点;示例图:红黑树自平衡基本操作:变色:在不违反上述红黑树规则特点情况下,将红黑树某个node节点颜色由红变黑,或者由黑变红;左旋:逆时针旋转两个节点,让一个节点被其右子节点取代,而该节点成为右子节点的.
2020-05-08 19:08:41 283
转载 Redis实现分布式锁(集群版)
一、前言 在Redis分布式锁实现单机版中,已经介绍了基于Redis实现分布式锁的正确姿势,但是上篇文章存在一定的缺陷——它加锁只作用在一个Redis节点上,如果通过sentinel保证高可用,如果master节点由于某些原因发生了主从切换,那么就会出现锁丢失的情况:客户端1在Redis的master节点上拿到了锁Master宕机了,存储锁的key还没有来得及同步到Slave上mas...
2020-05-07 18:08:55 1238
转载 Redis实现分布式锁(单机版)
一、前言 在我们日常工作中,除了Spring和Mybatis外,用到最多无外乎分布式缓存框架——Redis。但是很多工作很多年的朋友对Redis还处于一个最基础的使用和认识。所以我就像把自己对分布式缓存的一些理解和应用整理一个系列,希望可以帮助到大家加深对Redis的理解。本系列的文章思路先从Redis的应用开始。再解析Redis的内部实现原理。最后以经常会问到Redist相关的面试题为结尾。...
2020-05-07 17:48:52 350
转载 Mysql索引的B+树实现
前言在从一堆数据中查找指定的数据时,我们常用的数据结构是哈希表和二叉查找树,表本质上就是一堆数据的集合,所以MySQL数据库用了B+树和哈希表来实现索引B+树是通过二叉查找树,再由平衡二叉树,B树(又名B-树)演化而来的,B+树中的B不是代表二叉(binary),而是代表平衡(balance),因为B+树是从最早的平衡二叉树演化而来,但是B+树不是一个二叉树二叉查找树和平衡二叉树二叉查找树...
2020-05-04 22:02:24 1478
原创 Mysql大表优化策略:垂直分区和水平分区
MYSQL表分区,在空间上主要分为垂直分区和水平分区垂直分区:数据库表列的拆分,表列拆分为多表水平拆分:单表数据拆分为多表存储,也叫数据分片。1.客户端代理:Sharding-JDBC开发手册:链接Github:链接2.中间件代理:AtlasGithub:链接...
2020-04-28 20:44:50 514
原创 Mac终端加入IDEA命令
在Mac上做开发的小伙伴,不仅可以“聚焦搜索”启动,还可以在item中命令行启动(适用IDEA多开)。我是JetBrains ToolBox安装的IDEA,安装以后点击右侧设置–>setting最后设置IDEA启动脚本的存放路径在终端就可以看到你刚才添加的脚本./idea 项目名,就可以打开你的项目了。附:《IDEA终端命令大全》,转载:https://www.jiansh...
2019-11-27 11:49:24 2040
原创 mybatis报错:Invalid bound statement
在初建springboot项目时,遇到一个非常头大的问题,就是在resources目录下新建mybatis的mapper映射文件,为了偷懒,多写了一级就是多写了这一级,导致找不到mapper.xml。最终在target编译目录下找到问题,正确的目录应该是下面的原本是mapper.cashier的目录名踩到目录命名的坑,以此博客劝诫自己不要偷懒????...
2019-11-25 11:40:04 176
转载 SpringBoot 在IDEA中实现热部署
转载自:https://www.jianshu.com/p/f658fed35786一、开启IDEA的自动编译(静态)具体步骤:打开顶部工具栏 File -> Settings -> Default Settings -> Build -> Compiler 然后勾选 Build project automatically 。二、开启IDEA的自动编译(动态)具...
2019-11-25 10:10:19 105
原创 IntelliJ IDEA 之PostFix自动补全功能
作为技术小白,最近从Eclipse转IDEA发现了一个不错的功能"Postfix",它集成在IDEA内部,缩短了代码开发时间,非常不错!
2019-11-14 12:13:59 369
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人