自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(203)
  • 收藏
  • 关注

原创 ValidateUtils

【代码】ValidateUtils。

2023-11-10 17:49:41 78

原创 EnumCache

【代码】EnumCache。

2023-06-13 10:33:05 169

原创 FutureUtils

【代码】FutureUtils。

2023-06-10 23:04:39 280

原创 索引下推(Index Condition Pushdown)

https://www.cnblogs.com/three-fighter/p/15246577.html

2023-05-29 20:44:55 675

原创 索引失效的场景

联合索引不满足最左匹配原则 没走覆盖索引,select * 了,如果走强制索引可以看到,时间比不走索引还要长,因为要查索引以外的字段,回表的开销比不走索引还大 Order by 导致索引失效,查询的字段多于 order by 的索引字段,回表开销 索引列使用了函数 字段类型不同,如果索引列是个字符串类型,如果查询给的是数字类型,那么就不走索引,但是如果int 类型的字段作为查询条件,查询给的是字符串类型,mysql会将字符串隐式转换为int 类型,这种特殊情况,也会走索引 like 字段左边包含了

2023-05-28 21:59:26 631

原创 log4j2日志脱敏

log4j2.component.properties 文件写入:Log4jLogEventFactory = com.xx.xx.xx.FuzzLogEventFactory。resource下建文件,文件名:log4j2.component.properties。

2023-05-22 10:56:18 285

原创 es学习笔记

注意:文档变更,是主分片和副本分片执行完成,客户端才收到响应。但是有一些可选参数,可以影响上面流程。consistency 参数 one(主分片写完即可访问),all(所有分片写完才能访问),quorum(默认配置,超出半数的分片写完,就能访问)分配控制:访问任何一个节点都能获取数据,随机访问到的这个节点称为协调节点(访问了当前节点,不一定从当前节点取数据,可能当前节点负载比较高,他会分配其他节点来给数据)路由计算:hash(id) %主分片的数量。

2023-04-22 11:00:36 395

原创 hystrix原理+实战

hystrix语义为“豪猪”

2022-09-03 23:58:27 24

原创 二叉树迭代遍历JAVA

二叉树迭代遍历

2022-07-14 10:38:17 358

原创 ListHelper

ListHelper

2022-06-14 17:25:13 304

原创 gradle 查看某个包的依赖树

gradle 查看某个包的依赖树

2022-06-02 13:30:08 469

原创 aqs源码分析

Aqs源码分析

2022-05-13 14:45:43 167

原创 java一个数是否是质数

public boolean isPrime(int x) { for (int i = 2; i * i <= x; ++i) { if (x % i == 0) { return false; } } return true; }

2022-04-05 19:04:21 261

原创 java进制转换

public String convertToBaseN(int num, int n) { boolean flag = num < 0; if (flag) num = -num; StringBuilder sb = new StringBuilder(); do { sb.append(num % n); num /= n; } while (num != 0);..

2022-03-07 20:01:21 6548

原创 最大公约数,最小公倍数

//求最大公约数,最小公倍数 public void test(int a, int b) { if (a == 0 || b == 0) { return; } //最大公约数 int gcd = gcd1(a, b); //最小公倍数 int multiple = a * b / gcd; } //最大公约数,欧几里得算法,辗转相除法 publi..

2022-02-16 23:35:11 353 2

原创 grafana cat数据源常用query

Cat 数据使用:总/异常个数统计sum(sum_over_time(xxx_service:transaction:Add_Order_count{}[1m])) by (env_name) sum(sum_over_time(xxx_service:transaction:Add_Order_count{status!="0"}[1m])) by (env_name)qps:sum(sum_over_time(xxx_service:transaction:Add_Order_cou...

2021-12-29 20:15:18 866

原创 spring cloud stream 配置自定义rocketmq

spring.cloud.stream.bindings.publish-price.destination = topicspring.cloud.stream.binders.promotion-binder.type=rocketmqspring.cloud.stream.binders.promotion-binder.environment.spring.cloud.stream.rocketmq.binder.name-server = xxxxxspring.cloud.stream..

2021-12-29 18:49:28 1009 1

原创 java运行jar命令提示没有主清单属性

在maven打包插件中添加配置

2021-09-04 16:03:22 113

原创 基于dubbo实现异步调用

1.前言Java中常见的实现异步调用的方式:1.ThreadPool2.CompletableFuture3.MQ4.BlockingQueue5.Fork/Join那么作为一款优秀的RPC框架,dubbo是如何实现异步调用的呢?本文将介绍2.6.x版本以来dubbo异步调用方式的演进。1.增加consumer配置2.参数回调(2.7.0已废弃,本文将不展开)3.事件通知4.直接定义返回CompletableFuture的服务接口5.利用AsyncFor注解实现客户端的同步转异步

2021-08-30 23:38:21 2339

原创 SpringCloud Stream整合RocketMQ--事务消息和tag消息

编写application.properties文件spring.application.name=spring-cloud-stream#客户端连接RocketMq的地址spring.cloud.stream.rocketmq.binder.name-server=192.168.0.177:9876;192.168.0.188:9876#生产者spring.cloud.stream.bindings.output.destination=test-topicspring.cloud.st

2021-08-21 17:12:03 1780 1

原创 spring.cloud.stream.rocketmq 广播

生产者spring.cloud.stream.bindings.test-broadcast-topic.destination = test_broadcast_topicspring.cloud.stream.rocketmq.bindings.test-broadcast-topic.producer.sync = truespring.cloud.stream.bindings.test-broadcast-topic.content-type = application/json消费

2021-08-20 15:07:41 951

原创 logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?><configuration debug="false"> <define name="hostname" class="com.test.core.log.property.CanonicalHostNamePropertyDefiner"/> <conversionRule conversionWord="clr" converterClass="org.sprin.

2021-08-01 00:42:16 291

原创 Kafka Shell基本命令

创建kafka topicbin/kafka-topics.sh --zookeeper node01:2181 --create --topic t_cdr --partitions 30 --replication-factor 2注:partitions指定topic分区数,replication-factor指定topic每个分区的副本数 partitions分区数: partitions :分区数,控制topic将分片成多少个log。可以显示指定,如果不指定则会使用bro.

2021-07-31 23:13:10 302

原创 springboot 发送腾讯企业邮箱

如果配置写在application.properties就直接引入使用即可@Resourceprivate JavaMailSenderImpl javaMailSender;如果配置在Apollo需要写一个配置类配置如下:spring.mail.username = [email protected] = xxxxxspring.mail.host = smtp.exmail.qq.comspring.mail.protocol = smtpssp.

2021-07-15 15:25:30 1014

原创 vscode dot executable:/opt/local/bin/dot File does not exist cannot find Graphviz

1.brew install graphviz2.修改配置修改为

2021-06-30 15:48:01 2638 1

原创 mac 安装oh my zsh

mac 本身就自带了zsh.如果不放心可以查看下是否安装 cat /etc/shells如果没有brew install zsh 更新zsh

2021-06-20 22:31:45 196

原创 Spring AOP中何时使用JDK动态代理,何时使用CGLIB动态代理?为什么springboot 2.x默认是使用CGLIB动态代理?

@Overridepublic AopProxy createAopProxy(AdvisedSupport config) throws AopConfigException { // 1.config.isProxyTargetClass() 代表 配置中的proxy-target-class属性true/false,默认false // if (config.isOptimize() || config.isProxyTargetClass() || hasNoUserS.

2021-06-18 22:15:24 1328 1

原创 Spring计时器StopWatch使用

StopWatch stopWatch = new StopWatch();stopWatch.start();//代码stopWatch.stop();log.info("上传图片耗时: {}ms", stopWatch.getTotalTimeMillis());

2021-06-04 20:57:21 156

原创 redis缓存雪崩+缓存击穿解决方案(spring自定义注解)

import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target; /** * cache注解 */@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @i.

2021-05-19 20:54:34 133

原创 基于Jackson的jsonUtil

import com.fasterxml.jackson.annotation.JsonInclude.Include;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.core.type.TypeReference;import com.fasterxml.jackson.databind.ObjectMapper;import com.fasterxml.jackson..

2021-05-18 23:51:53 290

原创 git操作

创建分支 git branch 分支名 查看分支 git branch -v 合并分支:(将dev合并到master)切换到被合并的分支 git checkout master git merge dev删除分支(本地) git branch -D 分支名 删除分支(远程) git push <origin> --delete 分支名 查看分支状态 git status...

2021-02-20 23:26:27 162

原创 构建树形结构

实体:ackage com.dmo.screen.po;import lombok.Data;import javax.persistence.*;import java.io.Serializable;import java.util.List;@Data@Entity@Tablepublic class Organization implements Serializable { //自增主键生成策略 @Id @GeneratedValue(strategy =

2021-02-03 20:29:25 207

原创 springboot 项目关闭时关闭zookeeper 注册服务

启动类上加ApplicationContext app = SpringApplication.run(SentinelApplication.class, args);ShutdownSignalHandler.install("TERM", app);//捕捉kill命令ShutdownSignalHandler.install("INT", app);//捕捉ctrl+c命令添加配置package com.ddmc.sentinel.system;import org.apac

2021-01-26 17:39:18 1150

原创 nacos启动报错db.num is null & Unable to start embedded Tomcat

db.num is null新建数据库nacos,运行conf文件夹下nacos-mysql.sql,修改application.properties修改如下:### If use MySQL as datasource:spring.datasource.platform=mysql### Count of DB:db.num=1### Connect URL of DB:db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEnco

2021-01-25 16:29:11 434

原创 mysql-windows安装启动

下载包 管理员启动命令提示符 net start mysql,报错,报错查看mysqld --console ,说的是无法访问data目录,手动创建无效 初始化mysqld --initialize-insecure net start mysql mysql -uroot 修改密码set password for root@localhost = password('root');...

2021-01-25 16:19:24 65

原创 2020 intellij idea安装的插件所在的系统目录(idea插件目录)

C:\Users\用户名\AppData\Roaming\JetBrains\IntelliJIdea2020.3\pluginsC:\Users\Administrator\AppData\Roaming\JetBrains\IntelliJIdea2020.3\plugins

2021-01-22 19:26:55 2809

原创 rabbitmq如何保证消息不丢失

丢数据的三个场景:生产者丢失,ma自己丢失,消费者丢失生产者丢失:第一种消息发送前开启事务,发生异常就回滚事务 第二种开启confirm模式,每次写得消息都会分配一个唯一的id,写入mq之后会回传acK消息,失败回调用nack接口,可以根据这重新处理这个消息 两种处理方式的区别:事务机制是同步的,提交一个事务会阻塞的,而confirm机制是异步的,发送消息之后还能发送下一个消息,一般使用confirm 机制mq丢失:对消息队列和交换机持久化,并且发送消息的是deliveryMode 设置..

2021-01-09 15:40:58 756 1

原创 SpringBoot项目启动时做一些初始化工作的五种方式

前言通常的我们的项目开发中,经常会遇到那种在服务一启动就需要自动执行一些业务代码的情况。比如将数据库中的配置信息或者数据字典之类的缓存到redis,或者在服务启动的时候将一些配置化的定时任务开起来。关于spring mvc或者springboot如何在项目启动的时候就执行一些代码,方法其实有很多,我这边介绍一下我使用过的三种。1、@PostConstruct注解从Java EE5规范开始,Servlet中增加了两个影响Servlet生命周期的注解,@PostConstruct和@PreDest.

2021-01-07 16:02:56 1556

原创 Netty 的零拷贝机制

Netty的零拷贝机制是一种应用层的实现。CompositeByteBuf,讲多个ByteBuf 合并为逻辑上的ByteBuf ,避免了多个ByteBuf之间的拷贝(如果是两个数组拷贝,那么可能先申请大的数组,将两个小的数组复制过来),但是ByteBuf提供了虚拟的复合缓冲区,逻辑上将多个ByteBuf合并到一起,实际上,数据没有动 wrapedBuffer 将byte[] 包装成ByteBuf对象,字节数组的地址不变,ByteBuf引用字节数组的地址 slice拆分,将大的ByteBuf 拆分成几

2021-01-06 19:29:08 197

原创 Java中提供了synchronized,为什么还要提供Lock呢?

死锁的四个条件 互斥条件:在一段时间内某资源仅为一个线程所占有。此时若有其他线程请求该资源,则请求线程只能等待。 不可剥夺条件:线程所获得的资源在未使用完毕之前,不能被其他线程强行夺走,即只能由获得该资源的线程自己来释放(只能是主动释放)。 请求与保持条件:线程已经保持了至少一个资源,但又提出了新的资源请求,而该资源已被其他线程占有,此时请求线程被阻塞,但对自己已获得的资源保持不放。 循环等待条件:在发生死锁时必然存在一个进程等待队列{P1,P2,…,Pn},其中P1..

2021-01-06 18:52:44 223

空空如也

空空如也

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

TA关注的人

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