自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA图片处理大全

1.多个图片叠加public static void combineImage(List<String> urlList, int width, int height, String destPath, String imgFormat) throws IOException { BufferedImage combinedImage = new BufferedImage(width, height, Buffere...

2022-03-17 14:32:17 1788 2

原创 maven打成可运行jar mvn install -Dmaven.test.skip=true

mvn install -Dmaven.test.skip=true

2022-01-07 15:58:56 606

原创 Cloud-Hystrix豪猪哥feign远程调用服务降级实现

什么是服务降级?服务降级是指 当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务和页面有策略的不处理,或换种简单的方式处理,从而释放服务器资源以保证核心业务正常运作或高效运作。说白了,就是尽可能的把系统资源让给优先级高的服务。由图可得,当某一时间内服务A的访问量暴增,而B和C的访问量较少,为了缓解A服务的压力,这时候需要B和C暂时关闭一些服务功能,去承担A的部分服务,从而为A分担压力,叫做服务降级。service层@FeignClient(服务名,实现降级处理的fallbackFact.

2021-08-11 15:48:58 342

原创 linux-根据文件名查找文件

-总是忘,记录下find / -name 文件名find / -name "*文件名*"

2021-08-07 14:50:54 4527

原创 Error running ‘xx‘: Command line is too long. Shorten command line for core or also for Spring Boo

报错信息大概如下:Error running 'xx:Command line is too long. Shorten command line for xxx or also for Application default configuration.解决方案:打开程序的运行配置,把Shorten command line改为JAR manifest或classpath file,如图所示:...

2021-08-05 10:47:43 176

原创 windows安装rabbitmq教程(超详细)

1、安装Erlangerlang环境安装程序下载路径:https://www.erlang.org/downloads设置环境变量,新建ERLANG_HOME修改环境变量path,增加Erlang变量至path,%ERLANG_HOME%\bin;打开cmd命令框,输入erl2、安装rabbitmqrabbitMQ安装程序下载路径:https://www.rabbitmq.com/install-windows.html拉到页面中间找到如下点击:...

2021-08-03 11:34:14 5537

原创 Linux mysql5.7安装(手把手超详细)

1 检查工作1.1 删除已有的相关包在安装前需要确定现在这个系统有没有 MySQL,如果有那么必须卸载。尤其是新的 CentOS 7 系统,它自带mariaDB数据库,所以需要卸载掉。查找已安装的MySQL软件包:rpm -qa|grep mysql1CentOS7下还需要查找是否存在mariadb包:rpm -qa|grep mariadb1如果输入上述两个命令后都输出存在有包,则需要执行删除命令。例如,前两步中终端输出了“mysql-libs-5.1.73-1.el6.x86_6

2021-08-03 09:52:24 10391 5

原创 为什么 redis 单线程却能支撑高并发?

纯内存操作核心是基于非阻塞的 IO多路复用机制 单线程反而避免了多线程的频繁上下文切换问题1)不需要各种锁的性能消耗Redis的数据结构并不全是简单的Key-Value,还有list,hash等复杂的结构,这些结构有可能会进行很细粒度的操作,比如在很长的列表后面添加一个元素,在hash当中添加或者删除一个对象。这些操作可能就需要加非常多的锁,导致的结果是同步开销大大增加。总之,在单线程的情况下,就不用去考虑各种锁的问题,不存在加锁、释放锁操作,没有因为可能出现死锁而导致的性能消耗。2

2021-07-29 16:08:49 644

原创 Docker使用总结

1.Docker常用命令?docker pull 拉取或者更新指定镜像docker push 将镜像推送至远程仓库docker rm 删除容器docker rmi 删除镜像docker images 列出所有镜像docker ps 列出所有容器2.docker是怎么工作的?实际上docker使用了常见的CS架构,也就是client-server模式,docker client负责处理用户输入的各种命令,比如docker build、docker run,真正工作的其实是s

2021-07-29 14:39:48 74

原创 Docker的优缺点

Docker解决的问题:由于不同的机器有不同的操作系统,以及不同的库和组件,在将一个应用部署到多台机器上需要进行大量的环境配置操作。Docker 主要解决环境配置问题,它是一种虚拟化技术,对进程进行隔离,被隔离的进程独立于宿主操作系统和其它隔离的进程。使用 Docker 可以不修改应用程序代码,不需要开发人员学习特定环境下的技术,就能够将现有的应用程序部署在其它机器上。与虚拟机的比较:虚拟机也是一种虚拟化技术,它与 Docker 最大的区别在于它是通过模拟硬件,并在硬件上安装操作系.

2021-07-29 10:26:40 1453

原创 线程池的知识点 类比成去海底捞吃饭

整个海底捞就是一个线程池海底捞里面一共有50个座位——50个核心线程外面等待区——队列外面等待区有20座位——70个最大线程数人太多了,后面的人要排队2个一小时以上,服务员会告诉你,排队时间较久,要不您逛一会,晚点再过来——几种拒绝策略这样应该就能很好理解线程池和里面一些参数的作用了吧。作者:敖丙链接:https://juejin.cn/post/6981608167041925134来源:掘金著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。...

2021-07-29 09:42:23 73

原创 如果我们现在要做一个库存盘点的系统,你怎么设计表结构,设计哪些表

答:库存表包含的字段有 物品的类别,名称、编号、初始数量、剩余数量等信息;​ 分配表包含的字段有 人员信息,包含手机号,微信号,名称等、物品类型、物品名称、编号​ 还有一些分配记录表,日志表,记录分配和修改的信息,方便后面做库存盘点统计用作者:敖丙链接:https://juejin.cn/post/6981608167041925134来源:掘金著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。...

2021-07-29 09:35:47 596

原创 一个数组如果让你找到最大数,你会怎么弄?

答:减少空间的话可以用冒泡排序找;减少时间的话可以用二分法或者分段找到每一块最大的再继续找。

2021-07-29 09:35:09 115

原创 有用过redis吗,你项目中使用场景是什么?说说你对redis的理解

答:我们项目中用到的redis场景不多,一般用于存储计算的数据,我们有些通过BI统计计算的数据,每次计算耗时比较长,这些数据可以存放到redis中,设置一天有效期;后面访问的时候就比较快了redis的类型有string类型,hsah,可以用于购物车的场景,List,朋友圈展示,set,共同好友,zset 排名;redis因为数据都在内容中所以查询起来非常快,但是它会通过RDB和AOF持久化数据到磁盘里去RDB是在指定的时间间隔内生成数据集的时间点快照,它保存了 Redis 在某个时间点上的数据集

2021-07-29 09:32:27 368

原创 3、数据库查询优化了解吗,说说怎么优化(索引相关)

答:可以先在查询分析器中查看执行语句的时间,分析语句是否用到了索引,索引是否生效​ (1)尽量避免select*,需要哪些字段就查询哪些字段​ (2)一些公用的数据可以先拿到内存里,后面要用直接拿,而不是每次用到的时候重新去数据库取,主要是减少数据库交互,提供性能4、说说索引(聚集索引、非聚集索引,联合索引、最左匹配原则、非聚集索引要回表查询)答:索引分为聚集索引和非聚集索引,用非聚集索引查询一般需要再次回表查询,因为非聚集索引存储的是主键ID,聚集索引查询就好似书的目录,用索引可以快速定位

2021-07-29 09:31:14 97

原创 关系型数据库和非关系型数据库有什么区别,你们现在用的是哪个数据库,为什么

答:关系型数据库包括SqlServe、MySql、Oracle;非关系型数据库有MongoDB、Redis(1)nosql的存储格式是key,value形式、文档形式、图片形式等等,所以可以存储基础类型以及对象或者是集合等各种格式,而数据库则只支持基础类型(2)nosql数据库将数据存储于缓存之中,关系型数据库将数据存储在硬盘中,自然查询速度远不及nosql数据库(3)关系型数据库可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询(4)关系型数据库支持事务,安全性高我们存储

2021-07-29 09:29:08 107

原创 设计表结构的时候要考虑哪些问题

(1)设计表的时候首先要关注表字段的可扩展性,例如性别这个字段,正常可以用bool类型,true为男,false为女,但是如果是未知呢,所以尽量避免用bool类型,可以用int类型或者枚举类型代替;(2)其次需要考虑表的可维护性及可读性,例如主表里有奖品信息的字段,如果奖品有多种类型呢,甚至对应多个奖品的情况,我这边选择独立一张表出来通过字段关联存放奖品信息而不选择放在主表字段里作者:敖丙链接:https://juejin.cn/post/6981608167041925134来源:掘金著作

2021-07-29 09:28:08 2347

原创 ribitmq安装在docker(详细教程)

Docker系列之RabbitMQ安装部署教程因为学习RabbitMQ需要,需要安装RabbitMQ,网上找资料,RabbitMQ官方提供了window版、Linux版、Docker版的管理页面,为了方便,选择了docker版本进行学习主要介绍一下Docker版本,常用的docker镜像操作:查询rabbitMQ镜像:management版本,不指定默认为最新版本latest docker search rabbitmq:management拉取镜像:d.

2021-07-28 18:01:28 195

原创 CentOS7下安裝docker docker-ce conflicts with 2:docker-1.13.1-75.git8633870.el7.centos.x86_64错误

sudo yum install docker-ce我们安装docker-ce,出现以下错误错误信息错误:docker-ce conflicts with 2:docker-1.13.1-208.git7d71120.el7_9.x86_64错误:docker-ce-cli conflicts with 2:docker-1.13.1-208.git7d71120.el7_9.x86_64解决办法1.输入指令:sudo yum remove docker \ ...

2021-07-28 17:52:32 458 1

原创 为什么禁止使用BigDecimal的equals方法做等值比较?

BigDecimal,相信对于很多人来说都不陌生,很多人都知道他的用法,这是一种java.math包中提供的一种可以用来进行精确运算的类型。很多人都知道,在进行金额表示、金额计算等场景,不能使用double、float等类型,而是要使用对精度支持的更好的BigDecimal。所以,很多支付、电商、金融等业务中,BigDecimal的使用非常频繁。而且不得不说这是一个非常好用的类,其内部自带了很多方法,如加,减,乘,除等运算方法都是可以直接调用的。除了需要用BigDecimal表示数字和进行数字运

2021-07-28 11:56:39 431 1

原创 BigDecimal精度丢失问题

BigDecimal,相信对于很多人来说都不陌生,很多人都知道他的用法,这是一种java.math包中提供的一种可以用来进行精确运算的类型。很多人都知道,在进行金额表示、金额计算等场景,不能使用double、float等类型,而是要使用对精度支持的更好的BigDecimal。所以,很多支付、电商、金融等业务中,BigDecimal的使用非常频繁。但是,如果误以为只要使用BigDecimal表示数字,结果就一定精确,那就大错特错了!使用BigDecimal的equals方法并不能验证两个数是否真的

2021-07-28 11:43:59 4147

原创 索引采用那种数据结构?

常见的mysql主要有两种结构:hash索引和B+tree索引,我们使用的是innoDB引擎,默认是B+树

2021-07-20 20:04:03 392

原创 什么是事务,事务的四大特性是什么

事物是逻辑上的一组操作,要么都执行,要么都不执行原子性:确保动作要么全部完成,要么完全不起作用一致性:执行事物前后,数据保持一致,多个事物对同一个数据的读取结果是相同的隔离性:并发访问数据时,一个用户的事物不能被其他事物干扰,各并发事物之间数据库是独立的持久性:一个数据被提交之后,他对数据库的改变是持久的,即使数据库发生故障也不会被影响...

2021-07-20 20:02:40 159 1

原创 MySql存储引擎

常用的是两种 MyISAM,是基于ISAM的存储引擎,具有较高的插入和查询速度,但是不支持事物平时我用的是InnoDB,也是MySql的默认引擎,支持事物安全表,支持外键完整性约束,CPU效率高,处理巨大的数据有优势。...

2021-07-20 19:58:45 36

原创 线程安全与不安全的概念

线程安全:所有的请求共享一个对象,如果这个对象没有可修改的属性,那就是线程安全的线程不安全:所有的请求共享一个对象,如果这个对象有可修改的属性,那就是线程不安全的

2021-07-20 19:58:18 48

原创 java死锁

多个线程因竞争资源造成的避免死锁的三个办法线程按照一定的顺序加锁 加锁时限(线程尝试获取锁的时候加上一定的时限,超过时限则放弃对该锁的请求,并释放自己占有的锁) 死锁检测...

2021-07-20 19:56:48 29

原创 如何实现线程同步

1)加锁,如:synchronized。lock2)通过wait和和notify(和notifyAll),推荐使用notifyAll。

2021-07-20 19:55:49 39

原创 多线程以及线程池的使用

可以通过new Thread(runnable).start()开启子线程,但是实际应用中这种开启多线程的方法在线程数非常多的情况下不一定能实现期望的功能,主要是在重复创建和销毁线程时消耗了大量的资源,导致多线程的效率反而没有单线程效率高。通过线程池Executors.newFixedThreadPool()对创建的线程进行复用,减少了资源的消耗。通过new ThreadPoolExecutor()创建线程池...

2021-07-20 19:53:47 68

原创 多线程怎么使用

1)创建一个类去继承Thread类然后重写run方法,在main方法中调用该类实例对象的start方法即可实现多线程并发。2)实现Runnable接口3)实现Callable接口(有返回值)

2021-07-20 19:51:48 79

原创 同步和异步

同步:调用一旦开始,调用者必须等到方法返回后,才能执行其他操作异步:一旦方法调用会立刻返回,调用者可以继续后面的操作

2021-07-20 19:49:53 53

原创 常用的集合有哪些?

List集合:ArrayList和LinkedList,他们的区别是ArrayList是基于索引的数据接口,底层是动态数组,查询快,增删改的速度较慢LinkedList是以元素列表的形式存储它的数据,底层是列表,查询慢增删快,LinkedList比ArrayList更占用内存因为LinkedList为每一个节点存储了两个引用,一个指向前一个元素,一个指向下一个元素。Set集合:HashSet、TreeSet、LinkedHashSet一般来说,如果我们需要保证集合元素是唯一的,就用set集合一般

2021-07-20 19:48:00 3929

空空如也

空空如也

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

TA关注的人

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