自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 SpringBoot 2.x版本以上整合redis方式

1.引入pom文件上面红方框中的属性没有特殊情况就都加上,下面的xx.jedis.pool.xx4个属性可以不用填写,有默认,在RedisProperties类中有2.直接在项目中进行注入使用,不用写配置类在SpringBoot2.0之后,spring容器是自动的生成了StringRedisTem...

2018-07-04 18:00:37 31062 7

原创 JVM 类加载机制和字节码技术

1. 简述 典型的Java程序执行流程如下: 我们在本地编写完Java源程序; IDE自动帮我们编译成.class文件(也可以手动通过javac命令编译),然后打包成jar包或者war包; 接着,执行java -jar命令或直接部署到web容器中来运行程序; 运行时,OS会启动一个JVM...

2020-05-25 12:51:23 4 0

原创 jvm 内存结构,GC相关内容和调优

参考博客:https://www.tpvlog.com/article/86 1. jvm内存结构 大致的结构如上图所示。 注意: 新生代的地方,HotSpot VM(虚拟机的一种实例)对新生代采用了复制回收算法来实现gc的垃圾回收。而传统的复制算法比较浪费空间,所以它将新生代又分为了...

2020-05-25 00:56:03 8 0

原创 java多线程并发包中的executors框架(线程池)和Fork/Join框架

1. 概述 1.1 Executor 是JDK1.5时引入的,引入该接口的主要目的是解耦任务本身和任务的执行。我们之前通过线程执行一个任务时,往往需要先创建一个线程,然后调用线程的start方法来执行任务。而Executor接口解耦了任务和任务的执行,该接口只有一个方法,入参为待执行的任务 ...

2020-05-23 00:06:28 16 0

原创 java多线程并发包中的locks,atomic,sync ,collections

1. 并发包概述 在多线程编程时,java.util.concurrent包是非常重要的 按照功能划分: locks 锁框架 atomic 原子类框架 sync 同步器框架 collections 集合框架 executors 执行器框架 早期的JDK版本中,仅仅提供了synchro...

2020-05-22 21:23:54 16 0

原创 多线程基础

多线程 线程的创建方式 线程的创建方式有两种(官方api文档) 继承Tread类,并重写其中的run方法 实现Runnable接口,并重写run方法 还有两种是 通过线程池创建线程 实现Callable接口重写call方法 线程的启动 通过调用线程的start方法启动线程 继承Thread...

2020-05-20 16:51:22 18 0

原创 多线程安全问题的基础内容和理解

线程安全问题 当多个线程同时共享,同一个全局变量或静态变量(即局部变量不会),做写的操作时,可能会发生数据冲突问题,也就是线程安全问题。但是做读操作是不会发生数据冲突问题。 案例:抢票 public class ThreadSafeProblem { public static v...

2020-05-20 14:21:30 28 0

原创 spring cloud sleuth的使用,与ziplin整合及解决由于springboot版本(1.x和2.x)问题引入的zipkin版本bug

1.介绍 由于微服务很复杂,当服务多了之后,就需要有一个东西去记录服务之间的调用,这样可以快速定位问题,且最好能同时记录服务之间的调用时长等信息,方便优化系统。spring cloud sleuth就有这样的作用。我们称这种技术叫做服务链路追踪 2. sleuth sleuth记录服务链路主...

2020-05-08 19:52:03 72 0

原创 spring cloud bus的使用及使用bus发布自定义事件

1. spring cloud bus介绍 Spring cloud bus使用轻量级消息代理将分布式系统的节点连接起来,可以使用此代理,广播状态更改(例如配置更改)或其他管理指令。它可以用作应用程序之间的通信通道。该项目提供了两种消息传输处理:AMQP broker和Kafka 2. 如果你想...

2020-05-07 21:56:05 51 0

原创 spring 事件的使用

1. 介绍 事件Event驱动模型实际也被称之或者发布/订阅模型。Spring中,也为我们提供了这样的框架,采用Event/Listener这样的好处自然不用多说,就是解耦,利于扩展,并且利于一对多这种形式,我们下面就来介绍下Spring的Event模式 2. 核心 主要就3个: Appl...

2020-05-07 16:24:24 23 0

原创 spring cloud bus 实现config配置的动态更新

1 消息总线bus 简单理解就是一个消息中心,众多微服务实例可以连接到总线上,实例可以往消息中心发送或接收信息(通过监听)。比如:实例A发送一条消息到总线上,总线上的实例B可以接收到信息(实例B订阅了实例A),这样的话,消息总线就充当一个中间者的角色,使得实例A和实例B解偶了 2 Config...

2020-05-06 23:44:00 34 0

原创 springboot 整合 rabbitmq及其安装和新建用户后的小bug的解决

1.安装rabbitmq 在windows系统上安装rabbitmq 参考博客:https://www.cnblogs.com/saryli/p/9729591.html 2. 创建项目 2.1 引入依赖 <!--支持rabbitmq--> <dependency&g...

2020-05-06 21:23:27 35 0

原创 spring cloud Zuul 过滤器

介绍 Zuul的路由功能在上一篇博客中已经写过了,这篇主要是写下zuul 的过滤器怎么用 zuul的过滤器功能负责对请求的处理结果进行干预,可实现请求校验等功能,每一个进入Zuul的Http请求都会经过一系列的过滤器处理链得到请求响应并返回给客户端。 Zuul实现的过滤器主要包含4个基本特征...

2020-05-06 16:08:46 24 0

原创 spring cloud zuul之路由功能和路由服务降级

1.介绍 Zuul是spring cloud中的微服务网关。网关: 是一个网络整体系统中的前置门户入口。请求首先通过网关,进行路径的路由,定位到具体的服务节点上。也减少了客户端与服务端的耦合,服务可以独立发展,通过网关层来做映射 Zuul主要有两大功能:路由转发和过滤。路由转发能够为全部服务提...

2020-05-06 00:21:31 28 0

原创 spring cloud feign的学习与使用

说明 官方说明:Feign是一个声明性web服务客户端。它使编写web服务客户机更容易。使用Feign创建一个接口并注释它。它具有可插入的注释支持,包括Feign注释和JAX-RS注释。Feign也支持可插拔编码器和解码器。 个人理解:Feign是简化了ribbon访问服务时的代码编写,使得我...

2020-05-05 00:32:14 49 0

原创 Spring cloud Hystrix

熔断器Hystrix 熔断器的原理很简单,如同电力过载保护器。它可以实现快速失败,如果它在一段时间内侦测到许多类似的错误,会强迫其以后的多个调用快速失败,不再访问远程服务器,从而防止应用程序不断地尝试执行可能会失败的操作,使得应用程序继续执行而不用等待修正错误,或者浪费CPU时间去等到长时间的超...

2020-05-02 01:08:23 32 0

原创 Ribbon源码解读和如何覆盖默认规则

Ribbon源码解读 可参考博客:https://blog.csdn.net/forezp/article/details/74820899,写的很好,可以结合它这篇博客最后的总结来看,就比较清楚那些接口和类之间的关系了 怎么覆盖默认规则 比如你可能不想使用它的负载均衡策略,如轮询等,想自己...

2020-04-30 23:59:26 36 0

原创 spring cloud 之ribbon组件的学习与使用

1.Ribbon使用前 服务提供者与服务消费者之间的调用方式一般就是通过RestTemplate,或者HttpClient等请求方式直接请求接口获取数据 1.1 服务提供者 1.1.1 application.yml: server: port: 8085 spring: app...

2020-04-30 16:45:16 23 0

原创 spring cloud eureka 的服务治理机制

一、基础架构 构建Eureka服务治理有三个核心角色:服务注册中心、服务提供者和服务消费者。 服务注册中心(EurekaServer):Eureka提供的服务端,提供服务注册和发现的功能; 服务提供者:提供服务的应用,遵循Eureka通信机制的应用。它将自己注册到EurekaServer中,...

2020-04-29 16:32:27 27 0

原创 spring cloud eureka 高可用集群配置

1.服务端 需要创建2个eureka server应用, 1.1 创建eureka-server-ha-peer1-demo 1.引入pom <dependency> <groupId>org.springframework.cloud</groupId...

2020-04-29 10:25:14 21 0

原创 spring cloud eureka 的服务端与客户端的使用

1.eureka 服务端 1.1 引入maven依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-...

2020-04-28 20:35:07 32 0

原创 spring cloud的配置中心config server 和config client 的配置使用

1. spring cloud config server 1.1 引入pom <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring...

2020-04-28 13:44:59 25 0

原创 Spring Boot 配置文件 bootstrap / application 有什么区别?

问题:当开发springcloud项目时,其中有个bootstrap.yml文件,而springboot中又有application.yml配置,那么这两者有什么区别呢? 官方文档中有说明:https://cloud.spring.io/spring-cloud-static/Greenwich...

2020-04-28 09:53:16 20 0

原创 springboot项目yml中使用中文注释报错的解决方法

背景:启动springboot项目时报错:/application.yml.....这大致就是说application.yml有问题,那么目前我所知道的大致两种情况会报错,第一种是yml格式有问题,要注意缩进和空格,第二种就是其中存在中文注释。第二种bug的解决方法如下: 1.先删掉现有的yml...

2020-04-22 00:12:48 139 0

原创 springboot集成easypoi并使用其模板导出功能和遇到的坑

1.背景 最近在做个使用poi导出excel的需求,由于所需要的excel较为复杂,所以我准备使用easypoi的模板导出功能去实现 2.使用 2.1 集成 <!--excel--> <!--这里如果直接引入easypoi集成springboot的包...

2020-04-20 11:37:12 196 0

原创 nuxt整合vue-pdf插件和使用createLoadingTask方法进行分页

1.背景 目前需要做一个展示pdf功能的需求,所以想到了使用vue-pdf插件,该插件在vue-cli中很好使用,不会出现啥问题,但是放到nuxt项目中就会出现一些问题 2.整合 1.官网地址:https://www.npmjs.com/package/vue-pdf cnpm insta...

2020-04-17 12:18:47 267 0

原创 java poi 导入报错,Cannot get a NUMERIC value from a STRING cell

背景:在使用java的poi导入excel文件时,报错:Cannot get a NUMERIC value from a STRING cell,大致的意思就是不能从字符串的单元格获取到Number类型的值,然后我去看了我那列的值,确实是数字,那这是什么问题呢? 解决: 当我将鼠标点到报错的那...

2020-04-17 10:17:17 29 0

原创 swagger2 中怎么使用get请求传参

// 查询商城分类页面的seo详情 @GetMapping("/shop-category") @ResponseBody @ApiOperation("查询xxx详情") public AjaxResult getWebSh...

2020-04-03 09:26:59 436 0

原创 vue watch数据的方法被调用了两次的问题

背景:路由结构/video/1.mp4,即/video是父路由,/1.mp4是/video的动态子路由,在/video父路由中会通过url的params获取视频信息,即通过/1.mp4获取对应的视频完整信息,然后通过props传到动态子路由中,然后子路由通过接受到的视频对象,进行展示 问题:当路...

2020-03-30 15:06:22 362 0

原创 Nuxt 在引入第三方vue插件后,怎么在自己的nuxt插件中使用引入的那个vue插件及使用插件的注意点

1.需求 我的nuxt项目都是面向插件编程,我会将业务逻辑分开,写成一个一个插件,我觉得这样既看起来简单,在调用时也会很简单,比如订单的业务我会写成order.js,购物车的业务我会写成car.js等等。 目前我的一个需求是给网站添加gtm,我使用了vue的第三方插件,同时我想将该插件再封...

2020-03-02 17:36:09 198 0

原创 PC端网页在PC端的不同分辨率下都显示正常,且在移动端的浏览器可自动缩放至显示整个网页的方法

需求:我在1920*1080分辨率的电脑上写的代码,想在低分辨率下能够正常显示(即margin: 0 auto 的版心部分能正常居中显示),且在移动端的浏览器下能够自动自动缩放至显示整个网页的方法,而不是显示1920*1080的分辨率,这样会需要用户手动缩放浏览器网页才能看到整个网页 做法: ...

2020-02-20 19:25:24 128 0

原创 jenkins发布maven多模块+springboot项目(升级版)

1.项目结构 经过思考,我的项目既结合了横向分层又结合了纵向封层。 最顶层的是main的父pom文件,打包方式是pom main模块的子模块有:official,user,auth-jwt,common,global-config,global-handle,除了official和use...

2019-11-22 19:30:00 239 0

原创 poi(easypoi)导出excel(xls,xlsx)后,文件打开错误或乱码的解决方法(亲测)

1.问题 今天我写一个导出excel数据的一个功能,一开始我使用XSSFWorkBook导出的是xlsx格式,结果下载文件后,打开报错: 然后我又切换成HssfWorkBook,导出xls格式,结果文件可以打开,但是内容却是乱码的。且他们的文件名均不是正常格式。 然后我就以为是编码问题,...

2019-11-19 11:34:46 558 0

原创 使用docker+jenkins 发布nuxt项目

1.前提: 通过上一篇我的博客,应该对jenkins发布项目的整个流程很清楚了,接下来我们发布nuxt.js(vue的ssr)项目,也就是nodeJs项目,没看过的参考:https://blog.csdn.net/weixin_38312502/article/details/103078948...

2019-11-15 18:24:54 188 0

原创 使用docker安装jenkins并实现自动发布springboot+maven多模块war包(码云)

1.安装docker 按照菜鸟教程装就行了:https://www.runoob.com/docker/centos-docker-install.html, 还有docker镜像加速也要配上,否则下载镜像速度会很慢 2.安装jenkins镜像并启动容器 2.1 进入docker hu...

2019-11-15 11:45:41 400 7

原创 idea+springboot+mybatis plus+maven多模块搭建,运行,打包详细流程(并说明其中的坑)

背景 由于springboot的便捷,目前基本上都是使用springboot进行开发,那遇到比较大型的项目又会需要使用maven的多模块功能,今天就来讲下这两者怎么结合使用 1. 项目结构(源码我会放在github上,后面会给出地址) 2.搭建父工程 点击idea上的file->...

2019-11-13 18:29:42 543 0

原创 IntelliJ idea的使用

1.如果你使用了lombok,那么你的idea需要添加lombok的插件,否则在调用bean的get,set方法时会报错 2.当你使用了mybatis后,你的mapper层需要加上注解@Repository,否则你在其他地方@autoware这个mapper接口时会报错说不能autoware,be...

2019-11-01 15:10:49 24 0

原创 lombok的几个基本注解

1.@data @Data相当于@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode这5个注解的合集 2.@EqualsAndHashCode 通过官方文档,可以得知,当使用@Data注解时,则有了@Equals...

2019-10-31 15:57:44 49 0

原创 报错SLF4J: Class path contains multiple SLF4J bindings.

这种问题一般都是第三方依赖的log框架冲突,在pom文件中排除掉即可 例如: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-sta...

2019-10-31 15:22:32 30 0

原创 系统时间和mysql存储的时间不一致的解决方法

这种问题一般有这几种情况: 1.mysql所在服务器和你当前本机的时区不一致 2.mysql默认指定的时区和你当前本机的时区不一致,不同的mysql驱动版本默认指定的时区是不同的 看了网上基本上就是修改mysql指定的时区或者改一下mysql驱动版本,其实这样也是挺麻烦的,最后找到一种比较方...

2019-10-21 18:16:40 29 0

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