Java 枚举获取下一个next
Java 中的枚举在项目中十分常用,我们可以用它来处理固定数量的值。 现在有个场景,需要支持 enum 枚举值的上一个 previous,下一个 next。 示例代码 设定枚举为 春夏秋冬 四个枚举值。 public enum Season...
Java 中的枚举在项目中十分常用,我们可以用它来处理固定数量的值。 现在有个场景,需要支持 enum 枚举值的上一个 previous,下一个 next。 示例代码 设定枚举为 春夏秋冬 四个枚举值。 public enum Season...
JDK 的 JUC 包中提供了很多与并发相关的类,其中线程池这个类尤为关键。 线程池可以通过重用线程,降低线程创建和销毁造成的资源消耗。 线程池核心参数 线程池类 ThreadPoolExecutor 有 7 个参数: 参数 含义 解释 c...
HashMap 是 Java 集合框架中非常重要的一个实现,它有非常多值得借鉴的实现思路。面试中,也被经常问到。 下面将根据一系列的问题,来逐步深入了解 HashMap。 HashMap 底层结构 了解底层结构,将有助于理解更多复杂的设计思...
LinkedList 在开发中并不常用,在大多数场景下,我们会采用 ArrayList。本篇将从多个维度解读 LinkedList 与 ArrayList 存在的差异。 底层结构 LinkedList 与 ArrayList 底层结构不同:...
在 Java 中,Set 和 List 可以循环遍历,因为其拥有可迭代能力,主要还是 Iterator 的功劳。 初识 首先看一下二者如何定义: fail-fast 一旦发现遍历的同时有其他人修改,则立即抛出异常 fail-safe 当发现...
Java 中,ArrayList 是 List 最经典的实现,由于 ArrayList 底层是数组,掌握其扩容机制十分必要。 下面的讨论,基于 JAVA8,不同的JDK版本,某些规则会有差异。 构造器容量 我们一般在一定一个 ArrayLi...
Java 中有多种常量池,常量池可以实现数据共享,节省内存开销,避免频繁创建对象与销毁对象等诸多好处。 常量池分类 一般,Java 中的常量池被分为以下几类: class 字节码常量池:保存字面量(就是一些字符串和被final修饰的变量)和...
垃圾收集器 (GC)负责 Java 中的内存管理。因此,程序员不需要显式地处理内存分配和释放。 在 Java 中,JVM 一开始就预留了一定的内存。有时,实际使用的内存明显少于保留量。在这种情况下,我们更愿意将多余的内存返回给操作系统。 这...
Java 中,垃圾收集器根 GC Roots 是特殊的对象。了解它有助于理解垃圾收集器的工作原理。 GC Roots GC Roots 是Java垃圾收集上下文中使用的术语。它们是垃圾收集器的特殊对象。顾名思义,GC 根是垃圾收集器进程的起...
Java 的 try 、catch、finally 代码块有助于编写可能导致程序出现异常的代码。 try 代码块 try 代码块包含应在正常条件下运行的应用程序代码。 例如,读取文件,写入数据库或执行复杂的业务操作。 try { //业务代...