2022年3月28日
摘要: 项目之前都是好好的,最近现场那边出现一个问题,报错不是合法的json字符串,这个json字符串是通过http请求访问获得的。 通过直接在浏览器上直接访问http这个请求,发现返回的json也是完全正确的。后来排查代码才发现了原来错误出在从字节流中读取数据这里: 看下之前出错代码:这个方法是处理Inp 阅读全文
posted @ 2022-03-28 18:15 程序人生ly 阅读(622) 评论(0) 推荐(0) 编辑
  2022年3月22日
摘要: 背景 最近被别人问到有关线程池的问题,自己没有答上来,自己觉得之前还是比较了解线程池的,所以又重新学习了一下这块内容,然后记录一下与大家分享。 从两个问题说起 线程池线程数增加过程是怎样的? 如果线程池线程运行过程中抛异常了,线程池怎么处理该异常线程(是否抛异常、是否回收线程再次利用) Part 1 阅读全文
posted @ 2022-03-22 14:36 程序人生ly 阅读(72) 评论(0) 推荐(0) 编辑
  2019年10月14日
摘要: 项目引用了新版本mybatis-spring-boot-starter之后启动不起来,报错Cannot determine embedded database driver class for database type NONE,在网上搜索是需要在排除掉spring自身的org.springfra 阅读全文
posted @ 2019-10-14 22:14 程序人生ly 阅读(8093) 评论(0) 推荐(0) 编辑
  2019年10月10日
摘要: 表结构 CREATE TABLE `queue` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', `unit_id` varchar(64) NOT NULL , `queue_id` varchar(32) NO 阅读全文
posted @ 2019-10-10 11:12 程序人生ly 阅读(813) 评论(0) 推荐(0) 编辑
  2019年9月24日
摘要: 前言 JDK1.8相对之前版本做了很多多线程性能方面的优化,今天来看看AtomicLong和LongAdder(1.8新增),这两个类都是可以对一个Long数值进行原子类的操作增加或减少,用于计数。 AtomicLong原理 AtomicLong修改值最终是通过cas操作来修改的,如果没有更新成功, 阅读全文
posted @ 2019-09-24 09:31 程序人生ly 阅读(481) 评论(0) 推荐(0) 编辑
  2019年9月22日
摘要: Dubbo 简介 本篇文章不是进行详细的Dubbo实现以及原理分析的文章,适用于用过Dubbo,对Dubbo有一定了解准备面试的小伙伴阅读。下面列的一些点,如果能在面试时候说到,那面试官肯定觉得不错了。 服务暴露 1.从xml读取ServiceBean配置,订阅了spring容器上下文刷新事件进行e 阅读全文
posted @ 2019-09-22 15:15 程序人生ly 阅读(144) 评论(0) 推荐(0) 编辑
摘要: Mybatis报错org.apache.ibatis.ognl.NoSuchPropertyException分析 日志报错信息 org.apache.ibatis.ognl.NoSuchPropertyException: XxxExample&Criterion.condition或者org.a 阅读全文
posted @ 2019-09-22 15:15 程序人生ly 阅读(7113) 评论(0) 推荐(0) 编辑
  2018年6月30日
摘要: 最近一个服务突然出现 OutOfMemoryError,两台服务因为这个原因挂掉了,一直在full gc。还因为这个问题我们小组吃了一个线上故障。很是纳闷,一直运行的好好的,怎么突然就不行了呢。。。 配置了一个 -XX:+HeapDumpOnOutOfMemoryError(该参数作用是在第一次发生 阅读全文
posted @ 2018-06-30 17:01 程序人生ly 阅读(3914) 评论(2) 推荐(1) 编辑
  2018年6月26日
摘要: 最近线上项目报了一个MySQL死锁(DealLock)错误,虽说对业务上是没有什么影响的,由于自己对数据库锁这块了解不是很多,之前也没怎么的在线上碰到过。这次刚好遇到了,便在此记录一下。 出现死锁问题背景 出现死锁问题背景 项目层面:报错的项目做的是一个批量下单的动作,会同时写入多条订单数据,代码之 阅读全文
posted @ 2018-06-26 23:55 程序人生ly 阅读(1640) 评论(0) 推荐(0) 编辑
  2018年3月21日
摘要: 订单缓存实践 最近在做订单缓存查询相关需求,记录下该过程中缓存查询考虑的几个问题以及处理方案。 实际场景中使用缓存都是先去缓存中查询,如果缓存没有命中,在去查询数据库并将结果缓存。如果查询一个在系统中根本就不存在的数据,就会造成每次请求都会穿透缓存去查询数据库。如果出现大量的缓存穿透(或者恶意攻击) 阅读全文
posted @ 2018-03-21 23:56 程序人生ly 阅读(1850) 评论(0) 推荐(1) 编辑