- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 记一次jar包冲突修改路程
这里写自定义目录标题开发中难免遇到jar包冲突的问题,有些会在项目启动时提示出来,有些则会在调用时报出各种问题,前者还较容易解决,后者就只能凭经验了。下面分享一次最近解决jar包冲突的过程,希望能帮到大家。(由于对maven没有做深入的了解,有不对的地方也希望有人能帮忙指正)1.执行 mvn dependency:tree 命令查看依赖结构2 原来,即使我们在common包中将servlet-api包排除,web项目引入common包时仍然会把servlet-ap包引入进来,所有得在web项目引入commo
2021-02-27 12:15:51
634
原创 redis实现消息队列
Redis五种数据结构如下:1.String 字符串类型是redis中最基本的数据类型,一个key对应一个value。String类型是二进制安全的,意思是 redis 的 string 可以包含任何数据。如数字,字符串,jpg图片或者序列化的对象。使用:get 、 set 、 del 、 incr、 decr 等2.Hash (哈希)是一个Mapmap,指值本身又是一种键值对结构,如 value={{field1,value1},......fieldN,valueN}}.
2021-02-18 20:14:19
326
原创 Redis缓存雪崩问题
一、什么是缓存雪崩缓存穿透:key对应的数据在数据源并不存在,每次针对此key的请求从缓存获取不到,请求都会到数据源,从而可能压垮数据源。比如用一个不存在的用户id获取用户信息,不论缓存还是数据库都没有,若黑客利用此漏洞进行攻击可能压垮数据库。 缓存击穿:key对应的数据存在,但在redis中过期,此时若有大量并发请求过来,这些请求发现缓存过期一般都会从后端DB加载数据并回设到缓存,这个时候大并发的请求可能会瞬间把后端DB压垮。 缓存雪崩:当缓存服务器重启或者大量缓存集中在某一个时间段失效,这样在失
2021-02-18 19:58:21
494
1
原创 Spring中的线程安全性
Spring作为一个IOC/DI容器,帮助我们管理了许许多多的“bean”。但其实,Spring并没有保证这些对象的线程安全,需要由开发者自己编写解决线程安全问题的代码。Spring对每个bean提供了一个scope属性来表示该bean的作用域。它是bean的生命周期。例如,一个scope为singleton的bean,在第一次被注入时,会创建为一个单例对象,该对象会一直被复用到应用结束。 singleton:默认的scope,每个scope为singleton的bean都会被定义为一个单例对象,
2021-02-18 19:54:41
569
1
原创 MySQL锁探寻之旅
MySQL的锁机制比较简单,最显著的特点就是不同的存储引擎支持不同的锁机制。根据不同的存储引擎,MySQL中锁的特性可以大致归纳如下: 行锁 表锁 页锁 MyISAM √ InnoDB √ √ 锁开销、加锁速度、死锁、粒度、并发性能对比表锁:开销小,加锁快;不会出现死锁;锁定力度大,发生锁冲突概率高,并发度最低行锁:开销大,加锁慢;会出现死锁;锁定粒度小,发生锁冲突的概率低,并发度高页锁:开销和加锁速度介于...
2021-02-18 19:46:32
166
1
原创 springboot项目文件上传失败
boot项目开发中遇到的文件上传失败问题,在这里简单做个笔记,希望也能帮到大家。1.max-file-size引发反思刚开始application.yaml未配置max-file-size配置,在自己Controller中做了文件大小限制,已方便做国际化返回想要的提升语,然后发现始终不能正确提示,百度了一篇文章说是spring中的maxFileSize默认时10M,我的Controller中做了文件大小限制是5M,就没想着是这块问题,后来排查了半天,只能请教别人,然后大哥把这块配置了下面这块.
2021-02-18 19:26:11
1269
原创 简单撸下Hashmap源码
数组:其实所谓的数组指的就是一组相关类型的变量集合,并且这些变量彼此之间没有任何的关联。存储区间连续,占用内存严重,数组有下标,查询数据快,但是增删比较慢;链表:一种常见的基础数据结构,是一种线性表,但是不会按照线性的顺序存储数据,而是每一个节点里存到下一个节点的指针。存储区间离散,占用内存比较宽松,使用链表查询比较慢,但是增删比较快;哈希表:Hash table 既满足了数据的快速查询(根据关键码值key value 而直接进行访问的数据结构),也不会占用太多的内存空间,十分方便。哈希表是数组加链
2021-02-18 18:50:38
229
原创 Arrays.aslist()的坑
最近在写单元测试Mock数据时常用到Arrays.aslist()方法,在运行时报了java.lang.UnsupportedOperationException异常先翻看源码:发现Arrays工具类中并没有返回我们常用的ArrayList,而是在内部创建了内部类ArrayList并继承AbstractList,但是Arrays的内部类ArrayList并没有重写AbstractList的方法,我们调用时实际上调用的AbstractList的方法,再看看AbstractList做了什么.
2021-02-18 18:41:09
192
原创 记自己日常开发遇到的坑
记自己日常开发遇到的坑1.Java时间格式化时YYYY(大写)和yyyy(小写)的有区别 用周的时候记得用YYYYLocalDateTime previousEndDateTime = LocalDateTime.of(2021, 1, 1, 0, 0);//以2021年1月1日为例DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyy dd");DateTimeFormatter formatter2 = Date..
2021-02-03 17:05:19
106
原创 开发常用的linux命令总结
1.想查看日志中某些内容,日志却已经生成成很多个zip文件,可以使用zgrep例子:zgrepuser_id rca.log* | grep 'writeback successed'2.杀进程例子: kill -9 ${ps -ef | grep java | grep -v grep |awk '{print $1}'} ps -ef|grepjava...
2020-04-06 16:56:04
212
原创 Maven下载安装,并配置到tomcat产生Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resource
网上提供的解决方法基本都是如下:但我试了不行,需要打开并修改conf/settings.xml,添加如下内容:<!--设置本地仓库位置--><localRepository>F:\maven\repository</localRepository><!--设置远程仓库--><mir...
2018-06-26 02:28:53
32375
3
java开发中的23 中设计模式详解
2018-05-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人