自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 项目出现乱码

项目出现乱码可能是项目编码未修改,在项目编码确认修改后,可能是在修改之后项目配置文件未重写,导致乱码。

2021-07-24 08:04:33 141

原创 小知识课堂

注解小知识从配置文件中获取数据信息@Component@ConfigurationProperties(prefix = "dog")配置文件server: port: 8080dog: name: 张三 age: 18你可以使用此类注解从配置文件中中获取配置,配置文件最好位yml,可以减少很多冗余代码JSR303数据校检@Validated使用此注解可以在属性上机型数据校检...

2021-07-13 08:22:35 105

原创 在数据库中创建一张表

在数据库中创建一张表创建一个数据库为ssmbuildCREATE DATABASE `ssmbuild`;** USE 将数据库上下文更改为指定数据库**USE `ssmbuild`;创建表最好先删除一次,防止数据库中存在表DROP TABLE IF EXISTS 'books'创建表数据CREATE TABLE `books`(//主键名字 主键类型 非空 自增 字段注释`bookID` INT NOT NULL AUTO_INCREMENT COMMENT '书籍id',`b

2021-06-29 20:26:27 562

原创 静态资源无法导出

ssm框架基础依赖含静态资源无法导出参考文章:pom文件标签内容常规依赖(junit、数据库驱动、连接池、mybatis、spring、servlet jsp整合)<!--依赖 junit 数据库驱动 连接池 servlet jsp mybatis spring--> <dependencies> <!--juint--> <dependency> <groupId>junit&

2021-06-18 17:20:23 96

原创 Mysql安装教程

Mysql安装教程官网:https://www.mysql.com/1.打开官网,点击DOWNLOADS2.在最下方找到 MySQL Community (GPL) Downloads3.点击MySQL Community Server4.选择以前版本与最新版本5.免安装版本直接点击Download6.下载安装版本点击go to download page7.下载完成进行安装(我选择免安装类型)配置系统环境变量MYSQL_HOMEPATH使用管理员模式运行cmd窗口,

2021-06-16 17:41:24 196

原创 三次握手,四次挥手

三次握手,四次挥手建立TCP链接需要三次握手,断开需要四次挥手,整个过程如下:TCP是一种面向连接的单播协议,在发送数据前,通信双方必须在彼此间建立一条连接。所谓的“连接”,其实是客户端和服务器的内存里保存的一份关于对方的信息,如ip地址、端口号等。TCP可以看成是一种字节流,它会处理IP层或以下的层的丢包、重复以及错误问题。在连接的建立过程中,双方需要交换一些连接的参数。这些参数可以放在TCP头部。TCP提供了一种可靠、面向连接、字节流、传输层的服务,采用三次握手建立一个连接。采用4次挥手来关闭

2021-06-03 20:02:06 51

原创 sleuth+zipkin服务链路追踪

sleuth+zipkin服务链路追踪导入依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-sleuth</artifactId> <version>3.0.3</version> &

2021-06-03 15:09:25 48

原创 循环依赖解决

循环依赖解决出现循环依赖之后,我们可以在系统构造的时候一构造就进行使用。 @Autowired RabbitTemplate rabbitTemplate; //构造方法与类名与类名一致 public RabbitMqTest(RabbitTemplate rabbitTemplate){ this.rabbitTemplate = rabbitTemplate; }...

2021-06-01 17:33:04 258

原创 流量控制sentinel与Hystrix

流量控制sentinel与Hystrixsentinel地址:https://github.com/alibaba/Sentinel/wiki/介绍

2021-05-30 20:06:15 229

原创 @Scheduledjava定时器

@Scheduledjava定时器1.https://blog.csdn.net/u011374582/article/details/828836202.https://www.cnblogs.com/wdzhz/p/13306891.html3.https://blog.csdn.net/lxxc11/article/details/78471089

2021-05-30 10:51:13 69

原创 bean中获取配置文件中的数据信息

bean中获取配置文件中的数据信息配置文件例如配置文件application.properties中有spring.application.name=myProjectfeign.hystrix.enabled=true容器中可以使用该种形式获取对应的配置key对应的value值 @Value("${spring.application.name}”)String applicationName;...

2021-05-29 18:41:19 171

原创 以ngrok为例,实现内网穿透

内网穿透内网穿透常用的几个软件1.natapp:https://natapp.cn/2.续断:https://www.zhexi.tech/3.花生壳:https://www.oray.com/4.ngrok:https://ngrok.com/以4为例(免费),安装与使用https://blog.csdn.net/weixin_43229729/article/details/88762558...

2021-05-29 18:36:17 82

原创 非对称加密

非对称加密四把钥匙,没有钥匙A和钥匙D你就没有办法模拟发送方接收和发送信息,没有钥匙B和钥匙C你就没有办法模拟接收方发送和接受消息链接:https://blog.csdn.net/u014294681/article/details/86705999...

2021-05-29 17:57:15 45

原创 消息丢失、积压、重复解决方案

消息丢失、积压、重复解决方案

2021-05-29 17:49:34 51

原创 路径匹配器

路径匹配器 boolean match = new AntPathMatcher().match("路径匹配",路径); if (match){ return true; }链接:https://blog.csdn.net/weixin_33671935/article/details/93271810

2021-05-29 12:20:36 76

原创 本地事务和分布式事务

@Transactional本地事务的回滚远程服务假失败:远程服务其实成功了,由于网络故障等原因没有返回导致服务回滚,数据库却发生改变远程服务成功,其他方法出现问题,导致已执行的远程请求无法回滚@Transactional本地事务在分布式系统中,只能控制自己的回滚,控制不了其他事务的回滚分布式事务:最大原因由于网络波动问题(无法确认远程调用是否是真失败还是假失败)+分布式机器(不操作一个数据库无法回滚)注意:直接调用同一个类里面的事务方法会导致事务失效(即使设置事务的传播级别),因为a

2021-05-25 10:21:08 141

原创 Feign异步编排远程调用上下文丢失问题

Feign异步编排远程调用上下文丢失问题异步编排使用的ThreadLocal不是同一个,所以就会造成ThreadLocal上下文丢失问题主线程将RequestContextHolder与副线程共享信息 在主线程中使用RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes(); 副线程共享主线程信息,在副线程中使用RequestContextHolder.set

2021-05-24 11:11:37 337

原创 Feign远程调用请求头丢失问题

Feign远程调用请求头丢失问题Feign在调用之前需要构造请求,调用很多的拦截器(RequestInterceptor interceptor : requestInterceptors)所以我们应该加上Feign远程调用的请求拦截器,这个时候远程调用的新请求就会先走拦截器再去远程调用服务。拦截器代码Spring如何知道我们自己写的拦截器并进行调用因为添加了注解定义到容器中,然后底层就用for和注解反射的方式得到这些拦截器,再通过代理的方式将其赋给spring进行调用...

2021-05-24 10:09:57 311

原创 Windos检查端口占用情况

Windos检查端口占用情况使用cmd命令打开黑窗口,然后输入netstat -ano如果需要查看已知端口是否被占用,使用netstat -ano|findstr 端口号查看当前系统的所有进程tasklist查看指定的进程tasklist|findstr 端口号...

2021-05-22 19:16:51 66

原创 RabbitMQ安装与使用

RabbitMQ安装与使用使用docker安装RabbitMQdocker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:management端口信息5671、5672:AMQP端口4369、25672:Erlang发现、集群端口15672:web管理后台端口61613、61614:STOMP协议端口188

2021-05-21 19:59:05 208

原创 单点登录

许雪里

2021-05-18 14:24:57 42

原创 Oauth2.0社交登录简介

Oauth2.0社交登录例如可以在网页中搜索微博开放平台进行认证。

2021-05-18 11:06:03 56

原创 缓存穿透、缓存击穿、缓存雪崩

缓存穿透、缓存击穿、缓存雪崩缓存穿透指查询一个一定不存在的数据,由于缓存是不命中,将去查询数据库,但是数据库也无此记录,我们没有将这次查询的null写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义风险:利用不存在的数据进行攻击,数据库瞬时压力增大,最终导致崩溃解决:null结果缓存,并加入短暂过期时间缓存雪崩缓存雪崩是指在我们设置缓存时key采用了相同的过期时间,导致缓存在某时刻同时失效,请求全部转发到DB,DB瞬时压力过重雪崩。解决:原有的失效时

2021-05-12 10:36:35 24

原创 OutofDirectMemoryError堆外内存溢出

OutofDirectMemoryError堆外内存溢出原因:spring boot2.0之后默认使用lettuce作为操作redis的客户端,它是使用netty进行网络通信。lettuce的bug导致netty堆外内存溢出 -Xmx300m netty如果没有设置堆外内存,默认使用 -Xmx300m可以通过Dio.netty.maxDirectMemory进行设置解决方案:不能只取调大Dio.netty.maxDirectMemory内存,只是延缓,并不能得到解决升级lettuce客

2021-05-12 10:09:30 500

原创 分布式缓存

分布式缓存由于服务器不可能为单体应用,大多为分布式,那么使用map作为缓存就会造成数据的弱一致性,这时候map就不适用于做缓存机制,我们需要引入中间件做缓存,其他的分布式机器全部在缓存中间件redis中进行读取缓存数据。Spring Boot文档https://spring.io/projects/spring-boot/#overview引入redis依赖<dependency> <groupId>org.springframework.boot</gr

2021-05-12 09:21:26 84

原创 JVM常用参数

JVM常用参数https://www.cnblogs.com/jiataoq/p/9512498.html

2021-05-11 16:48:40 26

原创 jvm调优小方法

jvm调优小方法使用Java模板引擎thymeleaf可以开启缓存对网页数据进行动静分离,其中动态数据可以交给nginx在交给网关进行负载均衡处理,其中静态数据可以直接放在nginx中,需要配置nginx配置文件localtion /static/ { root /usr/share/nginx/html;}其中/static/需要在idea代码中将静态资源链接全部替换为前面添加/static/前缀在idea中中对内存空间进行扩大JVM options:-Xmx1024m -Xm

2021-05-11 16:43:34 26

原创 jvm调优小工具

jvm调优小工具打开cmd命令窗口直接输入jconsolejvisualvmjdk9之后已经移除自带的jvisualvm工具

2021-05-11 14:59:04 59

原创 JMeter Address Already in use 使用jmeter测试错误解决

JMeter Address Already in use 使用jmeter测试错误解决端口被占用,需要修改注册表信息在cmd命令中输入regedit计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\parameters下1.右击parameters,添加一个新的DWORD,名字为MaxUserPORT2.然后双击MaxUserPORT,输入数值数据为65534,基数选择十进制(如果是分布式运行,控制机器和负载机器都需要

2021-05-11 13:59:57 168

原创 nginx在代理给网关的时候,会丢失请求的Host信息

nginx在代理给网关的时候,会丢失请求的Host信息配置default.conf在conf/conf.d/default.conf中配置localhost信息proxy_set_header Host $host; //设置请求头proxy_pass http://xxxx.com; //代理通过必须加;不然报错然后重启nginxdocker restart nginx...

2021-05-11 08:08:58 535

原创 在使用new TypeReference<泛型>() {}

在使用new TypeReference<泛型>() {}时注意,此处时指定get setpublic R setData(Object data){ put("data",data); return this;}public <T> T getData(TypeReference<T> typeReference){ Object data = get("data"); String s = JSON.toJSONString(data);

2021-04-30 20:19:15 4213 2

原创 Error creating bean with name ‘scopedTarget.dataSource‘

Error creating bean with name ‘scopedTarget.dataSource’原因没有指定数据源,比如我们的工程俩面含有数据源的相关依赖jar,但是我们没有指定数据源就会报这个错误,我们可以在启动类的注解上添加@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)去除数据源,即可启动成功...

2021-04-29 12:32:12 3461

原创 添加容器成功后发现启动不了

添加容器成功后发现启动不了1.可能是文件权限问题,举例:我添加一个新容器elasticsearch:7.4.2启动之后使用docker ps发现没有我的elasticsearch:7.4.2容器存在,这个时候我们可以使用docker logs elasticsearch查看elasticsearch日志文件打印发现一处错误Caused by: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes"

2021-04-28 08:35:14 117

原创 No space left on device

No space left on device1.使用df -h 查看磁盘使用情况,发现是/var/lib/docker/overlay2下面的子目录里有文件过大。其实和这个没关系。2.在/vagrant/AppData中占用磁盘过多,占用32G,这个是同步宿主机目录,我们需要把同步宿主机目录给关闭。3.在本机系统中C:\Users\Administrator.vagrant.d\boxes\centos-VAGRANTSLASH-7\2004.01\virtualbox中有一个文件时VagrantF

2021-04-27 20:52:25 143

原创 Spring内置时间格式转换

Spring内置时间格式转换在application.yml文件中添加配置文件自己设置时间格式spring: jackson: date-format: yyyy-MM-dd HH:mm:ss

2021-04-24 09:16:16 49

原创 当java开启服务过多导致内存占用过大

多次启动多个服务可以将他们分在一个启动组打开Edit Configurations启动按钮,创建一个Compound,在Compound中添加服务当java开启服务过多导致内存占用过大打开服务Environment在其中一个VM options中设置一个参数-Xmx100m设置最大占用内存为100mb...

2021-04-21 13:28:14 444

原创 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.atguli.gulimall

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.atguli.gulimall.product.dao.CategoryBrandRelationDao.updateCategory在mybatis-plus中使用自定义this.baseMapper.updateCategory(catId,name);时查看resources中的application.application或者ym

2021-04-14 10:45:30 72

原创 后端数据校检

前端防君子,后端防小人前端做了数据校检以后,为了保证数据的正确性,需要在后端进行校检。使用JSR303进行数据校检javax.validation.constraints第一步需要在需要校检的实体类的属性中添加注解@Null@TableId private Long brandId;第二布在方法参数中添加@Valid注解public R save(@Valid @RequestBody BrandEntity brand)可以在属性注解中添加自己的数据提示;校验数据是否出错没

2021-04-11 18:35:08 174

原创 通过SDK访问OSS中的Bucket时报Endpoint错误

通过SDK访问OSS中的Bucket时报Endpoint错误application.yml中没有oss的相关配置添加即可prring: cloud: alicloud: access-key: LTAI5tMTcNFa8dUxR2knfj7s secret-key: VIVWtdyMYaaGFtQhJ63a7rdRNH9GWp oss: endpoint: oss-cn-beijing.aliyuncs.com...

2021-04-10 10:54:36 419

原创 无法导入import com.aliyun.oss.OSSClientBuilder

无法导入import com.aliyun.oss.OSSClientBuilder在项目中无法导入import com.aliyun.oss.OSSClientBuilder;是因为依赖版本太低了<dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>3.10.2</ve

2021-04-10 10:52:15 2045

空空如也

空空如也

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

TA关注的人

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