自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Pseudo-terminal will not be allocated because stdin is not a terminal. Warning: Permanently added ‘[

**问题:**这是我在.gitlab-ci.yml文件中用基于sshpass的镜像去执行sshpass远程连接时报的错误。**原因:**这本身其实不算个错误,字面意思理解就是不会分配伪终端。通俗点就是你执行sshpass是可以连上目标服务器,但是是非交互式执行的,没有终端。我执行完这句,下面有一些rm命令,但是并没有执行成功。通过执行hostname -i发现,我还在docker容器里,以为没连上,实则是因为非交互式的原因,第二个命令相当于是容器去执行的命令,所以你在目标服务器那些rm操作也就不可能成功了

2022-03-11 14:34:41 1374 1

原创 /usr/bin/bash: eval: line 130: unexpected EOF while looking for matching `‘‘

**原因:**做GitLab-CI时,.gitlab-ci.yml文件的script脚本写错,一条命令写成了多行,如下图所示,写了多个-,导致最后的双引号和前面的双引号都是单独的双引号,相当于多条命令。**解决:**把多余的-去掉就行了,只留第一行的-。...

2022-03-11 14:12:06 447

原创 GitLab-CI bash:xx: command not found

**问题:**在做GitLab-CI持续集成时,Pipeline执行job时报下图所示的错误,明明我做的镜像是有linux环境的,但是还是报命令未找到的错误。**原因:**是我的script脚本写换行语句时加上了&& \的字样所以导致了这个错误**解决:**如果是一条命令,在.gitlab-ci.yml文件中直接换行即可,或者光写&&或者\,两者只保留一个即可。...

2022-03-11 14:04:35 2247

原创 SpringBoot整合阿里云Oss实现文件上传与下载

controller:注:纯文件上传与配合下载的文件上传代码是相同的,改变接口名即可使用,只是service的返回值不同而已。 @Resource OssFileService ossFileService; //上传的代码 @PostMapping("/xxx") public String fileServiceUpload(@RequestParam(name = "file") MultipartFile file) throws IOExcept

2022-03-04 14:53:20 1596

转载 正则表达式入门学习笔记

正则表达式入门入门1、\b是正则表达式规定的一个特殊代码,也称为元字符。代表单词的开头或结尾,只匹配一个位置。2、.是另一个元字符,匹配除了换行符外的任意字符,*代表任意数量。两者结合就代表匹配任意数量的不换行字符。3、\d是个新的元字符,匹配一位数字。4、-不是元字符,只匹配它本身。5、\w匹配字母或数字或下划线或汉字6、\s匹配任意的空白符7、^匹配字符串的开始,$匹配字符串的结束如果不使用^和$的话,对于\d{5,12}而言,使用这样的方法就只能保证字符串里包含5到12连续位数字,而

2022-02-23 17:41:10 177

原创 javax.validation.ConstraintDefinitionException: HV000074:containsbut does not contain a message para

原因:当前注解包含了@Constraint这个注解,但是没有包含一个message参数解决:在自定义的注解里添加message参数即可public @interface xxx{String message() default "xxx";}

2022-02-22 17:18:57 1555

原创 failed to get files used from context: when specifying multiple sources in a COPY command, destinati

报错信息:error building image: error building stage: failed to optimizeinstructions: failed to get files used from context: when specifyingmultiple sources in a COPY command, destination must be a directoryand end in ‘/’在做gitlab-ci自动化部署的时候,Pipelines执行的时

2022-02-15 18:16:56 1483

原创 mv: target ‘/xxx‘ is not a directory error building image: error building stage: failed to execute c

这是当时我用Dockerfile的命令Run mv /xxx/*.jar /xxx/xxx/xxx.jar想的是把docker容器内的jar包进行移动并重命名,但是报了如题所示的错。原因:如果*匹配到了不止一个jar包或者文件,那么如果你的目的路径不是一个目录的话,那么就会报错。解决:改变匹配规则,精确到某一文件,保证源文件是一个文件,亦或者目的路径是一个目录。...

2022-02-15 15:01:30 5326

原创 Failed to start bean ‘documentationPluginsBootstrapper‘; nested exception is java.lang.NullPointerEx

原因:1、SpringBoot版本太高导致集成Swagger2报错2、因为Springfox使用的路径匹配是基于AntPathMatcher的,而Spring Boot 2.6.X使用的是PathPatternMatcher。解决方案:1、我用的SpringBoot版本是2.6.1的,可以做版本降级处理,改成低版本的2、在application.properties末尾添加spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER(yaml同理) .

2022-02-07 10:29:46 483

原创 java.lang.IllegalArgumentException: argument type mismatch at sun.reflect.NativeMethodAccessorImpl.

解决方法:记录做项目中遇到的如题所示的bug,原因是mybatis的resultType类型和类中属性类型不一致导致的。我类中userId属性是long,但我resulttype写的是int,导致出错。映射的结果类型改为long类型即可。 <selectKey keyProperty="userId" keyColumn="user_id" resultType="long" order="AFTER"> select last_insert_id()

2022-01-20 14:32:37 2976

原创 javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint ‘java

项目中接收前端参数打算用枚举类型去接收,不过报了以上的校验错误,原因是因为@NotEmpty用在集合类上面,不能用于枚举类型。解决方法就是注释掉这行或者换成@NotNull也可以

2022-01-19 16:47:23 415

原创 java.lang.IllegalArgumentException: Bucket “xxxx“ 名称无效。Bucket 命名规范:1)只能包括小写字母,数字和短横线(-);2)必须以小写字母或者数

记录一次上传本地文件到OSS的bug,由于本人眼拙,将概览里的bucket域名一直当作bucket名称,导致上传一直失败,只需将bucket改成如下名称即可

2022-01-18 10:20:57 2656 1

原创 You have no right to access this object because of bucket acl.

我在做上传本地文件到OSS的时候遇到如上错误,原因竟是RAM未开启OSS权限导致的。步骤:1、点击页面右上角头像下的AccessKey管理2、来到此界面选择用户,添加权限3、添加如下权限即可

2022-01-18 10:13:42 494

原创 Docker的常用命令以及DockerFile详解

docker version 显示docker的版本信息 docker info 显示docker的系统信息,包括镜像和容器的数量 docker 命令 --help 帮助命令 帮助文档地址 :Reference documentation | Docker Documentation 镜像命令 docker images 查看所有本地的主机上的镜像 docker images -q 只显示镜像的id docke...

2021-12-20 18:22:28 424

原创 Error running ‘Tomcatx‘Cannot load \conf\server.xml: String ‘--‘not allowed in comment (missing ‘>‘?

今天,因为工作需要,所以在一个windows环境中配置了两个tomcat,但是第二个tomcat一直报如题目所示的错误,网上百度和google搜索出来的结果都是端口占用、修改配置等,而我仔细看了看问题所在,后面标有如下图所示的字样,也就是告诉了我行数和列数,然后我用vscode打开一看,果然76行有问题,–爆红了,所以问题找出来了就解决了,和端口没啥关系。如果这篇文章有帮助到你,就给个大大的赞哦!让我看看有多少幸运儿嘿嘿! 附上转载:一个windows配置两个tomcat的链接(本人亲测可行):htt

2021-12-13 11:17:32 1168

原创 Cannot resolve plugin org.apache.maven.plugins:maven-compiler-plugin:3.1 Clean up the broken artifa

言简意赅,话不多说,直接上图:记录一次创建maven项目的时候出现的bug,我以前也配过maven并没有遇到过这种问题,这回重新下载就出现这个问题了。我maven刚开始下的是3.8.4版本的也就是目前的最新版本,然后就出现了如上问题,而且我觉得我环境变量和settings.xml的配置以及IDEA整合maven的配置都没问题的,我还照着网上的大多数教程去修改阿里云镜像、关闭内网连热点、等方式都没用。我还以为是版本问题,就降级成了3.6.3,还是不行,之后我换成了3.5.4就可以了,然后我很纳闷不应该是版

2021-12-10 15:18:59 3400

原创 SSM与SpringBoot常见面试题汇总

1.SSM三大框架和SpringBoot有什么区别?答:SpringBoot是整个Spring技术栈的一个大整合,SpringBoot将原有的xml配置,简化为java注解的形式,而且SpringBoot有内置的tomcat服务器,可以以jar形式启动一个服务,可以快速部署发布web服务,而且使用idea可以很方便的搭建一个SpringBoot项目,选择对应的maven依赖,简化Spring应用的初始搭建以及开发过程,并且SpringBoot使用starter依赖自动完成bean配置,解决bean之间的

2021-11-03 18:58:29 902

原创 JVM与GC常见面试题汇总

1、垃圾收集器说一下?答:有七大垃圾收集器。首先是Serial收集器,它就是单个垃圾收集线程参与垃圾回收,期间会暂停所有的用户线程,也就是stop the world。新生代采用复制算法,老年代采用标记整理算法。第二个是ParNew收集器,它其实就是Serial收集器的多线程版本,就是多个垃圾收集线程参与垃圾回收,同样的也会暂停所有用户线程。新生代同样采用复制算法,老年代采用标记整理算法。第三个是Parallel Scavenge收集器,它也是多个垃圾收集线程参与垃圾回收,相比于ParNew垃圾收集器它更

2021-10-30 19:52:44 797

原创 一文让你彻底搞懂final、static、static final、常量池、静态常量池、运行时常量池、成员变量、实例变量、静态变量、类变量

常量池:字节码文件内部包含了常量池静态常量池:就是静态的概念,和上述常量池一个概念,只是叫法不同运行时常量池:就是把常量池加载到jvm的方法区,将符号引用转化为直接引用的过程,这时就称为是运行时常量池成员变量:就是位于类中方法外,位于堆中(例如int i = 3)实例变量:和成员变量一样,只是叫法不同静态变量:static修饰的成员变量(实例变量),jdk1.7及之后位于堆中类变量:和静态变量一样,只是叫法不同核心理解:以下是我查网上资料和看书看视频个人总结的不一定对,有啥不对的地方请各位

2021-10-24 22:09:06 4035 3

原创 MySQL常见面试题汇总

1、mysql的存储引擎?有什么区别?优点,缺点,什么场景是用什么?答:MyISAM和InnoDB,InnoDB是mysql5.5及之后默认使用的存储引擎。InnoDB支持事务,MyISAM不支持。InnoDB支持主外键,MyISAM不支持。MyISAM不适合高并发的操作,因为它是表锁,操作一行记录会锁住整张表,而InnoDB是行锁,不会对其他行造成影响。MyISAM更关注性能,而InnoDB更关注安全这方面。MyISAM只缓存索引,不缓存真实数据。InnoDB不仅缓存索引还要缓存真实数据,对内存的要.

2021-10-10 18:22:29 438

原创 CentOS7安装JDK简单步骤

1、首先从官网下载下来jdk的tar.gz包,然后放到虚拟机或云服务器的指定目录下。(我的是放在/home/soft文件下,这里执行命令cd /home mkdir soft)2、将文件解压到/usr/local目录,tar -zxvf jdk-8u291-linux-x64.tar.gz -C /usr/local,如下图所示:3、第一行为你解压jdk后的路径,其余两行保持不变。export JAVA_HOME=/usr/local/jdk1.8.0_291 你解压后jdk所...

2021-09-17 18:13:08 825 1

原创 Navicat远程连接mysql出现2059错误解决

原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password解决:我是docker安装的mysql,先执行docker exec -it mysql容器ID /bin/bash进入到容器里面,通过mysql -uroot -p登录到mysql里面,然后执行如下指令即可:1、ALTER USER 'root'@'%' IDENTIFIED BY '你要设置的mysql密码' PASSWORD ...

2021-09-17 17:31:29 376

原创 fastjson使用自我总结

不知道各位小伙伴是否遇到过这样一个问题,就是在SpringMVC controller层接收的时候,如果参数类型是String亦或者是对象、map,后端在接收参数的时候都会报空指针异常,也就是接到的是个null。我们通常是在参数前加一个@RequestBody注解来去接收前端传过来的参数,要求数据是放在body请求体中,且Content-Type为application/json(我是以json作为数据的传输方式)。但是如果你是光用String或者Map啥的接收,那么收到的是一个字符串或者map形式的对..

2021-08-13 17:17:37 163

原创 Java常用工具类小结

一、xml转json对象 依赖jar<dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> <dependency> ..

2021-07-28 13:09:54 174

原创 微服务原理学习小结(二)

4、微服务架构下的服务治理1、Spring Boot集成Apache Dubbodubbo:protocol:配置服务提供者的协议信息,Dubbo支持多种协议来发布服务,默认采用Dubbo协议,可选的协议有很多,比如Hessian、Webservice、Thrift等。dubbo:service:描述需要发布的服务接口,也就是这个接口可供本网络上的其他进程访问。dubbo:consumer:check:false:关闭所有服务的启动时检查(没有提供者时报错)dubbo中提供的@Servi

2021-07-21 19:40:21 382 1

原创 微服务原理学习小结(一)

1、从单体架构到分布式架构的演进1.1、单体架构通常来说,如果一个war包或者jar包里面包含一个应用的所有功能,则我们称这种架构为单体架构。1.2、集群及垂直化1、通过横向增加服务器,把单台机器变成多台机器的集群。2、按照业务的垂直领域进行拆分,减少业务的耦合度,以及降低单个war包带来的伸缩性困难问题。1.3、SOASOA就是面向服务的架构,核心目标是把共享业务提取成独立的基础服务。在SOA中,会采用ESB(企业服务总线)来作为系统和服务之间的通信桥梁。1.4微服务架构

2021-07-21 11:43:14 1253 2

原创 Git实际工作中的基本操作流程(干货满满!附入职经历呦!)

入职经历(不感兴趣可以跳过) 今年暑假是刚入职的Java实习生小白,刚进公司,公司就让用git去把gitlab上的项目全部克隆下来,在这之前我也学过git,一下就克隆下来了,不就是个git clone么,然后导入jar包一直导不进去,maven、阿里云镜像啥的都没问题,后来问同事才知道是没有用公司的私服,有些jar包下不下来导致的,后来去掉了阿里云镜像加上了私服只导入了部分jar包,我又把阿里云镜像加了回来,莫名其妙就导入了进来,莫名其妙就是,我认为私服如果没有jar包的话它会从中央仓库去下载ja...

2021-07-16 16:39:45 2199

原创 Redis常见面试题汇总

1.说一下Redis和Memcached的区别和共同点答:共同点:都是基于内存的数据库,都有过期策略,性能都非常高。区别是memcached只支持简单的k v数据类型,而redis支持更丰富的数据类型。redis还支持持久化,memcached不支持。redis还有灾难恢复机制。redis支持发布订阅模型、Lua脚本、事务等功能,而Memcached不支持。Memcached过期数据的删除策略只用了惰性删除,而redis有惰性删除和定期删除。2.redis跳表以及为什么要用跳表?(简单版回答,后期进

2021-06-10 15:36:33 158 1

原创 牛客题霸NC4 判断链表中是否有环

描述判断给定的链表中是否有环。如果有环则返回true,否则返回false。你能给出空间复杂度O(1)的解法么?第一种解法 时间复杂度O(n) 空间复杂度O(n) 思路:遍历整个链表,将每个节点放入set集合中,再放之前判断当前集合是否存在将要放入的节点,如果存在就说明成环,反之,不成环import java.util.Set;import java.util.HashSet;public class Solution { public boolean h...

2021-05-27 08:32:46 130

原创 LeetCode20. 有效的括号

给定一个只包括'(',')','{','}','[',']'的字符串s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例2:输入:s = "()[]{}"输出:true示例3:输入:s = "(]"输出:false示例4:输入:s = "([)]"输出:false示例5:输入:s = "{[]}"输出:true...

2021-05-26 16:20:12 46

原创 Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans,报错解决

记录自己今天遇到的一个小bug:在做头像上传功能时,出现如下错误,我有一个Properties类是和配置文件所绑定的,@ConfigurationProperties:告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定;prefix = "":配置文件中下面的所有属性进行一一映射,一般@Component只有这个组件是容器中的组件,才能用容器提供的@ConfigurationProperties功能;解决方法 1)直接把@Component注解注释掉 ...

2021-04-19 17:19:13 7358

原创 Mybatis复习小结

mybatis在使用代理dao的方式实现增删改查时做什么事呢?只有两件事: 第一:创建代理对象 第二:在代理对象中调用selectList我们读取配置文件用到了IO里面的Resources类,读出来的流也就是我们找到了我们要的这这些信息,交给了构建者,构建者使用工具类给我们构建了一个工厂对象,工厂里面的openSession()给我们提供了一个session方法,什么时候调用selectList查询所有的方法,创建Dao实现类增强的时候也就是创建代...

2021-04-10 08:38:49 1878 4

原创 腾讯云服务器Linux上搭建FastDFS+Nginx文件服务器(包括docker版本是彩蛋哦!)走过路过不要错过!

FastDFS:是用C语言编写的一款分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,注重高可用、高性能。使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。FastDFS流程图:FastDFS有两个服务,分别是Tracker Server和Storage Server,Tracker Server相当于是项目经理,Storage Server相当于是程序员。1、流程步骤1、Storage定时向Tracker上传工...

2021-03-31 16:47:16 390 8

原创 Java-JDK动态代理复习总结

1.代理模式:答:当一个对象不能直接使用,可以在客户端和目标对象之间创建一个中介,这个中介就是代理作用:控制访问: 在代理中,控制是否可以调用目标对象的方法 功能增强: 功能增强,可以在完成目标对象的调用时,附加一些额外的功能,这些额外的功能叫做功能增强。静态代理:代理类是手工实现的java文件,同时代理的目标对象是固定的。优点:容易理解,使用方便缺点:在目标类比较多的时候,会产生大量的代理类;当接口改变时,影响的目标类和代理比较多,都需要修改2.什么...

2021-03-11 22:00:27 143 2

原创 Postman415报错“Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported

记录一次在前后端联调过程中出现的"Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported"415状态码报错,原因是我用x-www-form-urlencoded发送了一次post请求,然后请求头中就携带了如下图所示的key、value,再次以raw方式发送json数据就报错了。 解决方案: 将这个关掉,下次访问就不会报错了。...

2021-03-07 10:21:53 3661

原创 震惊!心态炸裂!IntelliJ IDEA Project Structure下Paths指定的module compile output path由于指定路径错误导致磁盘内容被删光了!

今天是难忘的一天,由于

2021-03-01 11:07:39 3560 2

原创 Java并发及多线程常见面试题汇总

34. 并行和并发有什么区别?答:并行是指两个或多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。35.什么是线程死锁?答:两个或多个线程各自占有一些资源,都在等待对方释放资源,都停止执行的情况。36.守护线程是什么?答:是个服务线程,例如GC就是守护线程。37.创建线程有哪几种方式?答:传统的是继承Thread类和实现Runnable接口,java5以后又有实现Callable接口和通过java的线程池来获得。38.说一下Callable接口与Ru...

2021-01-27 19:17:35 201

原创 牛客剑指Offer13 调整数组顺序使奇数位于偶数前面

时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 64M,其他语言128M热度指数:871153题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 做题思路:运用队列的先进先出思想来做这道题就很简单了。import java.util.*;public class Solution { public void reOrderArray(...

2021-01-26 17:40:13 73

原创 牛客剑指Offer09 变态跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。示例1输入3返回值4public class Solution { public int JumpFloorII(int target) { if(target == 1){ return 1; } if(target == 2){ return 2;

2021-01-25 17:15:48 69

原创 Java基础常见面试题汇总

1.JDK 和 JRE 有什么区别? 答:JDK提供了java的开发环境和运行环境,而JRE提供了java的运行环境。具体来说就是JDK包含了JRE,还包含了编译java源码的编译器javac,如果你要运行java程序就安装JRE就行了,如果你要编写java程序就需要安装jdk2.== 和 equals 的区别是什么? 答: ==在基本类型和引用类型中的效果是不同的,在基本类型中比较的是值是否相同,而在引用类型中比较的是引用是否相同。equals 默认情况下是引用比较,只是很多类重写了 eq..

2021-01-14 11:43:11 307

空空如也

空空如也

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

TA关注的人

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