自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

前路无畏的博客

专注于java后端技术及解决方案,总结,分享!

  • 博客(218)
  • 资源 (2)
  • 论坛 (1)
  • 收藏
  • 关注

原创 redistemplate序列化

1. user服务出入reids:1 . 查询reids是否含有此值:2.存入reids对key进行序列化StringRedisSerializer的使用:对object 的value进行序列化,使用jdk2. system存入reids1 . 查询reids是否含有此值:2.存入reidsProtoStuffSerializer3. user服务出入reids:1 . 查询reids值:有值,使用jdk进行反序列化反序列化失败。3. system服务出

2021-07-28 15:42:00 8

原创 mysql8密码重置和mysql5的密码重置不同

mysql8密码重置和mysql5的密码重置不同,一定要注意,我对mysql8的密码重置使用 了mysql5的方法,导致不能使用,可以参考下面博客进行操作,再次感谢【除了吃还是吃】的大佬 https://blog.csdn.net/weixin_38436044/article/details/113745827?...

2021-07-15 21:45:49 3

原创 CAS和hotspot源码

一、用AtomicInteger.addAndGet(int delta)为分析的切入点/** * Atomically adds the given value to the current value. * 原子化的为当前变量添加一个增量delta 德尔塔为增量,比如原子性的添加1 * @param delta the value to add 需要增加的增量,比如1 * @return the updated value 返回的是增加之后的量,比如原来为1

2021-06-27 11:25:04 9

原创 下载hotspot源码

这里穿插,怎么下载jvm的源码,当然下载的是openjdk的jvm源码:1. http://hg.openjdk.java.net/选择格式下载即可:各路径的意义:├─agent Serviceability Agent的客户端实现├─make 用来build出HotSpot的各种配置文件├─src HotSpot VM的源代

2021-06-27 10:28:51 23

原创 搭建sona服务,idea使用sona

一、 搭建sona服务1.下载pg数据库:docker pull postgres2. 下载sonaqube,版本锁定在7.9.1-communitydocker pull sonarqube:7.9.1-community3. 启动pg数据库docker run --name postgresqldb -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -d postgres说明:postgresqldb :数据库名字sonar : 用户名

2021-06-23 18:53:08 30 2

原创 Spring Cloud OpenFeign底层代码解析

使用的是HystrixInvocationHandler.java

2021-06-05 17:14:47 37 2

原创 gateway和ribbon负载均衡和nacos底层源码分析

1. ribbon-loadbalancer-2.3.0.jar 是负载均衡的祖师爷其中gateway集成了ribbon; nacos和ribbon也有集成。最终达到一个结果,在ribbon中维护这一个列表,ancos服务发现的列表,做负载均衡,注意是ribbon中维护这这个列表,并不是复杂均衡的时候采取和nacos交互。如果服务有变化,这个列表也会做相应的调整。2 . 最顶级的接口ILoadBalancer.java/** * Interface that defines the operati

2021-05-18 19:33:12 87 1

原创 linux系统docker安装rabbitmq

安装rabbitmq 比较简单1. 下载镜像docker pull rabbitmq:managementrabbitmq:management 含有web模块下载完成:2. 运行镜像启动镜像docker run -d --hostname dev-scrm --name rabbit -e RABBITMQ_DEFAULT_USER=rabbit -e RABBITMQ_DEFAULT_PASS=rabbit -p 15672:15672 -p 5672:5672 rabbitmq:m

2021-05-18 18:49:24 9

原创 Spring Cloud Commons模块

只要在项目的pom文件中引入了spring-cloud-starter 依赖包 ,就可以保证 spring-cloud-commons 的 jar被引入。如下图:Spring Cloud Commons模块设计的目的,Spring Cloud Commons模块是为了对微服务中的服务注册与发现、负载均衡、熔断器等功能提供一个抽象层代码,这个抽象层与具体的实现无关。这样这些功能具体的实现上可以采用不同的技术去实现,并可以做到在使用时灵活的更换。 下面是一些常用的抽象点:1. @EnableDis

2021-04-11 15:20:08 89

原创 Spring MVC源码 ----- @RequestBody和@ResponseBody原理解析

来源:https://www.cnblogs.com/java-chen-hao/p/11187914.html1. 概述在SpringMVC的使用时,往往会用到@RequestBody和@ResponseBody两个注解,尤其是处理ajax请求必然要使用@ResponseBody注解。这两个注解对应着Controller方法的参数解析和返回值处理,开始时都是只知其用,不知原理。我们来看个例子。@RequestMapping("/requestBody")public void requestBod

2021-04-11 14:08:08 35

原创 @EnableTransactionManagement的使用及分析

使用spring事务的时候有一个总开关@EnableTransactionManagement1. 事务管理器Spring Boot 使用事务非常简单使用注解 @EnableTransactionManagement 开启事务支持后在访问数据库的Service方法上添加注解 @Transactional 便可关于事务管理器,不管是JPA还是JDBC等都实现自接口 PlatformTransactionManager 。如果你添加的是 spring-boot-starter-jdbc 依赖,

2021-04-10 15:08:30 52

原创 docker中设置mysql开机自启动

docker update mysql--restart=always其他的同理,比如sentineldocker update sentinel--restart=always

2021-03-25 11:14:58 186

原创 团队项目的Git分支管理规范

原文地址: http://blog.jboost.cn/git-branch.htmlhttps://www.cnblogs.com/spec-dog/p/11043371.html许多公司的开发团队都采用Git来做代码版本控制。如何有效地协同开发人员之间,以及开发、测试、上线各环节的工作,可能都有各自的流程与规范。本文分享的是作者一直沿用的团队项目Git分支管理规范,希望给有缘阅读的人以参考,如果有更好的实践,也欢迎探讨、交流。分支管理创建项目时(一般是服务型项目,工具型或辅助型项目可以简单一些)

2021-03-17 08:38:17 48

原创 自定义数据校验注解

1. 参考代码下载下载代码分支dev-feature-yuhl2. 创建自定义注解所在Module:scrm-common所在包:org.springblade.common.valid.annotation注解:ListValue说明:ListValueConstraintValidator.class为此注解的验证器package org.springblade.common.valid.annotation;import org.springblade.common.valid.v

2021-03-16 14:31:27 35

原创 统一异常处理

@RestControllerAdvice注解,进行异常处理集中处理。

2021-03-15 20:11:04 174

原创 异常统一在controller处理

1. controller处理异常 /** * 锁定库存,下单后需要把库存锁定 * @param vo * @return */ @PostMapping("/lock/order") public R orderLockStock(@RequestBody WareSkuLockVo vo){ try { wareSkuService.orderLockStock(vo); re

2021-03-15 16:03:38 58

原创 自定义校验器

自定义校验器: 可以参考原有的定义情况去书写@NotNull需求:定义一个注解只能输入0,1定义注解定义校验器绑定校验器和注解定义提示信息使用1. 定义注解ListValueConstraintValidator :为校验器,下面会专门书写import javax.validation.Constraint;import javax.validation.Payload;import java.lang.annotation.Documented;import java.lang

2021-03-14 17:19:04 23

原创 阿里云oss对象存储的使用

三方对象存储现在用的比较多,开箱即用。下面介绍下阿里云的对象存储1. 新建bucket详情可以参考文档文档地址:https://help.aliyun.com/document_detail/51374.html?spm=5176.8466060.0.dexternal.76aa1450lsH1xx2. 上传的方式介绍2.1 方式一:在Maven项目中加入依赖项在Maven工程中使用OSS Java SDK,只需在pom.xml中加入相应依赖即可。以3.10.2版本为例,在中加入如下内容:

2021-03-14 14:37:12 104

原创 mybatis-plus逻辑删除

官方:https://mp.baomidou.com/guide/logic-delete.html当为表中字段定义逻辑删除is_delete = 1 为删除。is_delete = 0 默认1. 配置application.ymlmybatis-plus: global-config: db-config: logic-delete-value: 1 # 逻辑已删除值(默认为 1) logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)

2021-03-12 21:07:22 51 1

原创 @JsonInclude树形后端返回时使用

属性结构中,如果无子类机构则不显示,即children不为空则显示,要不然就不展示了。解决了,树下没有子树但是会有个空白的占位的情况,可以使用:@JsonInclude(JsonInclude.Include.NON_EMPTY) 在此包下:com.fasterxml.jackson.annotation.JsonIncludeimport com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.a

2021-03-12 21:00:20 27 1

原创 mybatis-plus中@TableField(exist=false)当表中无此字段是可以使用这个注解

当表中午字段,但是实体类中需要这个成员变量时怎么办,可以使用mybatis-plus中@TableField(exist=false)如下:import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableId;import com.baomidou.mybatisplus.annotation.TableLogic;import com.baomidou.m

2021-03-12 20:56:18 175 2

原创 跨域问题的解决-gateway跨域接解决方案,使用CorsWebFilter

关于跨域问题请先看我的另一篇文章:https://blog.csdn.net/fsjwin/article/details/114444826这里再列举出一种编码方式,(注意不是nginx的解决方案)是通过编码的方式告诉浏览器可以跨域访问了。1. 在网关服务中添加Filter@Componentpublic class MyCorsConfiguration { /** * * @return CorsWebFilter 为愧于的webfilter 有spring框架

2021-03-11 20:44:31 498 2

原创 Win10无辜蓝屏后打开IntelliJ不停地updating indices的解决方案

1. 问题的出现win10突然蓝屏个,idea没有来的及关闭,重新启动系统后打开idea,发现项目走下面updating indices,此时选中项目,无法启动,等待好长时间还没有完成。2. 解决方案选择File-> Invalidate Cache/Restart…下弹出框中选择Just Restart即可基解决此问题:...

2021-03-11 19:10:27 465 1

原创 阿里云新建对象存储Bucket,并配置自定义域名,配置cdn,配置cdn的ssl证书

说明:A阿里云账户为开通oss账户,开通cdn账户。B阿里云账户为域名和ssl证书的账户1. 新建Bucket点击新建:注意最后的加速是会收费的,可以参考官方文档。不加速也可以。填写相关信息,创建成功后为:授权对bucket的访问权限:私有的话,需要通过access_key和secret_key访问。上传(可以拖拽过去,或者扫描本地图片上传)以上图片后可以访问:至此bucket完成2. 绑定域名2.1.通过原始的阿里云Bucket 域名可以访问图片,但是不能再浏览器中预览,只

2021-03-10 21:01:29 507

原创 jdk1.8中stream流式编程filter、map、collect、sort、foreach

Stream流中map方法使用Stream流时发现其中的map方法使用有一些不太容易理解的地方,分析一下具体的流程,以一个小案例详细探讨Stream中map的使用。案例涉及:1、Stream中of方法传入可变参数2、Stream中map元素类型转化方法3、Function匿名接口,people匿名对象的使用4、String中split切割方法5、Lambda表达式匿名对象也可以使用Lambda替换,达到精简的效果,因为了便于理解只在forEach遍历下使用了Lambda表达式)。以下.

2021-03-09 20:59:46 649

原创 递归获得商品的树形结构

商品的分类分为三级,递归返回商品的三级分类1. 商品服务相关包,特别关注分类表:category2. 实体类package com.atguigu.gulimall.product.entity;import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableId;import com.baomidou.mybatisplus.annotation.Tab

2021-03-09 20:39:29 341

原创 Java Specification Requests(JSR)

JSR 对于从事java工作的小伙伴来说可能均听说,但是具体是什么意思呢?JSR是Java Specification Requests的缩写,意思是Java 规范提案。是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。说人话就是你要提交一个java的规范,就要提出申请,比如你要顶一个@MyName的注解,代表一定的含义,可以提出申请,待批复后,其他各大开源

2021-03-06 17:21:35 344

原创 HTTP Headers 之 Origin跨域访问一定要加上这个header

1.跨域访问概念HTTP 协议中的 Origin Header 存在于请求中,用于指明当前请求来自于哪个站点。字段内容Origin 仅仅包含站点信息,不包含任何路径信息。语法Origin: ""Origin: "<schema>://<host>[:port]"// 例如Origin: "https://baidu.com"// 错误示范,包含了路径信息Origin: "https://baidu.com/"应用CORS当我们的浏览器发出跨站请求时,行为

2021-03-06 16:06:17 1970

原创 POJO/DO / DTO / BO / VO /AO

POJO:(Plain Ordinary Java Object)简单的Java对象DO:(date object)-数据访问层对象DTO:(data transfer object) 数据传输对象 service或者mapper向外传输的对象BO:(business object) service层输出的封装业务逻辑的对象VO:view object 视图层返回对象AO:application object : 应用对象...

2021-01-07 21:22:55 7292

原创 查看redis版本

登录redis服务器输入命令查看[root@redis-01 redis-cluster]# redis-server -v redis-server --version ```![在这里插入图片描述](https://img-blog.csdnimg.cn/20210107163727500.png)

2021-01-07 21:19:47 8098 1

转载 【转载】本文,是《Feign Ribbon Hystrix 三者关系 , 史上最全 深度解析》篇,为大家解读如果Feign Ribbon Hystrix 三者关系,大家可以藏好,一定有用的到时候。

本文转自:https://www.cnblogs.com/crazymakercircle/p/11664812.htmlhttps://www.cnblogs.com/crazymakercircle/p/11664812.html

2021-01-07 09:54:08 7956

原创 idea中添加阿里巴巴代码规约插件

idea中添加阿里巴巴代码规约控件。https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines/versions/点击下载会跳转到idea中。安装后重启即可!

2021-01-05 13:17:03 8075

原创 032-JVM-指令重排验证

上一篇:031-JVM-合并写(write combining)https://yuhongliang.blog.csdn.net/article/details/112135299由于cpu的执行特别快,在需要和内存或者缓存进行交互的时候就有了大把的时间,这个时间就需要执行其他的指令,这个时候就有可能会出现乱排的情况。下面的例子如果出现了0,0的情况,就说明出现了乱爬,按我们正常的逻辑是不会出现乱排的,但是在这种情况下就会出现:在x,y均赋值默认值的时候,就会出现这种情况。1. 代码如下:pac

2021-01-03 15:43:00 8851 1

原创 031-JVM-合并写(write combining)

当cpu修改了某值后会把数据线存入L1中,这个时候可能没有命中,则会一往下查找,会写入到L2中,此时,由于往L2中写的时候需要大量的时间,同时这个变量还可能继续被修改,此时会用到合并写的技术,所谓合并写就是把两次的写的结果一次进行写出。这里会用到合并鞋的地址空间,一共4个字节,也就是如果我们的修改在4个字节以内,则会使用到合并写的技术,如果超过4个字节,则无法使用到合写的红利。下面给出一个例子,1. 一次写6个字节package com.yuhl.c2020;/** * @author yuh

2021-01-03 15:24:29 8891

原创 030-JVM-Cache Line、缓存对齐、伪共享

上一篇:029-JVM-volatil e和指令重排https://yuhongliang.blog.csdn.net/article/details/1119977531.存储器的层次就结构由于寄存器的速度是非常快的,是内存的100被,是硬盘的10的六次方倍。下图是个硬件的速度指标,可以使我们对其有更为直观的认识:从cpu到大约需要cpu周期大约小的时间主存(内存)60-80nsQPI总线(between sockets ,ont drawn)20ns

2021-01-02 16:24:14 9189

原创 mysql:[ERR] 32> 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘createTime‘ at ro

1.问题提出:今天准备把Mysql数据库A传输到Mysql数据库AA中。2.查看两个数据库的版本A库:5.6.39B库:8.0.193. 数据传输3.1 工具-数据传输3.2 选择源和目标源:就是现在数据的库A目标:需要把数据库送到的目的地B3.3 选择表后点击下一步报错在传输的过程中报错如下:[ERR] 32> 1292 - Incorrect datetime value: '0000-00-00 00:00:00' for column 'createTim

2020-12-31 13:24:35 11613

原创 029-JVM-volatile和指令重排

上一篇:028-JVM-类加载子系统面试题实战https://yuhongliang.blog.csdn.net/article/details/111799834volatile可以防止,指令重拍,这个大多数小伙伴是知道的,但是他防止的是哪些指令的重拍呢?如果我们放任指令重拍会产生什么严重后果呢?这个未必都知道,下面就把这个问题说清楚。1. 从new一个对象说起1.1 源码package com.yuhl.c2020;/** * @author yuhl * @Date 2020/12/3

2020-12-30 20:52:26 11786 2

原创 028-JVM-类加载子系统面试题实战

上一篇:027-JVM-打破双亲委派机制https://yuhongliang.blog.csdn.net/article/details/111755901从实践到理论总结的过程 。1. 分析代码的执行过程package com.yuhl.c2020;/** * @author yuhl * @Date 2020/12/27 13:55 * @Classname Test2 * @Description TODO */public class Test2 { public s

2020-12-27 14:43:51 10613

原创 对于不可控的事情,我们要保持乐观;对于可控的事情,我们要保持谨慎。--爱比克泰德

对于不可控的事情,我们要保持乐观;对于可控的事情,我们要保持谨慎。—爱比克泰德觉得讲的很有道理的一句话分享给大家!

2020-12-27 13:08:30 21389 1

原创 查看mysql的版本号

1. 使用navicate查看mysql的版本号select version() from dual;

2020-12-27 13:04:10 10645

系统安全预防(1).pptx

系统安全预防(1).pptx

2021-01-26

mysql-connector-java-5.1.15-bin.jar

链接数据库的jar包,想要链接数据库就必须用到,就是用Hibernate也要用。

2015-08-16

空空如也

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

TA关注的人 TA的粉丝

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