自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术改变世界

程序开发

  • 博客(199)
  • 收藏
  • 关注

原创 Java知识体系目录

文章目录Java基础并发编程并发编程基础线程池数据库中间件Java基础并发编程并发编程基础线程池线程池原理与参数解析SpringBoot线程池的创建、@Async配置步骤及注意事项Java线程池实现原理及其在美团业务中的实践数据库中间件...

2021-12-08 22:03:02 208

转载 ThreadLocal Java 多线程上下文传递在复杂场景下的实践

ThreadLocal Java 多线程上下文传递在复杂场景下的实践

2022-08-05 16:51:40 276

转载 分布式定时任务调度框架实践

分布式任务调度框架

2022-08-05 16:33:55 195

转载 Redis 定长队列,实现消息分组、按批次消费

Redis 定长队列,实现消息分组、按批次消费

2022-08-04 14:56:21 1065

原创 RocketMq系列02 安装集群 双主双从 docker-compose

文章目录端口号描述服务部署情况环境准备虚拟机创建RocketMq配置文件目录创建broker配置文件broker-master-abroker-master-bbroker-slave-abroker-slave-bDocker-compose文件启动容器启动检查启动状态访问控制台查看集群情况手动创建主题代码发送测试示例代码发送消息SLAVE_NOT_AVAILABLE问题参考链接端口号描述以配置的 ListenPort 为 10911 为例端口号作用描述9876nameser

2022-03-19 18:46:05 2438

原创 RocketMq教程 系列目录

文章目录简介系列目录参考链接简介教程包含rocketmq概念、架构、通信流程、常见应用案例、、实战项目系列目录01 官方文档是最好的入门教程02 安装RocketMq集群 双主双从 docker-compose03 概念、架构模型、通信流程04 常见应用案例 结合Springboot05 事务消息流程分析、样例代码参考链接RocketMq 官方中文文档黑马程序员RocketMQ系统精讲...

2022-02-12 15:49:27 272

原创 RocketMq系列03 概念、架构模型、通信流程

文章目录概念架构模型ProducerConsumerNameServerBrokerServer通信流程参考链接概念消息模型RocketMQ主要由 Producer、Broker、Consumer 三部分组成,其中Producer 负责生产消息,Consumer 负责消费消息,Broker 负责存储消息。Broker 在实际部署过程中对应一台服务器,每个 Broker 可以存储多个Topic的消息,每个Topic的消息也可以分片存储于不同的 Broker。Message Queue 用于存储

2022-02-12 15:28:25 1666

原创 RocketMq系列05 事务消息流程分析、样例代码

流程分析上图说明了事务消息的大致方案,其中分为两个流程:正常事务消息的发送及提交、事务消息的补偿流程。1.事务消息发送及提交:(1) 发送消息(half消息)。(2) 服务端响应消息写入结果。(3) 根据发送结果执行本地事务(如果写入失败,此时half消息对业务不可见,本地逻辑不执行)。(4) 根据本地事务状态执行Commit或者Rollback(Commit操作生成消息索引,消息对消费者可见)2.补偿流程:(1) 对没有Commit/Rollback的事务消息(pending状态的消息).

2022-01-27 15:12:14 729

原创 RocketMq系列01 官方文档是最好的入门教程

RocketMq 系列教程(一) 官方文档是最好的入门教程文章目录官方文档中文文档官方文档官方文档中文文档Apache RocketMQ开发者指南可能是因为rocketmq是国人开发的,所以中文文档讲的非常通俗易懂,非常全面,包括相关概念、架构设计、常用代码样例等,相关图解也做的好,能让初学者对rocketmq有个整体的认识。...

2022-01-26 17:48:56 512

原创 RocketMq系列04 常见应用案例代码 结合Springboot

文章目录Spring 结合 RocketMqSpringBoot 结合 RocketMq相关配置同步发送发送字符串发送实体类发送Spring Message对象异步发送集群模式、广播模式延迟消息过滤消息tag 过滤sql表达式过滤批量发送无顺序发送顺序发送指定消息返回类型同步发送异步发送事务消息样例代码参考链接Spring 结合 RocketMq官方使用样例​SpringBoot 结合 RocketMqrocketmq-spring-boot-starter 依赖, 将 官方API | Def

2022-01-26 17:39:56 373

原创 IDEA 查找依赖,一键去除某个依赖

文章目录查找依赖去除某个依赖查找依赖idea界面右侧的maven管理,选择某一个项目模块下的dependencies,点击上面的show dependencies或者选择某一个pom.xml文件,右键选择 show dependencies来到界面比如查找logback 依赖,快捷键 Ctrl + F, 输入 logback4.选中某一个依赖,做相关操作去除某个依赖按如上操作进入 dependencies diagram选择某一个依赖,exclue

2021-12-20 10:57:59 9728 2

转载 SpringBoot线程池的创建、@Async配置步骤及注意事项

前言最近在做订单模块,用户购买服务类产品之后,需要进行预约,预约成功之后分别给商家和用户发送提醒短信。考虑发短信耗时的情况所以我想用异步的方法去执行,于是就在网上看见了Spring的@Async了。但是遇到了许多问题,使得@Async无效,也一直没有找到很好的文章去详细的说明@Async的正确及错误的使用方法及需要注意的地方,这里简单整理了一下遇见的问题,Sring是以配置文件的形式来开启@Async ,而SpringBoot则是以注解的方式开启。我们可以使用springBoot默认的线程池,不过一般

2021-12-08 21:03:35 216

转载 线程池使用与参数详细解析

文章目录为什么用线程池线程池ThreadPoolExecutorThreadPoolExecutor提供了四个构造函数向ThreadPoolExecutor添加任务ThreadPoolExecutor的策略常见四种线程池CachedThreadPool()FixedThreadPool()ScheduledThreadPool()SingleThreadExecutor()为什么用线程池创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率例如:记创建线程消耗时间T1

2021-12-05 21:59:51 153

转载 springboot - 多数据源配置

文章目录简介一、表结构二、多数据源整合1. springboot+mybatis使用分包方式整合1.1 主要依赖包1.2 application.yml 配置文件1.3 建立连接数据源的配置文件1.4 具体实现2. springboot+druid+mybatisplus使用注解整合2.1 主要依赖包2.2 application.yml 配置文件2.3 给使用非默认数据源添加注解[@DS](https://my.oschina.net/u/151188)3 增加数据库连接池,Druid配置简介主要介绍

2021-12-05 21:57:09 642

原创 aop编程 springboot 修改dao层所有方法的返回值

文章目录aop 切点表达式修改dao层所有方法的返回值实现要点判断函数返回类型为List 或者 MapconcurrentModifyException Map的并发修改异常aop 切点表达式Spring AOP切点表达式-SpringBoot从入门到熟悉(十五)修改dao层所有方法的返回值实现功能切点为将dao层返回类型为 List(Map) 的所有函数实现将 List(Map) 或者 Map 中的key 全部转为大写实现要点判断函数返回类型为List 或者 Map获取函数返回

2021-11-09 23:28:41 1628

转载 Mysql 普通索引 OR 唯一索引,谁更胜一筹?

文章目录场景例子分析查找过程更新过程目标页在内存中目标页不在内存中实例总结场景维护一个市民系统,每个人都有一个唯一的身份证号,而且业务代码已经保证了不会写入两个重复的身份证号。如果市民系统需要按照身份证号查姓名,就会执行类似这样的 SQL 语句:select name from CUser where id_card = 'xxxxxxxyyyyyyzzzzz';那么怎么建立索引呢?由于身份证号字段比较大,不建议把身份证号当做主键例子如下,ID是主键,K是索引,从这两种索引对查询语

2021-07-06 13:39:36 148

转载 MYSQL数据保障 三大日志 binlog、redo log、undo log

文章目录参考连接参考连接必须了解的mysql三大日志-binlog、redo log和undo log

2021-07-03 19:31:16 234

原创 MySQL SQL更新语句执行过程

文章目录执行过程流程图两阶段提交 2PCundo log、redo log、binlog参考链接mysql> update T set c=c+1 where ID=2;执行过程客户端(通常是你的服务)发出更新语句” update t set b = 200 where id = 2 “ 并向MySQL服务端建立连接;MySQL连接器负责和客户端建立连接,获取权限,维持和管理连接;MySQL拿到一个查询请求后,会先到查询缓存看看(MySQL8.x已经废弃了查询缓存),看之前是否已经执行

2021-07-03 19:26:58 273

转载 Nginx 配置文件、常用命令详解

文章目录常用命令windowslinux配置文件通用的nginx.confnginx.conf 配置详解常用命令windowslinux配置文件Nginx 配置文件主要分成四部分:main(全局设置)main 部分设置的指令影响其他所有部分的设置server(主机设置)server 部分的指令主要用于制定虚拟主机域名、IP 和端口号upstream(上游服务器设置,主要为反向代理、负载均衡相关配置)upstream 的指令用于设置一系列的后端服务器,设置反向代理及后端服

2021-07-02 18:33:57 261

原创 IDEA 开发常用配置推荐

文章目录JDK设置Maven仓库设置类注释和方法注释辅助插件mybatis 插件Alibaba Java Coding Guidelines plugin 设计规范SonarLint 设计规范CheckStyle 编码规范JDK设置设置默认JDK自行百度Maven仓库设置设置全局默认maven仓库记得改成国内镜像仓库自行百度类注释和方法注释使用 javaDoc自行百度辅助插件mybatis 插件free mybatis plugin生成mapper xml文件快

2021-07-02 18:11:47 159 1

转载 Springboot5 AOP 编程解析

文章目录参考链接参考链接SpringBoot - 面向切面编程 AOP 的配置和使用(附样例)

2021-06-30 17:57:50 171

转载 Java的参数传递,都是值传递!

文章目录简介值传递引用传递区分基本类型引用类型基本类型的封装类型参考链接简介值传递方法调用时,实际参数把它的值传递给对应的形式参数,函数接收的是原始值的一个copy,此时内存中存在两个相等的基本类型,即实际参数和形式参数,后面方法中的操作都是对形参这个值的修改,不影响实际参数的值。引用传递也称为传地址。方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应的形式参数,函数接收的是原始值的内存地址;在方法执行中,形参和实参内容相同,指向同一块内存地址,方法执行中对引用的操作将会

2021-06-30 12:35:53 931

原创 Mysql5.7 性能优化

文章目录简介优化查询分析查询语句使用索引查询索引失效的情况优化子查询优化数据库结构将字段很多的表分解成多个表增加中间表增加冗余字段优化插入记录的速度MyISAM引擎的表InnoDB引擎的表分析表、检查表和优化表分析表检查表优化表优化MySQL服务器优化服务器硬件优化MySQL的参数Mysql 5.7的新特性临时表性能优化服务器语句超时处理支持创建全局通用表空间参考链接简介MySQL数据库优化是多方面的,原则是减少系统的瓶颈,减少资源的占用,增加系统的反应速度。例如:通过优化文件系统提高磁盘I/O的读

2021-06-25 17:08:14 1213 2

原创 Mysql5.7 日志

文章目录日志分类二进制日志错误日志查询日志慢查询日志参考链接日志分类错误日志记录MySQL服务的启动、运行或停止MySQL服务时出现的问题查询日志记录建立的客户端连接和执行的语句二进制日志记录所有更改数据的语句,可以用于数据复制不记录查询语句慢查询日志记录所有执行时间超过long_query_time的所有查询或不使用索引的查询默认情况下,所有日志创建于MySQL数据目录中。通过刷新日志可以强制MySQL关闭和重新打开日志文件。启动日志功能会降低MyS

2021-06-25 16:23:29 222

转载 SQL语法 自然连接 外连接 内连接

文章目录笛卡尔积连接内连接自连接自然连接外连接左外连接右外连接区分连接自然连接 内连接内连接、外连接on 和 where 条件过滤的区别参考链接笛卡尔积结果集数目为多个表的所有记录数的乘积多表关联,不加上过滤条件,得到结果集数目的就是笛卡尔积连接内连接使用 INNER JOIN 关键字,典型的多表关联语法用 ON 过滤条件自连接一个表与自身做连接,通过表别名来区分自然连接就是普通的多表关联查询,即内部连接,没有左外连接 右外连接外连接左外连接有

2021-06-23 17:56:12 3458

原创 spring cloud gateway CORS 重复问题 The ‘Access-Control-Allow-Origin‘ header contains multiple values

文章目录背景网关统一处理后端所有服务都添加跨域配置(不推荐)gateway添加去重配置参考链接4个方法可以将所有后端服务的跨域处理都去除,交网关统一处理可以将网关的处理去除(那么后端所有服务都需要添加)gateway添加去重配置背景在报错之后,我尝试了所有方法,只有方法4 gateway添加去重配置 才生效感觉是gateway的自身bug,因为找了项目所有地方,也只有gateway写了跨域配置,没理由会出现 ‘Access-Control-Allow-Origin’ 重复的网关统

2021-06-18 16:00:14 2409 2

原创 Oracle 存储过程语法与样例

文章目录存储过程与函数语法数据类型变量控制结构循环游标遍历数据双重循环调试样例参考链接存储过程与函数语法数据类型FREE教程 | PL/SQL数据类型变量/*定义变量*/STATION_NAME1 varchar2(255);BAY_NAME1 varchar2(255);AVG_TIME FLOAT;MAX_TIME FLOAT;MAX_TIME_DATE varchar2(255);MIN_TIME FLOAT;MIN_TIME_DATE varchar2(255);sta

2021-06-08 00:57:17 110

转载 Linux系统 部署Springboot Vuejs Nginx 应用

文章目录参考链接参考链接springboot+vue在linux服务器部署nginx.conf 配置文件详解

2021-05-28 16:10:02 77

原创 Mysql5.7 基本数据类型全解析

文章目录数值类型日期和时间类型字符串类型参考链接数值类型日期和时间类型字符串类型参考链接Mysql 官网Mysql 5.7 中文文档深入浅出MySQL:数据库开发、优化与管理维护(第2版)

2021-05-28 15:28:34 867

原创 Oracle 生成分区表,批量生成SQL分区语句

文章目录概念常用方法样例批量生成SQL语句参考链接概念分区表就是通过使用分区技术,将一张大表,拆分成多个表分区(独立的segment),从而提升数据访问的性能,以及日常的可维护性。分区表中,每个分区的逻辑结构必须相同。如:列名、数据类型。分区表中,每个分区的物理存储参数可以不同。如:各个分区所在的表空间。对于应用而言完全透明,分区前后没有变化,不需要进行修改。常用方法常用分区表的使用方法,主要以较为常规的范围分区、列表分区、hash分区以及组合分区为主。样例按日期范围,每一天生成一个分区

2021-05-21 17:48:02 424 2

转载 [Redis 5] redis为什么这么快?

文章目录我们知道Redis4.0之前是单线程的,那既然是单线程为什么速度还能那么快?我们知道Redis4.0之前是单线程的,那既然是单线程为什么速度还能那么快?基于内存操作:Redis的所有数据都在内存中,因此所有的运算都是内存级别的,所以它的性能比较高。数据结构简单:Redis的数据结构比较简单,是为Redis专门设计的,而这些简单的数据结构的查找和操作的时间复杂度都是O(1)多路复用和非阻塞I/O:Redis使用I/O多路复用功能来监听多个socket连接客户端,这样就可以使用一个线程来处理多

2021-05-21 17:28:58 84

转载 [Redis 5] Redis的单线程与多线程

文章目录相关问题Redis6.0之前的版本真的是单线程吗?Redis6.0之前为什么一直不使用多线程?相关问题Redis6.0之前的版本真的是单线程吗?Redis 作为一个内存服务器,它需要处理很多来自外部的网络请求,它使用 I/O 多路复用机制同时监听多个文件描述符的可读和可写状态,一旦收到网络请求就会在内存中快速处理,由于绝大多数的操作都是纯内存的,所以处理的速度会非常地快。在 Redis 4.0 之后的版本,情况就有了一些变动,新版的 Redis 服务在执行一些命令时就会使用『主处理线程』之

2021-05-21 17:19:52 739

转载 [Redis 5 教程] Redis 如何清理过期Key?

文章目录过期删除策略定时检查删除惰性检查删除定期检查删除内存淘汰策略不淘汰(默认的配置)淘汰从所有Key中淘汰从设置了过期时间的key中淘汰参考链接redis 的 key 清理,也就是内存回收的时候主要分为:过期删除策略与 内存淘汰策略两部分。过期删除策略删除到达过期时间的 key 。定时检查删除对于每一个设置了过期时间的 key 都会创建一个定时器,一旦达到过期时间都会删除。这种方式立即清除过期数据,对内存比较好,但是有缺点是:占用了大量 CPU 的资源去处理过期数据,会影响 redi

2021-05-11 18:24:52 274

转载 [Redis 5 教程] 缓存雪崩、缓存击穿、缓存穿透、缓存预热、缓存降级

文章目录缓存雪崩概念解决办法缓存击穿概念解决办法缓存穿透概念解决办法参考链接缓存雪崩概念解决办法缓存击穿概念解决办法缓存穿透概念解决办法参考链接

2021-05-11 17:03:31 127

原创 [Redis 5 教程] Redis内存满了,怎么办?

文章目录参考链接参考链接别再问我Redis内存满了该怎么办了

2021-05-11 16:40:56 201

原创 Leetcode 124 二叉树中的最大路径和

文章目录题目思路代码结果参考链接题目思路需要先拿到左右子树的值,才能判断包括根节点的情况,所以采用后序遍历考虑三节点模型,根节点,左节点,右节点,返回的路径,会有如下情况,求所有情况的最大值只返回父节点的值返回左节点 + 父节点的值返回右节点、父节点的值注意:不能返回左节点+父节点+右节点,因为这样就不能和上一层节点形成路径,但是需要做最大值比较代码 int max=Integer.MIN_VALUE; public int maxPathSum(TreeNod

2021-05-10 15:05:44 55

原创 leetcode 96 不同的二叉搜索树

文章目录题目思路代码参考链接题目思路需要先拿到左右子树的值,才能判断包括根节点的情况,所以采用后序遍历考虑三节点模型,根节点,左节点,右节点,返回的路径,会有如下情况,求所有情况的最大值只返回父节点的值返回左节点 + 父节点的值返回右节点、父节点的值注意:不能返回左节点+父节点+右节点,因为这样就不能和上一层节点形成路径,但是需要做最大值比较代码 int max=Integer.MIN_VALUE; public int maxPathSum(TreeNode

2021-04-30 17:37:29 63 1

原创 修改elementui 样式 CSS 高亮某一行

文章目录添加属性设置样式高亮第一行高亮被点击的行添加属性<el-table highlight-current-row />设置样式记得加 /deep/ 前缀高亮第一行<style lang="scss" scoped>/deep/ .el-table__body tr:first-child>td{ background-color: #a4c9f0 !important; color: #fff;}</style>高亮被

2021-04-26 14:10:45 312

原创 Leetcode 剑指Offer 68-2 二叉树的最近公共祖先

文章目录题目思路代码参考链接题目思路根据p、q在左右子树的情况区分,所以先获取子树的情况,再判断当前节点,是后序遍历树的先序遍历、中序遍历、后序遍历,都是深度优先遍历,所以是从下至上遍历的,所以获取的节点会是深度最大的节点设计一个递归函数,若找到p或q,则返回对应节点,对于任一节点,p、q在左右子树的情况有4种p或q都不在 左右子树,返回 nullp或q不在右子树,返回左孩子p或q不在左子树,返回右孩子左子树和右子树都能找到p或q,返回当前节点,且说明当前节点是最近公共祖先代

2021-04-24 19:51:07 145

原创 Java 二叉树常见算法总结

文章目录递归遍历前序遍历中序遍历后序遍历非递归遍历前序遍历中序遍历后序遍历层序遍历常见应用二叉树的最大深度最小深度复制二叉树二叉树节点个数二叉树叶子节点个数二叉树中第K层节点的个数销毁二叉树反转二叉树或二叉树的镜像两棵二叉树是否互为镜像判断二叉树是否对称二叉树中和为某一值的路径二叉搜索树的第k个节点判断两个二叉树是否相等检查是否为二叉搜索树寻找下一个节点判断完全二叉树递归遍历前序遍历public void preOrder(TreeNode node){ if (node != nul

2021-04-21 14:42:13 543

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除