![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
笔记
文章平均质量分 65
问题笔记
头未秃
这个作者很懒,什么都没留下…
展开
-
Feign远程调用丢失请求头
feign远程调用,自己创建一个新的request对象,按照指定的路径和参数发起新的请求,并得到响应结果。但是这个新的request对象请求头为空,所以丢失了原先请求中的数据。feign在创建新的request对象时,会调用一系列容器中的RequestInterceptor对象,执行其apply方法,对这个创建好的request进行增强,再去真正执行请求。但是默认情况下容器中不存在这类拦截器对象。原创 2023-09-18 16:30:18 · 1317 阅读 · 0 评论 -
Springboot整合RabbitMQ并使用
创建交换机(Exchange)、队列(Queue)和建立绑定关系(Binding)`direct`:会将消息发送给路由键必须完全匹配的队列中。`@RabbitListener`:可以标注在类和方法上 (监听哪些队列)`@RabbitHandler`:只能标注在方法上 (重载区别不同的消息)`fanout`:会将消息发送给所有绑定的队列中,不管路由键是否匹配。`topic`:主体模式其实就是在路由模式的基础上,支持了对key的通配符匹配原创 2023-03-06 10:29:09 · 3631 阅读 · 0 评论 -
docker安装rabbitmq并挂载
management:表示可以通过web页面管理。alpine:表示是linux最小版本,不推荐新手安装。原创 2023-03-02 10:38:49 · 3611 阅读 · 1 评论 -
JAVA Stream的collect用法与原理
toListtoSettoCollectiontoMapcountingsummingIntaveragingIntjoiningmaxByminBygroupingBypartitioningBycollectingAndThenmapping转载 2022-11-12 23:09:56 · 2137 阅读 · 0 评论 -
JAVA的Stream流操作
Stream相较于传统的foreach的方式处理stream,到底有啥优势?代码更简洁、偏声明式的编码风格,更容易体现出代码的逻辑意图逻辑间解耦,一个stream中间处理逻辑,无需关注上游与下游的内容,只需要按约定实现自身逻辑即可并行流场景效率会比迭代器逐个循环更高函数式接口,延迟执行的特性,中间管道操作不管有多少步骤都不会立即执行,只有遇到终止操作的时候才会开始执行,可以避免一些中间不必要的操作消耗转载 2022-11-11 16:12:31 · 813 阅读 · 0 评论 -
docker安装kibana
docker安装kibana1 拉取kibana镜像docker pull kibana:7.13.32 使用镜像创建容器docker run --name kibana --restart=always \ -e ELASTICSEARCH_HOSTS=http://192.168.56.10:9200 \-p 5601:5601 \-d kibana:7.13.3 -e ELASTICSEARCH_HOSTS=http://192.168.56.10:9200:设置elasticse原创 2021-07-23 22:47:28 · 244 阅读 · 0 评论 -
docker创建redis镜像并挂载
一、Docker安装redis1 从dockerHub拉取镜像到本地2 创建目录(宿主机)2.1 配置文件目录2.2 数据目录3 启动容器,加载配置文件并持久化数据原创 2021-07-14 21:51:40 · 355 阅读 · 0 评论 -
ElasticSearch - 集群部署及脑裂问题
集群部署脑裂问题集群、分片原理原创 2022-09-23 14:27:27 · 1424 阅读 · 0 评论 -
高并发下秒杀商品,你必须知道的9个细节
1 瞬时高并发2. 页面静态化3 秒杀按钮4 读多写少5 缓存问题5.1 缓存击穿5.2 缓存穿透6 库存问题6.1 数据库扣减库存6.2 redis扣减库存6.3 lua脚本扣减库存7 分布式锁7.1 setNx加锁7.2 set加锁7.3 释放锁7.4 自旋锁7.5 redisson8 mq异步处理8.1 消息丢失问题8.2 重复消费问题8.3 垃圾消息问题8.4 延迟消费问题9 如何限流?9.1 对同一用户限流9.2 对同一ip限流9.3 对接口限流9.4 加验证码9.5 提高业务门槛转载 2022-09-20 14:36:14 · 267 阅读 · 0 评论 -
ElasticSearch - 分词器
标准分词器(standard analyzer)简单分词器(simple analyzer)空白分词器(whitespace analyzer)停止分词器(stop analyzer)正则表达式分词器(pattern analyzer)语言分词器(language analyzer)Keyword AnalyzerCustomer Analyzer原创 2022-09-08 18:12:18 · 845 阅读 · 0 评论 -
ElasticSearch - 检索
Query DSL基本语法格式_source【返回部分字段】match【匹配查询】match_phrase【短语匹配】multi_match【多字段匹配】bool【复合查询】filter【结果过滤】aggregations【执行聚合】原创 2022-09-07 15:23:40 · 205 阅读 · 0 评论 -
ElasticSearch - 映射(mapping)
数据类型动态映射(Dynamic Mapping)手动创建映射原创 2022-09-07 15:19:22 · 490 阅读 · 0 评论 -
ElasticSearch -入门
Near Realtime(NRT 近实时)Cluster(集群)Node(节点)Index(索引)Type(类型)Document(文档)Shards & Replicas(分片 & 副本)_cat_bulkelasticsearch集群原理Elasticsearch检索原理原创 2022-09-07 15:06:18 · 394 阅读 · 0 评论 -
win11 自带远程桌面使用(包含非局域网使用以及win11升级为专业版)
win11 自带远程桌面使用(包含非局域网使用以及win11升级为专业版)原创 2022-07-28 17:03:22 · 26367 阅读 · 4 评论 -
Spring DI(依赖注入)的三种注入方式分析
DI的三种常见注入方式为:**setter注入**、**构造器注入**和**基于注解的注入**(也叫field注入),下面来分别讲讲他们的特点。转载 2022-06-01 15:43:38 · 2371 阅读 · 0 评论 -
@Autowired 和 @Resource 详解
spring中,@Resource和@Autowired都是做bean的注入时使用。使用过程中,有时候@Resource 和 @Autowired可以替换使用;有时,则不可以。@Resource是JavaEE自带的注解,根据ID进行注入的.@Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按byName自动注入罢了。转载 2022-06-01 15:19:13 · 8707 阅读 · 1 评论 -
Spring IOC 与 DI
Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制所以2004年大师级人物Martin Fowler又给出了一个新的名字:“依赖注入”,相对IoC 而言,“依赖注入”明确描述了“被注入对象依赖IoC容器配置依赖对象”。转载 2022-06-01 14:48:48 · 251 阅读 · 0 评论 -
SecureCRT 用sftp上传下载文件
SecureCRT 用sftp上传下载文件securecrt 按下ALT+P就开启新的会话 进行ftp操作。输入:help命令,显示该FTP提供所有的命令 pwd: 查询linux主机所在目录(也就是远程主机目录) lpwd: 查询本地目录(一般指windows上传文件的目录:我们可以通过查看"选项"下拉框中的"会话选项",我们知道本地上传目录为:D:/我的文档) ls: 查询连接到当前linux主机所在目录有哪些文件 lls: 查询当前本地上传目录有哪些文件 lcd: 改变本地上传原创 2022-04-02 14:07:22 · 2563 阅读 · 0 评论 -
idea常用插件
idea常用插件原创 2022-03-31 11:44:17 · 302 阅读 · 0 评论 -
MyBatis-Plus自定义DefaultSqlInjector,扩展BaseMapper
MyBats-Plus在一开始就给大家提供了很多通用的方法,在DefaultSqlInjector这个类中,在MethodList这个集合当中包含的都是通用方法类,如果想要使用自定义通用方法,也需要添加到这个集合当中。自定义自己的通用方法可以实现接口 ISqlInjector 也可以继承抽象类 AbstractSqlInjector 注入通用方法 SQL 语句 然后继承 BaseMapper 添加自定义方法,全局配置 sqlInjector 注入 MP 会自动将类所有方法注入到 mybatis 容器中。原创 2022-03-08 15:06:44 · 2896 阅读 · 1 评论 -
linux安装jdk8
1.下载jdk8方法一:官网手动下载下载Linux环境下的jdk1.8Java Downloads | Oracle目前在官网下载低于jdk1.8的java jdk的时候需要登陆,这边分享一个账号,方便下载账号:913898356@qq.com密码:Oracle123.账号提供者:https://blog.csdn.net/WNsshssm/article/details/843155192.源码包解压使用SecureCRT将jdk源码包,上传到/usr/local(软件一般安装到这个目原创 2022-02-16 17:21:20 · 178 阅读 · 0 评论 -
linux磁盘分区、格式化并挂载
查看磁盘信息fdisk -l磁盘分区fdisk -u /dev/vdb磁盘格式化mkfs.ext4 /dev/vdb1磁盘挂载mkdir /datals -l /dev/disk/by-uuidvim /etc/fstabreboot原创 2022-02-16 16:46:40 · 2012 阅读 · 0 评论 -
docker安装seata并挂载,同时注册到nacos
docker安装seata1、下载镜像docker pull seata:1.3.02、配置文件registry.confregistry { # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa # 默认为file 这里我是使用nacos为注册中心 type = "nacos" nacos { application = "seata-server" # nacos的地址 serverAddr = "127原创 2022-02-16 10:10:06 · 1065 阅读 · 0 评论 -
LocalDate、LocalTime、LocalDateTime常用方法
LocalDate常用方法、LocalTime常用方法、LocalDateTime常用方法原创 2022-01-18 16:03:46 · 1513 阅读 · 0 评论 -
Kafka、ActiveMQ、RabbitMQ、RocketMQ 区别以及高可用原理
1.为什么使用消息队列?2.消息队列有什么优点和缺点?3.Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?4.如何保证消息队列的高可用?原创 2021-12-30 09:12:07 · 238 阅读 · 0 评论 -
docker安装nacos并挂载
docker安装nacosdocker pull nacos原创 2021-12-29 21:24:45 · 3357 阅读 · 2 评论 -
JVisualVM本地监控与远程监控
一、介绍VisualVM,能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的).从界面上看还是比较简洁的,左边是树形结构,自动显示当前本机所运行的Java程序,还可以添加远程的Java VM,其中括号里面的PID指的是进程ID。OverView界面显示VM启动参数以及该VM对应的一些属性。Monitor界面则是监控Java堆大小,Permgen大小,Classes和线程数量。jdk不同版本中界面会不太一致原创 2021-11-27 23:55:26 · 2035 阅读 · 1 评论 -
在使用jonsole、jvisualvm时,不显示本地Java进程信息
在使用jonsole、jvisualvm时,不显示Java进程信息是因为当前用户并无权限在这个hsperfdata_%USER%文件夹下创建文件C:\Users%USER%\AppData\Local\Temp\注:此处%USER%为变量代表操作系统用户名进入该目录,看到有个hsperfdata_%USER%目录,进入该目录,发现该目录下没有任何文件。(当然我这个是改好的,所以里面有东西)经验证当前用户并无权限在此文件夹下创建文件。右击 属性->安全发现组或用户名中没有我当前使用的原创 2021-11-27 23:49:35 · 1234 阅读 · 0 评论 -
JMeter在windows下地址占用bug解决
原因:Windows提供给TCP/IP链接的端口为1024-5000,并且4分钟回收一次,就导致了我们在短时间跑大量请求时将端口占满解决步骤:1、启动注册表编辑器。在cmd中regedit命令打卡注册表2、在注册表中查找以下子项,然后单击"Parameters参数":HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters3、在" 编辑" 菜单上,单击 “新建”,然后添加以下注册表项:最大端口数:值名称:M原创 2021-11-25 23:28:30 · 279 阅读 · 0 评论 -
java 好玩的代码注释
佛祖保佑永无BUG 神兽护体悟空大全原创 2021-11-19 09:33:16 · 1455 阅读 · 1 评论 -
在springboot中给mybatis加拦截器
Executor:拦截执行器的方法。ParameterHandler:拦截参数的处理。ResultHandler:拦截结果集的处理。StatementHandler:拦截Sql语法构建的处理。@Intercepts:标识该类是一个拦截器;@Signature:指明自定义拦截器需要拦截哪一个类型,哪一个方法; 2.1 type:对应四种类型中的一种; 2.2 method:对应接口中的哪个方法; 2.3 args:对应哪一个方法参数类型(因为可能存在重载方法);原创 2021-11-05 09:49:12 · 10357 阅读 · 4 评论 -
mybatis xml映射文件 标签最全详解
一、定义SQL语句(1)select 标签的使用(2)insert、delete、update标签的使用二、查询结果集(1)简单映射:(2)高级结果映射三、动态拼接SQL(1)if 标签的使用(2)foreach 标签的使用(3)choose 标签的使用四、格式化输出(1)where(2)set(3)trim五、配置关联关系(1)association(一对一)(2)collection(一对多)(3)constructor(构造方法)六、sql标签与include标签原创 2021-11-03 11:46:40 · 5201 阅读 · 0 评论 -
JVM调优重新标记-三色标记法
三色标记法既然是三色标记法,顾名思义,就是用三种颜色来标记内存中的对象,这三种颜色表示不同的意义。下面就是内存中的对象可能出现的三种颜色,以及它们表示的意义:黑色:对象本身与其成员变量均已标记完成。灰色:对象本身被标记了,但是它的成员变量还没有被标记完成白色:未被标记的对象。原创 2021-09-16 16:50:14 · 600 阅读 · 0 评论 -
springboot 自定义消息转换器
首先我们继承AbstractHttpMessageConverter来实现一个自己的消息转换器。然后将自定义的消息转换器加入到springmvc容器中,以便被使用。原创 2021-09-10 15:37:58 · 1324 阅读 · 0 评论 -
StringBoot之jackson
ObjectMapper可以让对象与JSON之间相互转换,除此之外Jackson还提供了JsonGenerator 和JsonParser 这两个类,它们可以更细粒度化。调用ObjectMapper的writeValueAsString()和readValue()方法,最终还是会交给JsonGenerator和JsonParser去处理。原创 2021-09-10 13:59:19 · 512 阅读 · 0 评论 -
前后端分离 开发跨域请求
浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域只需使用nginx将前后端项目部署为同一个域 当我们发生跨域请求的时候要先发送一个预检请求 服务器会响应是否允许跨域 如果允许跨域请求,才发送真实的请求 所以我们可以从这个地方入手,让服务器响应允许跨域原创 2021-04-02 15:19:28 · 521 阅读 · 1 评论 -
springboot jasypt2.x与jasypt3.x的使用
springboot jasypt2.x与jasypt3.x的使用如果我们把大量的配置信息都放在配置文件中是会有安全隐患的,那么如何消除这个隐患呢?最直接的方式就是把配置信息中的一些敏感信息(比如数据库密码、中间件密码)加密,然后程序在获取这些配置的时候解密,就可以达到目的。这个时候,jasypt框架就派上用场了。原创 2021-04-14 16:50:06 · 4389 阅读 · 0 评论 -
Mysql查看执行计划
使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的,分析你的查询语句或是表结构的性能瓶颈。explain执行计划包含的信息其中最重要的字段为:id、type、key、rows、Extra各字段详解idselect查询的序列号,包含一组数字,表示查询中执行select子句或操作表的顺序三种情况:1、id相同:执行顺序由上至下2、id不同:如果是子查询,id的序号会递增,id值越大优先级越高,越先被执行3、id相同又不同(两种情况同时存转载 2021-07-07 09:05:22 · 7034 阅读 · 0 评论 -
在win10系统中查看端口被什么的程序占用了
1、按 win+R,点击运行页面,写入cmd回车,点击命令行页面2、使用命令查看端口,这里查看10000端口;3、在这里,大家可以看到,本地的10000端口被PID为9640的进程占用了4、然后,使用tasklist命令查看进程;5、大家可以看出,是java.exe程序占用了10000端口;6、然后,可以用taskkill语句结束进程,这里大概需要管理员权限才能正常的结束语句;7、再用netstat -aon|findstr "10000"查看,发现443端口无被占用了原创 2021-04-01 22:28:11 · 1233 阅读 · 0 评论 -
Datax job.json配置文件模板说明
json配置文件模板说明{ "job": { "content": [ { "reader": { "name": "mysqlreader", "parameter": { "querySql": "", #自定义sql,支持多表关联,当用户配置querySql时,直接忽略table、column、原创 2021-08-10 19:28:14 · 3983 阅读 · 3 评论