摘要: 一、慢日志查询 1、参数 log_output: 日志输出到哪儿,默认FILE,表示文件;设置成TABLE,则将日志记录到mysql.slow_log中。也可设置多种格式,比如 FILE,TABLE long_query_time: 执行时间超过这么久才记录到慢查询日志,单位秒,可使用小数表示小于秒 阅读全文
posted @ 2023-02-20 22:18 windge 阅读(79) 评论(0) 推荐(0)
摘要: 一、explain必备知识 1.type取值 性能从好到坏排序如下 system:该表只有一行(相当于系统表),system是const类型的特例 const:针对主键或唯一索引的等值查询扫描, 最多只返回一行数据. const 查询速度非常快, 因为它仅仅读取一次即可 eq_ref:当使用了索引的 阅读全文
posted @ 2023-02-18 21:12 windge 阅读(90) 评论(0) 推荐(0)
摘要: 以下内容只针对innodb,mysql版本基于5.6 一.join优化 1、优化算法 优化算法了解:嵌套循环-NLJ(Nested-Loop Join)、块嵌套循环-BNLJ(Block Nested-Loop Join)、MRR(mUlti Range Read)、批量键值访问-BKA(Batch 阅读全文
posted @ 2023-02-18 21:10 windge 阅读(130) 评论(0) 推荐(0)
摘要: 一、长字段索引优化 1、额外创建一个hash字段,作为索引(B+tree的伪hash) hash算法应满足(一般使用crc32或fnv64): a、字段长度应该比较小(SHA1/MD5不合适) b、尽量避免hash冲突 示例:select * from t_goods where name = 'w 阅读全文
posted @ 2023-02-12 21:29 windge 阅读(47) 评论(0) 推荐(0)
摘要: 一、创建索引的原则 1、建议创建索引的场景 where语句的查询条件 select语句,对于某些字段经常作为 where语句的查询条件; Update/delete语句的where条件频繁使用时的字段 需要分组、排序的字段 distinct所使用的字段 如果字段的值,有唯一性约束,要创建唯一索引 对 阅读全文
posted @ 2023-02-12 14:44 windge 阅读(127) 评论(0) 推荐(0)
摘要: 一、InnoDB和MyISAM的存储方式 1、InnoDB存储方式 使用的B+Tree数据结构,物理存储角度是聚簇索引 对于主键索引: 叶子节点会存储主键以及主键所对应数据块的指针; 对应非主键索引(二级索引、辅助索引):叶子节点存储索引以及这条数据对应的主键;需要先通过非主键索引查到主键,然后通过 阅读全文
posted @ 2023-02-11 20:31 windge 阅读(36) 评论(0) 推荐(0)
摘要: 一、启动回调 应用场景: 1.启动前环境检测? 2.启动时配置初始化? 3.启动后数据初始化? 类型 注入方式 回调时机 总体回调顺序 应用场景 ApplicationContextInitializer spring.factories 等3种 IOC容器初始化时被回调 1 启动前环境检测 Spr 阅读全文
posted @ 2022-08-14 09:51 windge 阅读(851) 评论(0) 推荐(0)
摘要: 1.如何载入启动类的@SpringBootApplication注解? org.springframework.boot.BeanDefinitionLoader#load(java.lang.Class<?>) org.springframework.boot.BeanDefinitionLoad 阅读全文
posted @ 2022-08-12 18:27 windge 阅读(42) 评论(0) 推荐(0)
摘要: 1.BeanFactory与ApplicationContext关系区别 ​Spring 框架IOC 容器的核心接口是BeanFactory和ApplicationContext。BeanFactory是 IOC 容器的最基本版本,ApplicationContext在BeanFactory的基础上 阅读全文
posted @ 2022-08-12 18:25 windge 阅读(51) 评论(0) 推荐(0)
摘要: 一、核心流程 加载bean定义 实例化 1.执行Before实例化BeanPostProcessor.postProcessBeforelnstantiation 2.执行构造方法 3.执行After实例化BeanPostProcessor.postProcessAfterInstantiation 阅读全文
posted @ 2022-08-11 22:05 windge 阅读(85) 评论(0) 推荐(0)
摘要: 解析源码版本:spring-boot-1.5.7.RELEASE,spring-framework-4.3.11.RELEASE 一、整体流程 1.初始化:初始化器和监听器 org.springframework.boot.SpringApplication#initialize 2.启动监听器 S 阅读全文
posted @ 2022-08-11 21:57 windge 阅读(153) 评论(0) 推荐(0)
摘要: 一、漏洞重现 Win10系统执行以下代码,弹出计算器,其中btyecodes执行的代码是 Runtime.getRuntime().exec("calc"); public class FastJsonBugTest { static { ParserConfig.getGlobalInstance 阅读全文
posted @ 2022-06-08 19:27 windge 阅读(5888) 评论(0) 推荐(0)
摘要: 官网:https://rocketmq.apache.org/ 源码地址:https://github.com/apache/rocketmq 一、RocketMQ的优点 1、天然支持集群模式、负载均衡、水平扩展能力 2、上亿级别的消息堆积能力 3、采用零拷贝的原理、顺序写盘、随机读(借鉴kafka 阅读全文
posted @ 2022-05-04 22:55 windge 阅读(332) 评论(0) 推荐(0)
摘要: 源码地址:https://github.com/apache/rocketmq-dashboard dashboard是rocket的运维后台管理,下面简单介绍界面 1.配置项OPS namesvr可修改 2.整体消息情况Dashboard 3.集群信息Cluster 进来一条,出去可能多条,因为可 阅读全文
posted @ 2022-05-04 21:30 windge 阅读(709) 评论(0) 推荐(0)
摘要: 一、安装清单 NameServer和BokerServer 下载地址:https://github.com/apache/rocketmq/releases/tag/rocketmq-all-4.9.3 RocketMQ Dashboard 下载地址: https://github.com/apac 阅读全文
posted @ 2022-05-04 20:30 windge 阅读(944) 评论(0) 推荐(0)
摘要: 操作示例的安装版本:3.6.5 一、准备 yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc tz 阅读全文
posted @ 2022-04-05 21:13 windge 阅读(129) 评论(0) 推荐(0)
摘要: RabbitMQ是一个开源的消息代理和队列服务器,基于AMQP协议,RabbitMQ高性能的原因之一是因为基于Erlang语言开发,Erlang语言有着和原生Socket一样好的低延迟。 官网:https://www.rabbitmq.com/ 一、AMQP核心概念 Server:又称Broker, 阅读全文
posted @ 2022-04-05 10:00 windge 阅读(267) 评论(0) 推荐(0)
摘要: 一、git批量删除分支 批量删除远程分支示例 git branch -a| grep 'bak.hotfix_1.36.1.1*' |xargs -n1 -d'/' | grep 'bak.hotfix_1.36.1.1*' | xargs git push origin --delete 小技巧: 阅读全文
posted @ 2021-11-03 20:19 windge 阅读(1341) 评论(0) 推荐(0)
摘要: 一、一句话归纳 分类 设计模式 简述 一句话归纳 目的 生活案例 创建型设计模式 (简单来说就是用来创建对象的) 工厂模式(Factory Pattern) 不同条件下创建不同实例 产品标准化,生产更高效 封装创建细节 实体工厂 单例模式(Singleton Pattern) 保证一个类仅有一个实例 阅读全文
posted @ 2021-04-07 13:00 windge 阅读(212) 评论(0) 推荐(0)
摘要: 工厂模式有 3 种不同的实现方式,分别是简单工厂模式、工厂方法模式和抽象工厂模式 一、简单工厂模式 简单工厂模式每增加一个产品就要增加一个具体产品类和一个对应的具体工厂类,这增加了系统的复杂度,违背了“开闭原则”,如果要创建的产品不多,只要一个简单工厂类就可以完成。 1.优点和缺点 优点: 工厂类包 阅读全文
posted @ 2021-04-03 16:38 windge 阅读(107) 评论(0) 推荐(0)