摘要: HashMap的底层实现以及死循环分析 一.HashMap的组成以及数据结构 在 JDK 1.7 中 HashMap 是以数组加链表的形式组成的,JDK 1.8 之后新增了红黑树的组成结构,当链表大于 8 并且容量大于 64 时,链表结构会转换成红黑树结构,它的组成结构如下图所示: 数组中的元素我们称之为哈希桶,它的定义如下: stati 阅读全文
posted @ 2021-06-15 18:05 0小豆0 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 百万级数据mysql查询优化 一.limit越往后越慢的原因 当我们使用limit来对数据进行分页操作的时,会发现:查看前几页的时候,发现速度非常快,比如 limit 200,25,瞬间就出来了。但是越往后,速度就越慢,特别是百万条之后,卡到不行,那这个是什么原理呢。先看一下我们翻页翻到后面时,查询的sql是怎样的: selec 阅读全文
posted @ 2021-05-26 15:47 0小豆0 阅读(460) 评论(0) 推荐(0) 编辑
摘要: java基础——java的四种内部类 1.成员内部类 1.1 拥有类的所有访问权限 成员内部类可以无条件访问外部类所有的成员属性和成员方法(包括private成员和静态成员) 1.2 访问同名成员要用this 说过要访问外部类的同名成员,要用以下新式访问 外部类.this.成员变量 外部类.this.成员方法 1.3 外部类访问要先创建 阅读全文
posted @ 2021-05-13 14:33 0小豆0 阅读(81) 评论(0) 推荐(0) 编辑
摘要: Optional 处理空指针异常 通过ofNullable创建Optional 对象 Optional<User> optionalUser = Optional.ofNullable(user); Optiona常用API orElse 存在即返回, 空则提供默认值 // 存在即返回, 空则提供默认值 optionalUser.o 阅读全文
posted @ 2021-05-10 16:13 0小豆0 阅读(352) 评论(0) 推荐(1) 编辑
摘要: SpringBoot 实现 MySQL 读写分离技术 前言 首先思考一个问题:在高并发的场景中,关于数据库都有哪些优化的手段?常用的有以下的实现方法:读写分离、加缓存、主从架构集群、分库分表等,在互联网应用中,大部分都是读多写少 的场景,设置两个库,主库和读库。 主库的职能是负责写,从库主要是负责读,可以建立读库集群,通过读写职能在数据源上的隔离达到减 阅读全文
posted @ 2021-04-30 15:05 0小豆0 阅读(139) 评论(0) 推荐(0) 编辑
摘要: lambda表达式——sort和compare进行高级排序 lambda表达式中的sorted和Comparator实现多种方式排序 1.倒序排序 2.先后顺序排序 3.自定义排序规则 代码如下 List<Trade> sorted = trades.stream() .sorted( Comparator // 首先按照价格排序 .comparing( T 阅读全文
posted @ 2021-04-29 16:12 0小豆0 阅读(659) 评论(0) 推荐(0) 编辑
摘要: guava包的应用总结 1.布隆过滤器 @Test public void bloomFilter() { // 创建布隆过滤器 BloomFilter<Integer> bloomFilter = BloomFilter.create( // 将任意类型数据转换为Java基础类型,默认转换为byte数组 (Integer 阅读全文
posted @ 2021-04-28 10:35 0小豆0 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 优雅地关闭文件流(jdk1.7语法糖) 传统的关闭流文件的方式 在finally里面手动关闭流 public void copyFile() { /** * 1. 创建输入/输出流 * 2. 执行文件拷贝,读取文件内容,写入到另一个文件中 * 3. **关闭文件流资源** */ // 定义输入路径和输出路径 String original 阅读全文
posted @ 2021-04-27 16:02 0小豆0 阅读(716) 评论(0) 推荐(0) 编辑
摘要: lambda表达式——流的各种常见操作总结(排序,过滤,去重,分页等) 流的各种操作总结 过滤集合(filter) /** * filter使用:过滤掉不符合断言判断的数据 */ public void filterTest() { list.stream() // filter .filter(sku -> SkuCategoryEnum.BOOKS .equals( 阅读全文
posted @ 2021-04-27 09:53 0小豆0 阅读(573) 评论(0) 推荐(0) 编辑
摘要: lambda表达式——创建流的四种形式 构建流的四种形式 由数值直接构建流 /** * 由数值直接构建流 */ public void streamFromValue() { Stream stream = Stream.of(1, 2, 3, 4, 5); stream.forEach(System.out::println); } 通 阅读全文
posted @ 2021-04-26 15:37 0小豆0 阅读(101) 评论(0) 推荐(0) 编辑
隐藏
对话
对话