- 博客(9)
- 收藏
- 关注
原创 浅谈缓存雪崩、缓存穿透、缓存击穿的之间的区别及解决方案
一、缓存雪崩概念:当缓存服务器重启或者大量缓存集中在某一时间段失效,这样在失效的时候,所有请求会得不到数据,会去数据库查询,查询数据量巨大,导致系统崩溃解决方案:(1)在缓存失效后,通过加锁或者队列控制读数据库写缓存的线程数量。比如对其中某个key只允许一个线程查询数据,让其他线程等待。(2)不同的key,设置不同的过期时间,让缓存失效的时间点不要集中在一起。二、缓存穿透概念:缓存和数据库中都没有的数据,而用户不断地发起请求,并且请求量很大,造成数据库很大的压力。解决方案:(1)将查询结果为
2021-08-26 19:32:28 536
原创 MyBatis的一级缓存与二级缓存及优势
一、MyBatis的一级缓存和二级缓存有什么区别?1.一级缓存:存在于同一个 SqlSession生命周期中,默认是开启的在同一个 SqlSession中MyBatis 会把执行的方法和参数通过算法生成缓存的键值, 将键值和结果存放在一个 Map 中, 如果后续的键值一样, 则直接从 Map(一级缓存)中获取数据;一级缓存能通过配置清除缓存,并且任何的 UPDATE, INSERT, DELETE 语句都会清空缓存2.二级缓存:发生在同一个SqlSessionFactory中,缓存以name
2021-08-19 22:41:56 2820
原创 什么是HashMap
HashMap是Map接口的实现类一、存储方式采用KV键值对方式存储,基于哈希表(Hash Table)设计:JDK1.7 : 底层数据结构基于“数组”+“链表”JDK1.8 : 底层数据结构基于“数组”+“链表”+“红黑树”当链表长度大于阈值(默认为8)+ 数组长度大于64时,将链表转化为红黑树,以减少搜索时间二、扩容机制(扩容方法是resize()方法)初始容量为16加载因子为0.75:当 元素个数超过容量长度的0.75倍 时,进行扩容按原有容量的2倍进行扩容●初始容
2021-02-07 16:30:02 917 8
原创 Java读取Excel数据-基于Apache POI
一. POI是什么Apache POI - the Java API for Microsoft Documents,顾名思义,Apache的第三方包,用来操作微软office文档,我们以excel来说明。二、需要的jar包首先需要到Apache官网下载POI的库,下载链接地址:https://poi.apache.org/download.html进入我的百度网盘进行下载,下载链接:链接:https://pan.baidu.com/s/1hokZyOm4cztVtY4tb_6w5g提取码:
2021-01-23 23:55:11 762 1
原创 String,StringBuffer,StringBuilder之间的区别
一、可变性 String使用 final关键字修饰(char或byte)数组,所以 String是不可变的JDK8采用char数组:private final char value[]JDK9采用byte数组:private final byte[] value StringBuilder与 StringBuffer都继承自 AbstractStringBuilder父类,在AbstractStringBuilder中使用char[]value字符数组保存字符串,但是没有用 final
2021-01-19 23:21:05 963 5
原创 String类中常见的方法
一、String字符串的创建//1.先声明,再创建 String[] array01; array01=new String[10];//2.声明+创建 String[] array02=new String[20];//3.声明+自定义初始化 char[] array03= {'甲','乙','丙','丁'}; System.out.println(Arrays.toString(array03));这里引入一个概念:字符串常量池JVM为了提升性能和减少内存的开销,避免字符串的重复
2021-01-18 23:40:55 816 1
原创 Java的创建-数据类型-数组常见操作
Java基础学习第二天一、创建和运行程序1、Java程序结构*.java源文件-1个源文件可以包含N个class类class类包含main,该类方能执行main函数2、Java中的输出语句System.out.println()-输出并换行System.out.println()-输出System.out.printf()-格式化输出快捷键syso=>alt+?%d代表整型,%f代表浮点数(默认小数位6位),%s代表字符串3、数据类型(基本数据类型和引用数据类型)
2021-01-15 22:51:25 802 1
原创 Java的特点及环境搭建
Java学习第一天1.基础知识准备Java语言有哪些特点Java语言是简单的Java语言的语法与C语言很接近,因此大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C中很少使用的、很难理解的那些特性,如操作符重载等。特别地,Java语言不使用指针,并提供了自动的废料收集,程序员不必为内存管理而担忧。Java语言是一个面向对象的Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键implements)。J
2021-01-12 21:43:25 614 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人