- 博客(43)
- 资源 (3)
- 收藏
- 关注

原创 RabbitMQ如何保证消息的可靠性
1、保证消息不丢失(三步)1.1、开启事务(不推荐)1.2、开启confirm(推荐)1.3、开启RabbitMQ持久化(交换机、队列、消息)1.4、关闭RabbitMQ自动ack(改成手动)2、保证消息不重复消费2.1、幂等性(每个消息用一个唯一标识来区分,消费前先判断标识有没有被消费过,若已消费过,则直接ACK)3、RabbitMQ如何保证消息的顺序性将消息放入同一个交换机,交给同一个队列,这个队列只有一个消费者,消费者只允许同时开启一个线程4、RabbitMQ消息重试机制..
2021-08-05 09:21:18
602
1

原创 Spring Boot 中必须掌握的 45 个注解
1.SpringBoot/spring@SpringBootApplication:包含@Configuration、@EnableAutoConfiguration、@ComponentScan通常用在主类上;@Repository:用于标注数据访问组件,即DAO组件;@Service:用于标注业务层组件;@RestController:用于标注控制层组件(如struts中的action),包含@Controller和@ResponseBody;...
2021-03-01 09:54:14
174
原创 mysql查询不区分大小写
utf8_bin 将字符串中的每一个字符用二进制数据存储,区分大小写。 utf8_genera_ci 不区分大小写,ci为case insensitive的缩写,即大小写不敏感。 utf8_general_cs 区分大小写,cs为case sensitive的缩写,即大小写敏感。...
2022-05-20 08:53:30
264
原创 SpringBoot集成Druid
正式集成之前,还是对Druid进行一个简单的了解Druid是一个阿里开源的连接池组件加⼊了日志监控,不需要额外的界面开发详细介绍可以看官方文档:https://www.alibabacloud.com/help/zh/doc-detail/72987.htm在springboot 2.0 以上默认都是使⽤用Hikari数据源, Hikari与Druid都是当前⽐比较优秀的数据源com.alibaba.druid.pool.DruidDataSource 基本配置参数如下:passwo
2022-01-07 11:16:54
561
原创 java 递归实现权限树
1、菜单树结构:[ { "id": "1", "name": "主菜单1", "pid": "0", "menuChildren": [ { "id": "4", "name": "子菜单1.1", "pid": "1", "menuChildren": [
2022-01-07 10:17:40
486
原创 swagger安全控制
项目场景:当我们使用swagger,进行文档管理的时候,担心文档暴露。1、环境配置:如以上配置,则只有在dev以及test环境有效,在生产环境不可访问。2.账户权限配置配置yml文件注意:swagger.production不可设置为true,否则将屏蔽所有资源在swaggerConfig中添加注解@EnableSwaggerBootstrapUI此时密码账号不对,不可登录。...
2022-01-07 09:54:08
700
原创 swagger 全局token
1. 在swaggerConfig 配置文件中定义一个bean @Bean SecurityScheme securityScheme() { return new ApiKey("token", "token", "header"); }2. 添加token @Bean public Docket baseRestApi() { return new Docket(DocumentationType.SWAGGER_2) .groupName(
2022-01-06 17:55:56
431
原创 Corg.quartz.JobPersistenceException: Couldn‘t retrieve trigger
项目场景:提示:这里简述项目相关背景:例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大)问题描述:启动项目之前修改了路径,调整了位置导致报错。结果quartz就不认识Caused by: org.quartz.JobPersistenceException: Couldn't retrieve trigger: io.renren.modules.job.enti原因分析:因为quartz在job_details中进行
2022-01-06 17:40:19
2962
原创 idea快捷键
快捷键名称 快捷键介绍 Alt+Insert 快速生成构造器/Getter/Setter等 Ctrl+N 快速打开类 Ctrl+R 替换文本 Ctrl+F 查找文本 Ctrl+X 删除行 Ctrl+D 复制行 Ctrl+O 重写方法 Ctrl+I 实现方法 Ctrl+Y 删除当前行 Shift+Ente 向下插入新行 Ctrl+Shift+F 全局查找 Ctrl+”+/-” 当前方法
2021-08-07 09:12:05
185
原创 BigDecimal作用
Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些不需要准确计算精度的数字,我们可以直接使用Float和Double处理,但是Double.valueOf(String) 和Float.valueOf(String)会丢失精度。所以开发中,如果我们需要精确计算的结果,则必须使用BigDecimal类来操作。 Big..
2021-08-05 09:14:48
669
原创 多线程问题
多线程有什么用?线程和进程的区别是什么?ava实现线程有哪几种方式?启动线程方法start()和run()有什么区别?怎么终止一个线程?如何优雅地终止线程?一个线程的生命周期有哪几种状态?它们之间如何流转的?线程中的wait()和sleep()方法有什么区别?多线程同步有哪几种方法?什么是死锁?如何避免死锁?多线程之间如何进行通信?线程怎样拿到返回结果?violatile关键字的作用?新建T1、T2、T3三个线程,如何保证它们按顺序执行?怎么控制同一时间只有3个线程运行?为什么要
2021-06-07 14:58:38
277
原创 Sentinel流控的集成和简单应用
一、背景由于业务中部分请求的瞬时请求量过大,容易产生系统崩溃的风险,因此采用sentinel的流量控制对业务中的大规模请求量进行流量限制。二、sentinel简介随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式服务架构的流量控制组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。(一)sentinel基本概念1.资源资源是Sentinel的关键概念。它可..
2021-06-07 10:55:58
468
原创 Steram流的部分使用
一、Stream流的思想和生成方式二、Stream流的使用2.1、生成流通过数据源(集合,数组等)生成流list.stream()2.2、中间操作一个流后面可以跟随零个或多个中间操作,其目的主要是打开流,做出某种程度的数据过滤/映射,然后返回一个新的流,交给下一个操作使用filter()2.3、终结操作一个流只能有一个终结操作,当这个操作执行后,流就被使用"光"了,无法再被操作。所以这必定是流的最后一个操作forEach2.4、案例public class Demo1 { ..
2021-06-07 10:29:33
2164
原创 spring校验的说明
限制 说明 @Null 限制只能为null @NotNull 限制必须不为null @AssertFalse 限制必须为false @AssertTrue 限制必须为true @DecimalMax(value) 限制必须为一个不大于指定值的数字 @DecimalMin(value) 限制必须为一个不小于指定值的数字 @Digits(integer,fraction) 限制必须为一个小数,且整数部分的位数不能超过integer,小数
2021-06-05 15:55:07
215
原创 浏览器自适应
<div class"abc">自适应大小</div> </style> @media screen and (max-width: 2000px) { .abc {top:-130px;} } /* 设置了浏览器宽度不大于1200px时 abc 显示900px宽度 */ @media screen and (max-width: 1700px) { .abc {top:-50px;} ...
2021-04-21 21:02:36
236
原创 Java 性能优化的 50 个细节
1、尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第一,控制资源的使用,通过线程同步来控制资源的并发访问;第二,控制实例的产生,以达到节约资源的目的;第三,控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信。2、尽量避免随意使用静态变量当某个对象被定义为static变量所引用,那么GC通常是不会回收这个对象所占有的内存,如此时静态变量b的生命周期
2021-03-03 09:12:51
197
原创 MyBatis 使用的 9 种设计模式
Mybatis至少遇到了以下的设计模式的使用: Builder模式,例如SqlSessionFactoryBuilder、XMLConfigBuilder、XMLMapperBuilder、XMLStatementBuilder、CacheBuilder; 工厂模式,例如SqlSessionFactory、ObjectFactory、MapperProxyFactory; 单例模式,例如ErrorContext和LogFactory; 代理模式,Mybatis实现的核心,
2021-02-18 11:22:27
132
原创 redis启动失败
启动文件目录 D:\redis>redis-server.exe redis.windows.conf 若仍报以下错误: # Creating Server TCP listening socket 127.0.0.1:6379: bind: No error 按顺序输入如下命令就可以连接成功 1.redis-cli.exe 2.shutdown 3.exit 4. redis-server.exeredis.windows....
2020-11-06 09:58:22
323
2
原创 String类的20种常见方法
和长度有关的方法返回类型 方法名 作用 int length() 得到一个字符串的字符个数(一个中文是一个字符,一个英文是一个字符,一个转义字符是一个字符)和数组有关的方法返回类型 方法名 作用byte[] getBytes() 将一个字符串转换成字节数组char[] toCharArray() 将一个字符串转换成字符数组...
2020-11-06 09:50:33
1551
原创 linux项目部署工具命令总结
启动mongodb命令: mongod --fork --dbpath=/work/mongodb-linux-x86_64-3.0.6/data --logpath=/work/mongodb-linux-x86_64-3.0.6/data/logs/mongodb/mongodb1.log 结束服务 mongod: pkill mongod 查看进程 netstat -lanp | ...
2020-03-31 09:17:36
193
原创 pageHeler遇到的坑分页问题
1、在微服务里面做查询接口,用到pageHelper,数据库只有8行数据,pageNum=1&pageSize=10,pageNum=2&pageSize=10,pageNum=3&pageSize=10。。。返回的数据都是那8条。原因:这是pageHelper里面自带的一个功能,叫做reasonable分页参数合理化,3.3.0以上版本可用,默认是false。 启用合...
2020-03-31 09:14:03
411
原创 分页问题与微服务配置feign
1 /在微服务里面做查询接口,用到pageHelper,数据库只有8行数据,pageNum=1&pageSize=10,pageNum=2&pageSize=10,pageNum=3&pageSize=10。。。返回的数据都是那8条。原因:这是pageHelper里面自带的一个功能,叫做reasonable分页参数合理化,3.3.0以上版本可用,默认是false。 启...
2020-03-17 18:33:43
715
原创 mongoDB启动失败服务名无效
以管理员模式打开cmd,cd到bin目录下,运行: mongod --config "D:\MongoDB\server\3.4\mongo.conf" --install --serviceName "MongoDB" 再运行: net start MongoDB
2020-02-20 09:21:56
408
转载 18道kafka高频面试题哪些你还不会?
kafkahttps://juejin.im/post/5dff1de26fb9a01636235380?utm_source=gold_browser_extension
2019-12-23 08:24:44
220
原创 MD5加密
private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" }; private final static String MD5 = "MD5"; private final static Strin...
2019-11-26 15:09:51
179
1
转载 端口查看以及关闭进程
1. 查看端口占用在windows命令行窗口下执行:netstat -aon|findstr "8080" TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448端口“8080”被PID(进程号)为2448的进程占用。查看端口“8080”被哪个应用占用,,继续执行下面命令:ta...
2019-11-23 16:13:47
192
原创 nginx启动失败
1、nginx启动失败常见的问题端口占用启动不成功,通过netstat -aon|findstr "8080" TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448查看,把端口关闭taskkill /f /im notepad.exe 名称关闭taskkill /f /p...
2019-11-23 16:06:33
502
nginx.conf
2020-03-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人