自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线程池总结

线程池总结线程池参数:线程池执行任务的流程常用4种线程池几种任务队列:线程池饱和拒绝策略:如何设置线程池参数:线程池参数:corePoolSize: 核心线程数,常驻线程池的线程数量maxPoolSize: 最大线程数KeepAliveTime: 线程数大于核心线程数后,空闲的线程能够存活的时间unit: KeepAliveTime的时间单位ThreadFactory: 线程工厂,用来创建线程WorkQueue: 任务队列,用来存放任务。可以提交的任务数=任务队列数+最大线程数Handler

2022-04-08 10:13:00 596 1

原创 HashMap 源码探究

put: public V put(K key, V value) { //这里调用了putVal() return putVal(hash(key), key, value, false, true); }hash: static final int hash(Object key) { int h; //这里用key的hashcode与自身右移16位做异位运算 //为了&(length-1)获得

2022-03-01 09:53:01 292 1

原创 Dubbo集成Sleuth+zipkin服务链路追踪

Dubbo集成Sleuth+zipkin服务链路追踪版本介绍:前提条件:操作步骤:一:引入sleuth和zipkin依赖二:引入拦截器依赖三:在配置文件中指定拦截器,使上一步依赖生效四:运行zipkin服务五:在项目配置中指定zipkin服务地址六:通过zipkin可视化界面查看调用链路和耗时参考资料:版本介绍:Dubbo:2.7.xsleuth:3.0.4zipkin:3.0.4前提条件:建好两个集成了dubbo的springboot服务:一个生产者服务,一个消费者服务。前端能够调用消费者接口

2021-10-15 22:02:12 1124

原创 springboot集成dubbo

本文将介绍搭建两个springboot项目并相互调用的过程。一、创建生产者项目1、创建项目然后直接next、Finish2、引入依赖(写pom)在这里插入代码片<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schem

2021-09-24 16:35:56 146

原创 springboot引入nacos报错:org.springframework.beans.factory.BeanCreationException: Error creating bean...

springboot引入nacos报错:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'configurationPropertiesBeans' defined in class path resource [org/springframework/cloud/autoconfigure/ConfigurationPropertiesRebinderAutoConfigurat

2021-09-16 21:11:48 3409

原创 DolphinScheduler工作流运行之后在工作流实例中查不到是什么原因?

首先查看一下监控中心的内存占用情况。如果达到95%以上说明是虚拟机内存太小了,不足以创建实例。题主今天用工作流创建实例时也是创建完查不到,看了一下监控中心发现内存占用达到了98%,4G的虚拟机内存太小了,给虚拟机的内存分配到8G之后就好了。如果不是这个原因建议再去看一下./dolphinscheduler/logs里面的日志。...

2021-09-01 14:21:13 2881

原创 DolphinScheduler部署之后点击登录一直转圈

dolphinscheduler部署之后点击登录一直转圈,就像这样,一直Loading查看dolphinscheduler-api.log 日志,发现是数据库连接出错,在排查完用户名、密码、数据库是否能够访问等等一系列可能出错的地方之后,还是显示数据库连接出错。最后看到一篇文章说数据库连接出错的原因可能是mysql-connector-java-5.1.47.jar版本太低了。看到这里我下载了个 mysql-connector-java-5.1.49.jar,还是出错。再直接下载个mysql

2021-09-01 09:36:28 1699 1

原创 java用zookeeper创建节点迟迟没有反应

java使用api连接zookeeper,如果创建节点时发现程序迟迟没有反应,很可能是因为重试策略的重试次数太多导致一直重试而不出结果,不妨把重试策略的最大重试次数改的小一点,比如2、3,这样的话就会迅速停止执行然后抛出错误,这时再根据错误去找原因。今天在连接时就是迟迟没有反应,排查代码之后发现重试策略的重试次数是30,然后减小重试次数之后再执行很快就抛出了一个异常:apache.zookeeper.KeeperException$ConnectionLossException: KeeperErr

2021-08-30 19:18:04 1092 1

原创 redis过期策略、淘汰策略和缓存污染问题

redis 8 种淘汰策略(redis4.0之前有6种,4.0之后又加了两种):针对已设置过期时间的数据集:volatile-lru (Least recently used): 对最近最少使用的数据进行淘汰 volatile-lfu(Least frequently used): 对最不经常使用的数据进行淘汰 volatile-random:随机选择数据进行淘汰 volatile-ttl:淘汰存活时间最短的数据针对所有数据集:allkeys-lru:对最近最少使用的数据进行淘汰.

2021-07-20 09:41:06 108

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

缓存穿透:缓存和数据库中都没有,而用户不断发送请求解决方案:增加校验(权限校验、基础校验如id<0直接拦截) 加key-null缓存缓存击穿:缓存中没有数据库中有(缓存时间到期),并发量巨大导致数据库压力瞬间增大解决方案:设置热点数据永不过期 加互斥锁(去数据库取数据时加锁)缓存雪崩:缓存中大批数据到期,查询数据量巨大导致数据库压力过大甚至宕机。解决方案:缓存数据过期时间设置为随机,防止大量数据同时过期 如果缓存数据库是分布式部署,将热点数据分布在不同数据库

2021-07-17 16:50:15 57

原创 数据库事务和隔离级别

一、事务的基本要素ACID:原子性:事务中包含的操作要么全做,要么全不做,不会在中间某个环节结束一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。比如A向B转了账,A和B的总钱数转账前后是不变的隔离性:不同的事务之间彼此没有任何干扰。即一个事务内部的操作及使用的数据对其它并发事务是隔离的,并发执行的各个事务之间不能互相干扰。持久性:事务完成后,事务对数据库的所有更新将被保存到数据库,不能回滚。二、事务的并发问题:脏读:A读取了B事务更新的数据,但是B

2021-07-15 15:47:16 115

原创 双检锁方式实现的线程安全的单例模式中,第二个if有必要吗?

懒汉式的单例模式中用到了双重检查class Singleton{ private volatile static Singleton instance = null; private Singleton() { } public static Singleton getInstance() { if(instance==null) { synchronized (Singleton.clas

2021-06-11 17:07:41 303

转载 Java内存区域(运行时数据区域)和内存模型(JMM)

Java内存区域(运行时数据区域)和内存模型(JMM)Java 内存区域和内存模型是不一样的东西,内存区域是指 Jvm 运行时将数据分区域存储,强调对内存空间的划分。而内存模型(Java Memory Model,简称 JMM )是定义了线程和主内存之间的抽象关系,即 JMM 定义了 JVM 在计算机内存(RAM)中的工作方式,如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java运行时数据区域众所周知,Java 虚拟机有自动内存管理机制,如果出现内存泄漏和溢出方面的问

2021-06-07 11:07:40 117

原创 docker容器迁移

docker镜像迁移在原linux服务器上:1、查看运行中的容器docker ps2、将容器做成镜像docker commit -m “说明信息” 3401ec1a3b57 api:5.5参数说明:3401ec1a3b57:容器idapi:5.5:自己命名的镜像名3、查看镜像docker images4、将镜像备份成.tar文件docker save -o ./api5-5.tar api:5.5参数说明:-o :输出到的文件api:5.5:镜像名5、

2021-05-05 23:36:38 167

原创 JSON parse error: Cannot construct instance of `` (although at least one Creator exists)

出现这个问题的原因很可能是前端传的参数写错了

2021-04-29 17:35:11 5042 1

原创 微信开发者工具调用二维码扫描接口wx.scanCode失败:errMsg: “scanCode:fail“

wx.scanCode调用失败:errMsg: "scanCode:fail"问题描述原因:问题描述微信开发者工具调用二维码扫描接口wx.scanCode失败:errMsg: “scanCode:fail”原因:原因很简单:测试时选择的图片格式不对。我保存了一张gif格式的二维码,调用二维码扫描接口测试时一直报错:但是调用png格式的图片就没问题,就想是不是图片格式的问题,用格式工厂把图片格式改成png之后就能正常运行了。果然是格式的问题。...

2021-03-26 00:01:26 4365 4

原创 npm install报错:npm ERR! code ERR_TLS_CERT_ALTNAME_INVALID npm ERR! errno ERR_TLS_CERT_ALTNAME_INVALID

问题:npm install 报错:PS G:\Desktop\el-admin\eladmin-web> npm installnpm ERR! code ERR_TLS_CERT_ALTNAME_INVALIDnpm ERR! errno ERR_TLS_CERT_ALTNAME_INVALIDnpm ERR! request to https://registry.cnpmjs.org/@babel%2fcore failed, reason: Hostname/IP does not

2021-03-15 11:32:38 591

原创 HashMap无序?TreeMap有序?

今天学习Map集合时书上说HashMap是无序的,TreeMap是有序的(有序无序是针对key的),但是实际去敲的时候发现不是这样,有时HashMap是有序的,有时TreeMap是无序的。于是就做了以下测试来探究:测试代码: //第一组测试:HashMap和TreeMap的key都是String类型的 Map<String, Integer> hashMap = new HashMap<String, Integer>(); hashMap.

2021-03-13 18:31:04 6058 2

原创 vue项目中用token和localstorage实现登陆

整体流程:在登陆页面调用登陆接口拿到token,存到localstorage里面用request拦截器拦截所有请求,并把所有的请求都加一个请求头:从localstorage里面拿到的token跳转页面之前用路由守卫判断localstorage里面有没有token,如果没有则跳转到登陆页面如果调用接口时发生token过期或其他token异常则后端接口返回401状态码,前端用response拦截器拦截请求结果,发现请求的状态码是401则清除localstorage里面的token,之后就

2021-02-07 12:58:05 1918 3

原创 mybatis-plus不用分页插件怎么查询前几条数据

前几天写热门博客接口时根据文章热度做了个排序,但是怎么拿到前几条数据呢?就拿到前几条数据,这么一个小limit感觉不至于再用分页吧,于是就在条件构造器里面找一下有没有limit相关的方法,结果居然没有找到。不过找到了另一个方法,那就是last直接在wrapper后面拼一个.last(“limit 6”)就行了。...

2021-01-31 20:54:41 8840 1

原创 java泛型中T、E、K等,有什么区别?

先说结论:除了字母不一样之外没有任何区别当然你可能会看到很多类似一下的说法但实际上,这些说法就像定义一个Map型的变量常用 map 起名,定义数组常用 array起名一样,只是一个贴切的名字,实际上用什么都可以。以下这几种写法全都对,都能正常运行: private static <T> T genericAdd(T a) { System.out.println(a ); return a; } private static <E&g

2021-01-25 16:06:41 239

原创 axios+springboot实现文件上传(前后端全流程)

总体流程:用input 输入框选择文件,选择之后拿到选中的文件通过axios调用接口,把文件当作请求参数发送给后端,后端拿到之后存到本地。前端部分:1:前端怎么拿到图片、文档等文件?答:还记不记得当时学h5时有一个input表单?<input type="file">用这个就可以就是这个:选择文件之后会触发onchange事件,然后在触发事件调用的函数里面用js获取即可。vue代码:<template> <div> <inp

2021-01-23 23:47:21 1725 1

原创 axios发送get和post请求的区别

get请求:axios({ url: "http://localhost:9090/api/image/", method: "get", params: params })post请求:axios({ url: "http://localhost:9090/api/image/", method: "post",

2021-01-23 20:15:24 3612

原创 mysql版本升级+数据迁移

最近需要在数据库中储存精确到毫秒级的时间类型,但是Mysql5.6以后的版本才支持小数秒,而我的Mysql版本是5.5,于是就开启了我的版本升级之路。这里就不说整个流程了,说几个细节吧1、数据库的安装一共有一下几步:下载myql 、初始化mysql(添加data文件夹)、开启服务、登陆数据库 、操作数据库。大多数同学把开启服务这一项忘记了,安装新版本数据库时记得关闭之前的服务开启新的服务。2、更新之前先把你的data文件夹备份,它里放的是数据库信息,你建的所有数据库和数据库表都在里面。备份之后就算整个

2020-08-30 09:15:33 1446

原创 vue项目能在vue ui里面启动,但是不能在控制台启动

今天写了个vue项目,用vue ui能运行但是在终端用npm run serve就运行不了。一直报错提示说找不到G:\Desktop\vuedemo\package.json但是并不少他说的是vueDemo目录下找不到,而我的vue项目写在vueDemo下面的test里面,想到这里明白了应该是启动路径错了这样就行了...

2020-08-10 16:08:21 1366 2

原创 springboot用配置文件整合mybatis的时候找不到mapper包下的类

B站雷丰阳springboot视频P64,整合mybatis的时候一直报500发现有一行错误日志如下:2020-08-08 22:08:28.854 ERROR 20024 — [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request proce

2020-08-08 22:38:54 543

原创 springboot中css、js等静态资源被拦截

springboot 2.3的版本拦截器会拦截静态资源。使用拦截器时需添加excludePathPatterns让所需静态资源放行我们自己的css、js等静态资源放在resources / static / asserts下而从pom文件里面引入的jquery、bootstrap放在了webjars下所以控制静态资源放行时"/asserts/**","/webjars/**都要加上registry.addInterceptor(new LoginHandlerInterceptor()).addP

2020-08-02 14:54:31 1857

原创 SpringBoot启动提示没有主清单属性

springboot打包后运行失败,显示:spring-boot-02-config-02-0.0.1-SNAPSHOT.jar中没有主清单属性看了不少文章说要在pom文件里面加入下面这几行代码:<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId></plugin>

2020-07-29 08:47:50 625

原创 line-height小用

想要导航栏中的元素上下居中可用line-height(行高)控制。例如:下面这个div中,如果其中文字的行高是0,效果是这样的:把行高改成54px后,效果是这样的:可以看出,用行高line-height可以很轻松的控制div中文字的所处高度。防止有小伙伴弄错行高的定义,下面贴一张图说明一下 ↓↓↓...

2019-11-09 16:13:49 81

原创 对伪类的理解

伪类学过一段时间了,但是一直迷迷糊糊的,今天才有些理解。CSS伪类是用来添加一些选择器的特殊效果。使用方法是在标签名/类名后+冒号+伪类名+伪类体比如 a:hover {color:#FF00FF;} /* 鼠标划过链接 */常用的有:a:link {color:#FF0000;} /* 未访问的链接 */a:visited {color:#00FF00;} /* 已访问的链接 */...

2019-10-30 18:22:02 190

原创 两种块级元素居中的方式

1、在没有设置绝对定位的情况下,给块级元素设置宽度后用margin:0 auto;居中2、设置成绝对定位后根据宽度调整距左边距的距离居中,例:position: absolute;left: 25%;width: 50%;或position: absolute;left: 50%;margin-left: -50px;width: 100px;这两种方式居中都没问题,但是...

2019-10-28 21:02:31 187

原创 CSS不能控制一切属性

昨天写了个没有用CSS的带表格的页面,今天想加个CSS,用CSS控制表格样式。在写CSS时想照例把标签后面的属性全挪到CSS里面。我的想法是这样的:原始h5表格代码:<table align="center" border="1" cellpadding: "8" width=650></table>加上CSS后H5表格代码和CSS代码:H5:<ta...

2019-10-28 20:44:32 331

空空如也

空空如也

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

TA关注的人

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