摘要: 1.建立健全监控机制,使用合适的工具来进行问题的排查和定位,找出具体是什么步骤慢,是数据库访问慢,还是代码本身慢? 2.如果是数据库访问慢,进行数据库相关优化 3.如果是代码本身慢,分以下几种情况: 1)锁开销过大,进行锁优化 2)线程开销过大,进行线程池优化 线程池实现方式: 1.ThreadPo 阅读全文
posted @ 2020-10-19 20:01 红嘴鲤鱼 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 线程安全问题触发条件: 1.存在共享数据 2.多个线程同时操作共享数据 锁之syncronized 特征:可重入(获得了外面的锁,则自动获得了里面的锁),非公平(线程有可能会饿死) 原理: 1)早期: 2)堆内存中对象存储方式(锁,本质上是堆中某个对象的对象头中通过mark word标记的一种状态) 阅读全文
posted @ 2020-10-19 19:34 红嘴鲤鱼 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 本地调用异步化实现方法: 1.线程 2.线程池 3.@Async 4.消息队列 远程调用异步化实现方法: 1.AsyncRestTemplate 2.WebClient spring5.0提供,基于reactor和webflux,用来代替AsyncRestTemplate 1)添加依赖 2)注入be 阅读全文
posted @ 2020-10-19 19:29 红嘴鲤鱼 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 池化技术 对象池框架:commons-pool2 线程池之ThreadPoolExecutor ThreadpoolExcutor构造方法参数: 1.corepoolsize 核心线程数 ->正式员工 2.maximunpoolsize 最大线程数 ->招聘计划 3.keepalivetime 允许 阅读全文
posted @ 2020-10-19 18:33 红嘴鲤鱼 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 性能调优四板斧 监控工具之skywalking 搭建单机版skywalking 1.去官网下载对应zip包 2.解压,执行命令即可 3.访问localhost:8080验证 skywalking目前最流行的使用方式是基于java agent 1.修改skywalking的config文件配置,替换s 阅读全文
posted @ 2020-10-19 16:07 红嘴鲤鱼 阅读(285) 评论(0) 推荐(0) 编辑