05 2021 档案

摘要:索引的出现是为了提高查询效率,实现索引的方式(索引模型)有很多种。 每种数据结构都有其自身的优势和劣势,但它们存在的⽬的都是在不同的应⽤场景,尽可能高效增删改查。MySQL之所以用B+树作为索引,并不能说明B+树就是最好的数据结构,只能说是目前最合适的数据结构。 为什么不用哈希表、有序数组和搜索树这 阅读全文
posted @ 2021-05-24 23:17 JustJavaIt 阅读(787) 评论(0) 推荐(1) 编辑
摘要:在使用新架构WebFlux + R2DBC做拉取广告报表数据需求时,新建了表来保存拉取数据,因为字段有80多个,为了方便,就把第三方文档的字段直接作为表字段取建表,然后在调用spring原生Repository.save(实体)方法时报错,BadSqlGrammarException: execut 阅读全文
posted @ 2021-05-23 17:53 JustJavaIt 阅读(101) 评论(0) 推荐(0) 编辑
摘要:最近在LeekCode用java写一些算法时,经常遇到要使用栈和队列结构,使用栈的话,Stack已经不被推荐使用了,所以栈和队列我们通常都是用LinkedList这种双链表结构实现。Linkedlist是一个双向链表,操作起来非常方便,java也封装了很多的方法在这个双向链表里面。 题目:(1) 使 阅读全文
posted @ 2021-05-15 12:18 JustJavaIt 阅读(1849) 评论(0) 推荐(3) 编辑
摘要:方法一 栈 1 public static boolean isValid(String s) { 2 int n = s.length(); 3 //有效字符串的长度一定为偶数,因此如果字符串的长度为奇数,我们可以直接返回 \text{False}False,省去后续的遍历判断过程 4 if (n 阅读全文
posted @ 2021-05-14 17:59 JustJavaIt 阅读(64) 评论(0) 推荐(0) 编辑
摘要:缓存穿透 缓存穿透是指查询一个根本不存在的数据,缓存层和存储层都不会命中,通常出于容错的考虑,如果从存储层查不到数据则不写入缓存层。 整个过程分为如下3步:1)缓存层不命中。2)存储层不命中,不将空结果写回缓存。3)返回空结果。 缓存穿透将导致不存在的数据每次请求都要到存储层去查询,失去了缓存保护后 阅读全文
posted @ 2021-05-10 07:22 JustJavaIt 阅读(186) 评论(0) 推荐(0) 编辑
摘要:如何实现线程安全与代码编写有很大的关系,但虚拟机提供的同步和锁机制也起到了至关重要的作用。 1.互斥同步(阻塞同步) 互斥同步(Mutual Exclusion & Synchronization)是一种最常见也是最主要的并发正确性保障手 段。同步是指在多个线程并发访问共享数据时,保证共享数据在同一 阅读全文
posted @ 2021-05-08 22:21 JustJavaIt 阅读(240) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示