码谱记录-学习编程更靠谱码谱记录

最新发布 第9页

Redis

NoSQL 与 Redis

阅读(2207)赞(3)

NoSQL 即 Not Only SQL,泛指非关系型数据库。一般 NoSQL 数据库通过 key-value 形式存储,使得其具备更强的扩展能力。 NoSQL 简介 NoSQL 通常用来解决系统的性能瓶颈。 NoSQL 一般会有如下特点:...

示例代码

Java 枚举获取下一个next

阅读(2671)赞(18)

Java 中的枚举在项目中十分常用,我们可以用它来处理固定数量的值。 现在有个场景,需要支持 enum 枚举值的上一个 previous,下一个 next。 示例代码 设定枚举为 春夏秋冬 四个枚举值。 public enum Season...

多线程

Java 中的线程池

阅读(2604)赞(28)

JDK 的 JUC 包中提供了很多与并发相关的类,其中线程池这个类尤为关键。 线程池可以通过重用线程,降低线程创建和销毁造成的资源消耗。 线程池核心参数 线程池类 ThreadPoolExecutor 有 7 个参数: 参数 含义 解释 c...

HashMap 连环追问-码谱记录
Java Map

HashMap 连环追问

阅读(2647)赞(1)

HashMap 是 Java 集合框架中非常重要的一个实现,它有非常多值得借鉴的实现思路。面试中,也被经常问到。 下面将根据一系列的问题,来逐步深入了解 HashMap。 HashMap 底层结构 了解底层结构,将有助于理解更多复杂的设计思...

Java 中的 LinkedList-码谱记录
Java List

Java 中的 LinkedList

阅读(2446)赞(1)

LinkedList 在开发中并不常用,在大多数场景下,我们会采用 ArrayList。本篇将从多个维度解读 LinkedList 与 ArrayList 存在的差异。 底层结构 LinkedList 与 ArrayList 底层结构不同:...

Java List

Java 中的fail-fast 与 fail-safe

阅读(2381)赞(3)

在 Java 中,Set 和 List 可以循环遍历,因为其拥有可迭代能力,主要还是 Iterator 的功劳。 初识 首先看一下二者如何定义: fail-fast 一旦发现遍历的同时有其他人修改,则立即抛出异常 fail-safe 当发现...

Java List

ArrayList 扩容规则

阅读(2000)赞(4)

Java 中,ArrayList 是 List 最经典的实现,由于 ArrayList 底层是数组,掌握其扩容机制十分必要。 下面的讨论,基于 JAVA8,不同的JDK版本,某些规则会有差异。 构造器容量 我们一般在一定一个 ArrayLi...

算法

Java 二分查找与优化思路

阅读(2058)赞(4)

二分查找是一种高效的查找方法。其主要思路是:对已经排序的数据,每次取二分之一处的元素与目标元素比较,如果相等就返回目标位置,否则继续下一轮查找。 二分思想 二分查找文字描述: 排好序的数组 arr 定义左边界 left、右边界 right,...

算法

Java 快速排序多种实现

阅读(2284)赞(2)

快速排序思想 每一轮遍历选择一个基准点(pivot)进行分区。 小于基准点的元素进入一个分区,大于基准点的元素进入另一个分区。 当分区完成时,基准点的位置就是排序后该元素应该处于的位置。 在每个子分区中重复以上过程,直到分区中元素少于等于 ...

算法

Java 插入排序与优化

阅读(2188)赞(2)

插入排序思想 将数组分为两个部分,排序部分和未排序部分。 每一轮遍历从未排序部分取出第一个元素,插入到排序部分的对应位置。 重复以上过程,直到整个数组有序。 代码实现 为了能更好地展示冒泡排序的主要思想,我将数据准备工作定义在 main()...