自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在Linux上读取jar包BOOT-INF/classes下的properties文件

在Linux上读取jar包BOOT-INF/classes下的properties文件把spring boot项目打包成jar包后部署到Linux上测试时,出现读取BOOT-INF/classes下的properties文件,一直提示该路径下的文件不存在,但是进去查看是,该文件是存在,但就是读取不到。该文件路径如下使用的代码是** * 获取项目根目录(动态) * @return */public static String getProjectRootPath() { String p

2020-09-15 10:00:34 5515

原创 关于使用ffmpeg把rtsp转rtmp过程中丢包问题

关于使用ffmpeg编码丢包问题平时在本地电脑window上时,丢包情况没怎么出现,到了Linux上的测试环境时就出现很大的丢包数,导致画面也是有很多花屏,严重时会导致转码停止。原先的转码的ffmpeg命令如下ffmpeg -i rtsp://192.168.1.108:554/DN0008.sdp -vcodec copy -acodec copy -f flv -y rtmp://192.168.1.108:1935/mylive/DN0008在ffmpeg命令行中加入-preset ultr

2020-09-15 09:51:21 1317

原创 访问swagger2时出现空白页

Springboot整合swagger2时后,访问http://localhost:8080/swagger-ui.html时出现空白页如下我的swagger2版本为2.7.0。Swagger2的maven版本为2.7.0<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <versio

2020-09-08 16:31:42 4239 2

原创 使用spring boot整合swagger2时,出现Unable to infer base url

使用spring boot整合swagger2,访问http://localhost:8080/swagger-ui.html#/时出现错误。Unable to infer base url. This is common when using dynamic servlet registration or when the API is behind an API Gateway. The base url is the root of where all the swagger resources a

2020-09-05 14:38:00 693

原创 spring boot项目启动失败,Correct the classpath of your application

springboot项目启动时出现Correct the classpath of your application so that it contains a single, compatible version of com.google.common.collect.FluentIterable错误***************************APPLICATION FAILED TO START***************************Description:An

2020-09-05 14:30:35 4496 6

原创 Vue中使用el-uploda上传文件时出现跨域问题

Vue中使用el-uploda上传文件时出现跨域问题主要在我spring boot后端整合shiro进行权限控制时出现的问题如下,在发起请求后浏览器一直提示出现跨域拦截前端vue上传代码如下,报错提示头部缺少了Access-Control-Allow-Origin前端vue代码如下<el-upload class="uploadTemplate" name="file1" :action="uploadExcel()" :on-su

2020-09-02 16:10:03 2468 1

原创 在Linux中出现RequestTimeTooSkewed错误

在Linux中,请求下载阿里云的oss时,一直出现RequestTimeTooSkewed错误错误提示: [ErrorCode]: RequestTimeTooSkewed原因:虚拟机的时间不对,该时间是以美国时间为准的,所以需要把时间改到中国东八区时间。步骤一:修改Linux系统的时间 在root目录下操作,查看服务器时间date ,查看服务器时间区date -Rdate -R步骤二:设置服务器时区 (大部分服务器只是时区对不上,到这里就可以了,我的不行,继续往下)export TZ='A

2020-09-02 15:41:54 1380

原创 springboot整合mybatis-plus时遇到maven依赖报红线

springboot整合mybatis-plus时遇到maven依赖报红线在springboot的pom中引入mybatis-plus后依赖报红线如图maven管理处的依赖pom文件中project报错,靠近红色有提示当你重新导入pom文件时还是报错解决方法根据上面的提示找到本地仓库对该jar进行删除然后重新导入mybatis-plus解决...

2020-05-30 17:20:36 7421 2

原创 idea进行debug打断点时不生效

项目中打断点不生效在进行springboot项目开发过程中遇到进行打断点时不生效问题,断点显示红色却不打勾如图解决方法在pomxml中进行修改原先spring-boot-maven-plugin中是这样的热部署也有可能影响,需要把<optional>true</optional>设置成true需要把<fork>false</fork>设置成false,因为默认是true修改后代码 <plugin>

2020-05-30 17:11:23 12420

原创 ssm项目启动时处于无限循环加载

ssm项目启动时处于无限循环加载,同时项目也不报错原因是因为在写SQL的xml文件中把refid写成了id如这样改成这样

2020-05-26 11:09:59 518

原创 RabbitMQ入门案列学习之简单队列

一,RabbitMQ的简单了解RabbitMQ是目前非常热门的一款消息中间件,经常使用于并发量比较高的场景。用电商下单过程作为一个简单列子,按照传统的方式,下单过程要等到调用完毕之后才能返回下单成功,如果网络产生波动等原因使得商品服务扣库存延迟或者失败,这样就会导致较差的用户体验。消息队列提供一个异步通信机制,消息的发送者不必一直等待到消息被成功处理才返回,而是立即返回。消息中间件负责处理网...

2020-04-23 15:26:06 162

原创 Java并发工具类的列子与应用场景

并发工具类一,countDownLatch应用场景:启动多个线程计算,需要对其结果进行累加等。/** * 等待所有人都跑步结束后,才能开始下一个项目的比赛 */import java.util.concurrent.CountDownLatch;public class CountDownLatchDemo { public static void main(String...

2019-11-15 17:42:43 248

原创 Java容器

容器——同步容器与并发容器一,同步容器vector ,hashtable:JDK提供的同步容器。(Vector:实现了List接口,Vector实际上就是一个数组,和ArrayList类似,但是Vector中的方法都是synchronized方法,即进行了同步措施。但是在多线程情况下也会有不安全的情况。如下面的列子)hashTable:实现同步是利用synchronized关键字进行锁定的...

2019-11-15 17:02:17 118 1

原创 原子类的了解与使用

原子类一,什么是原子类一度认为原子是不可再分割的最小单位,故原子类可以认为其操作都是不可分割。二,为什么要有原子类对多线程访问同一个变量,我们需要加锁,而锁是比较消耗性能的,JDK1.5之后,新增的原子操作提供一种用法简单,性能高效,线程安全地更新一个变量的方式。这些类位于atomic包下,发展到JDK1.8,该包下共有17个类,囊括原子更新基本类型,原子更新属性,原子更新引用。在JDK...

2019-11-11 17:42:31 1100

原创 Threadlocal与condition的笔记与引用

一,ThreadLocal的使用ThreadLocal是一个线程变量,是一个以ThreadLocal对象为键,任意对象为值的存储结构,为每一个线程单独存放一份变量副本,也就是说每一个线程可以根据一个Threadlocal对象查询到绑定在这个线程上的一个值,只要该线程处于活动状态并且Threadlocal实例可以访问,那么每个线程都拥有对其本地线程副本的隐式引用变量。一个线程消失后,它的所有副本线...

2019-11-11 16:38:52 160

原创 记面试一家公司的Java实习面试题

面试题多线程和并发(线程的创建)线程池的具体实现:Executors类,提供了一系列工厂方法用于创建线程池,返回的线程池都实现了ExecutorService接口。public static ExecutorService newFixedThreadPool(int nThreads)创建固定数目线程的线程池。public static ExecutorService newCach...

2019-11-04 15:25:57 219

原创 并发编程stampedLock与ReentrantLock笔记

stampedLock与ReentrantLock的区别一,简单了解ReentrantLock1,ReentrantLock是可重入锁,可重入锁可简单的理解为这样int i = 0;int j = 0;void a (){ aa.lock(); i++; b(); aa.unlock();}void b(){ bb.lock() j++; bb.unlock();}...

2019-11-04 14:59:58 626

原创 并发编程笔记

线程间的通讯wait() ,notify(), notifyAll()1,何时使用在多线程环境下,有时候一个线程的执行依赖于另一个线程的某种状态改变,这个时候,我们就可以使用wait(),notify()或notifyAll()2,wait与sleep的区别 wait会释放持有的锁,二sleep不会,sleep只是让线程在指定的时间内,不去抢占CPU资源3,注意点wait,noyi...

2019-11-04 12:16:56 97

原创 笔记之Lock与synchronize锁的区别

Lock与synchronize锁的区别一,lock是通过new对象后手动调用lock()方法进行锁和unlock()方法进行解锁Lock lock = new ReentrantLock();public void test(){lock.lock();//加锁i++;lock.unlock();//释放锁}synchronize进行锁的方式是直接修饰在方法上或是代码块,不需要...

2019-10-16 15:26:14 144

原创 java代码实现直接插入排序

插入排序package demo5;/** * 插入排序 */import java.util.Arrays;public class InsertSort { public static void main(String[] args) { int[] arr = new int[]{3,2,5,7,1,4,9,8,6}; insertSo...

2019-07-19 15:21:15 281

原创 java代码实现快速排序

快速排序实现package demo4;import java.util.Arrays;/** * 快速排序 * 选择一个基数作为比较的标准,比它大的都在右边,比它小的都在左边 */public class QuickSort { public static void main(String[] args) { int[] arr = new int[]...

2019-07-19 14:31:26 122

原创 java代码实现冒泡排序

冒泡排序的的代码实现冒泡排序* 5,6,1,4,9,7,3,10 一共需要比较总的元素-1轮* 以第一个数5与下一个比较,如果比5大则交换,如第一轮比较5比6小,不交换* 5,6,1,4,9,7,3,10* 第二次比较 6与1比较,6大于1,交换* 5,1,6,4,9,7,3,10* 第三次比较 6与4比较,交换* 5,1,4,6,9,7,3,10* 直到比较的第一轮结束后,*...

2019-07-18 16:09:26 180

原创 java汉诺塔问题理解与代码实现

汉诺塔的过程实现:http://www.4399.com/flash/109504.htm#search3可以通过4399小游戏上面去玩看一下过程通过代码实现汉诺塔实现理解关键无论有多少盘子,都认为只有两个,上面的所有盘子和最下面的一个盘子。最上面从A柱子上移到B柱子中间,把最低下的移到目标柱子C上代码实现package demo2;/** * 递归解决汉若塔问题 */publ...

2019-07-18 14:52:52 473

原创 java代码实现二分法查找

二分法查找的前提该线性数组内的数字是有序的,如{1,2,3,4,5,6,7,8,9}等二分法的实现(1)首先,从数组的中间元素开始搜索,如果该元素正好是目标元素,则搜索过程结束,否则执行下一步。(2)如果目标元素大于/小于中间元素,则在数组大于/小于中间元素的那一半区域查找,然后重复步骤(1)的操作。package com.liao;/** * 二分法查找实现 */public...

2019-07-18 13:29:37 1550

原创 简单手写模拟JDK动态代理过程,快速阅读

下面是手写模拟了JDK动态代理的过程,几乎每行我都会注释看之前需要了解的1,对反射有所了解2,对动态代理的过程有所了解3,对阅读理解源码困难(大神就不用啦,有不足或错误的地方希望有大神指点一下)目录结构代码实现接口类package com.liao.dao;public interface UserDao { public void query(String name...

2019-07-15 14:49:50 156

原创 快速记忆理解String,StringBuffer,StringBuilder

关于String不可变特性的原因1,String赋值时会产生一个对象String 其实本身是一个比较特殊的类。通常我们为String的赋值方式为String str=“abc” 这样进行赋值。我们同样可以构造方法的方式来为它进行赋值,String str=new String(“abc”);...

2019-07-13 15:48:27 511

原创 从idea把项目上传到码云的步骤与你可能遇到的问题(配图超详细过程)

一,首先为所要上传的项目创建仓库二, 先点击add,成功后,然后点击commit Directory,再commit提交,然后再push提交此时需要添加URL,打开码云,并在码云上创建仓库,下面采用https方式,点击克隆/下载,然后复制HTTPS下的连接,放到idea中的URL,点击ok,第一次连接需要输入码云的用户名和密码。最后push三,如果你在最后push出现以下提...

2019-07-13 14:47:42 4200 6

原创 简单理解java线程中sleep和Object中wait的区别

@TOC从四个方面理解sleep方法和wait方法的不同(1)类上的不同sleep方法是属于Thread类中的方法,要使用该方法就必须得继承Thread或实现接口Runable。而wait方法是属于Object类中的方法。(2)方法调用上的不同在方法的调用上,sleep是一个静态方法,通过类名调用。wait不是静态方法,通过对象来调用(3)唤醒线程的方式不同列如:在线程调用slee...

2019-07-10 13:02:40 381

原创 简单理解设计模式之一单例模式

设计模式什么是设计模式单例模式饿汉模式懒汉模式饿汉与懒汉模式的区别由于是第一次写博客,上述有什么不正确或不对的地方,欢迎指出一起谈论什么是设计模式 简单点讲,设计模式就相当于一种模板,这个模板里规定了一些具体流程。单例模式 单例的意思就是唯一,一个的意思。在java代码中单例指的是对象唯一的意思,这个对象只能被创建一次。那一般哪些类的对象我们只需要一个呢?如配置类,工具类,线程池,缓存,...

2019-06-30 16:12:15 123

空空如也

空空如也

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

TA关注的人

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