02 2022 档案
摘要:目录 1 概述 2 HSSFWorkbook 2.1 导出要点 3 SXSSFWorkbook 1 概述 平时在工作中,excel导出图片经常会用到,但奈何HSSFWorkbook导出数据数量有限制问题,所以企业里大多都用SXSSFWorkbook格式,很少用HSSFWorkbook。所以今天以
阅读全文
摘要:目录 1 概述 2 map与flatMap 3 常用写法 1 概述 Java8中一些新特性在平时工作中经常会用到,但有时候总感觉不是很熟练,今天特意将这个Java8中的映射记录一下。 2 map与flatMap map 对集合中的元素逐个进行函数操作映射成另外一个 flatMap 接收一个函数作为参
阅读全文
摘要:目录 1 索引 1.1 聚簇索引 1.2 联合索引(复合索引) 1.3 唯一索引 1.4 普通索引 1.5 全文索引 2 回表 1 索引 1.1 聚簇索引 聚簇索引:数据和索引一起的叫做聚簇索引 非聚簇索引(二级索引/辅助索引):数据和索引分开存储的叫做非聚簇索引 myisam中只有非聚簇索引,in
阅读全文
摘要:目录 1 概述 2 各种数据结构区别 2.1 hash表 2.2 二叉树 2.3 B树(B-树) 2.4 B+树 3 相关问题 1 概述 大家可能在面试的时候都会被问到这样一个问题:mysql的索引结构是什么?这个时候了解的都知道是B+树,那么为什么会采用B+树作为它的索引结构呢? 由图可以知道:索
阅读全文
摘要:在开发环境中,如果线上数据太多,都放在了一个list里面,那么对list去进行操作的时候,可能就会边得很缓慢,尤其是当一个list数据达到上万条时,批量的去对数据库进行更新或删除操作,就会造成数据库等一系列问题。 前段时间,由于线上代码批量修改数据过大(也就是list集合里面数据量太大),导致了数据
阅读全文
摘要:目录 1 概述 2 Selector 2.1 可选择通道(SelectableChannel) 2.2 选择键 (SelectionKey) 2.3 方法示例 2.4 停止选择的方法 3 Selector演示小demo 1 概述 Selector一般称之为选择器,也可以翻译为多路复用器。它是Java
阅读全文
摘要:1 概述 在平时开发中,git可以说是我们最不陌生的工具了。而且在提交线上代码或者是将自己功能分支上的代码给cherry-pick到预发分支上时,如果只提交了一个点那么直接cherry-pick就可以了,但是提交了很多点时,一个一个的cherry-pick岂不是太麻烦了吗?于是我们就可以将自己的提交
阅读全文
摘要:1 概述 Java NIO中的Buffer用于和NIO通道进行交互。数据是从通道进入缓冲区,从缓冲区写入通道中的。缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成了NIO Buffer对象。在NIO中所有的数据都是用缓冲区处理的。 2 Buffer 2.1 Buffer的
阅读全文
摘要:1 概述 对于许多小伙伴来说,第一次听到到匿名内部类这个概念不是很清楚,我也一样。而且任何东西的出现都有它出现的意义,匿名内部类也是如此,它刚开始出现时肯定在Java中起到了它自己不可替代的作用。于是这周特意在网上学习了关于匿名内部类这个知识点并且在这里写个博客记录下。 2 匿名内部类 概念:匿名内
阅读全文
摘要:在平时开发中,我们往往会手误将一些错误的代码给提交到了远程分支,这个时候我们想迅速撤回以免错误代码被同事拉取造成一些不必要的问题,今天我们就用演示一下: 首先这是我远程仓库里面的代码: 我本地代码: 操作:手误连续两次(第一次提交和第二次提交)将本地错误代码提交到远程仓库 git提交记录:(nio其
阅读全文
摘要:目录 1 概述 2 阻塞IO/NIO 2.1 阻塞IO 2.2 NIO 2.3 NIO核心组件 2.3.1 Channel 2.3.2 Buffer 2.3.3 Selector 3 Channel 3.1 FileChannel 3.1.1 将数据读取到buffer中 3.1.2 向fileCha
阅读全文
摘要:目录 1 概述 2 Spring循环依赖介绍 2.1 为什么会产生循环依赖 2.2 Spring IOC加载过程 2.3 spring一二三级缓存 2.3.1 一级缓存作用 2.3.2 二级缓存作用 2.3.3 三级缓存作用 3 二级缓存能解决循环依赖吗 1 概述 最近在看spring循环依赖的知识
阅读全文
摘要:有时候在平时开发中,编译代码常常会发出警告,今天好奇就点进去了看了下,发现idea建议我们用Collections.singletonList(o) 代替 Arrays.asList(o)。 List<String> list1 = Collections.singletonList("aaa");
阅读全文
摘要:目录 1 概述 2 @Cacheable注解使用详细介绍 2.1 @Cacheable注解使用 2.2 Cacheable 注解的属性 1 概述 Spring高版本引入了cache的注解技术。该技术是一种规范。Redis的cache技术,底层使用的是Spring Data Redis。cache技术
阅读全文
摘要:目录 1 缓存穿透 1.1 问题描述 1.2 产生原因 1.3 解决方案 2 缓存击穿 2.1 问题描述 2.2 解决方案 3 缓存雪崩 3.1 问题描述 3.2 解决方案: 1 缓存穿透 1.1 问题描述 key对应的数据在数据源中并不存在,每次针对此key的请求从缓存获取不到,请求都会压到数据库
阅读全文
摘要:目录 1 什么是AOP 2 appendonly.aof文件 3 Rewrite 3.1 什么是rewrite 3.2 重写原理 3.3 触发机制 4 AOF的优缺点 5 总结 5.1 rdb和aof比较 5.2 同时开启两种持久化方式 1 什么是AOP 以日志的形式记录每个写操作,将redis执行
阅读全文
摘要:目录 1 官网介绍 2 什么是RDB 3 Fork 4 dump.rdb 文件 4 如何触发RDB快照 5 RDB的优缺点 1 官网介绍 在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照直接读到内存里 2 什么是RDB Redis会单独创建一个(f
阅读全文
摘要:目录 1 概述 2 事务相关操作 2.1 Multi、Exec、discard 2.2 事务的错误处理 3 如何解决事务冲突 4 Redis事务的三特性 1 概述 Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化,按顺序的执行。事务在执行的过程中,不会被其他客户端发送来的命令所打断。
阅读全文
摘要:1 前言 在平时开发中,redis肯定是我们必不可少的一个工具,那今天就将springBoot与redis整合起来。 准备一:创建一个springBoot工程 准备二:redis相关依赖 准备三:application.properties配置redis配置 准备四:添加redis配置类 准备五:测
阅读全文
摘要:目录 1 前言 2 相关操作 3 Jedis-API 1 前言 之前我们使用的redis命令都是通过命令行的形式实现的,那么如何使用Java来操作redis呢?联想到之前可以通过jdbc来操作数据库,同理也可以通过jedis来操作redis。 2 相关操作 Jedis相关依赖: <dependenc
阅读全文