摘要:
什么是线程池? 线程池是为了避免线程频繁的创建和销毁带来的性能消耗,而建立的一种池化技术,它是把已创建的线程放入“池”中,当有任务来临时就可以重用已有的线程,无需等待创建的过程,这样就可以有效提高程序的响应速度。 为什么要使用它?使用线程池有什么好处? 如果不用线程池,每个任务都创建一个线程会带来问 阅读全文
摘要:
索引的出现是为了提高查询效率,实现索引的方式(索引模型)有很多种。 每种数据结构都有其自身的优势和劣势,但它们存在的⽬的都是在不同的应⽤场景,尽可能高效增删改查。MySQL之所以用B+树作为索引,并不能说明B+树就是最好的数据结构,只能说是目前最合适的数据结构。 为什么不用哈希表、有序数组和搜索树这 阅读全文
摘要:
在使用新架构WebFlux + R2DBC做拉取广告报表数据需求时,新建了表来保存拉取数据,因为字段有80多个,为了方便,就把第三方文档的字段直接作为表字段取建表,然后在调用spring原生Repository.save(实体)方法时报错,BadSqlGrammarException: execut 阅读全文
摘要:
最近在LeekCode用java写一些算法时,经常遇到要使用栈和队列结构,使用栈的话,Stack已经不被推荐使用了,所以栈和队列我们通常都是用LinkedList这种双链表结构实现。Linkedlist是一个双向链表,操作起来非常方便,java也封装了很多的方法在这个双向链表里面。 题目:(1) 使 阅读全文
摘要:
方法一 栈 1 public static boolean isValid(String s) { 2 int n = s.length(); 3 //有效字符串的长度一定为偶数,因此如果字符串的长度为奇数,我们可以直接返回 \text{False}False,省去后续的遍历判断过程 4 if (n 阅读全文