0. 引入 Spring Boot 以其简化配置、快速开发和微服务支持等特点,成为了 Java 开发的首选框架。本文将结合我在实际工作中遇到的问题,分享五个高效的 Spring Boot 的技巧。希望这些技巧能对你有所帮助。 1. Spring Boot 执行初始化逻辑 1.1 背景…
异常处理 你可以通过 handle() 方法来处理任务执行过程中可能出现的抛出异常的情况。 public <U> CompletableFuture<U> handle( BiFunction<? super T, Throwable, ? extends U> fn) { return uniHandleStage(null, fn); } public…
实际项目中,一个接口可能需要同时获取多种不同的数据,然后再汇总返回,这种场景还是挺常见的。举个例子:用户请求获取订单信息,可能需要同时获取用户信息、商品详情、物流信息、商品推荐等数据。 如果是串行(按顺序依次执行每个任务)执行的话,接口的响应速度会非常慢。考虑到这些任务之间有大部分都是 无前后顺序关联 的,可以 并行执行…
使用 Java Persistence API (JPA) 时,选择实体数据访问策略是一个关键方面,它可以显著影响应用程序的性能。在 JPA 中,有两种主要的访问策略:字段访问 ( AccessType.FIELD) 和属性访问 ( AccessType.PROPERTY)。 了解每个差异的细微差别将有助于您最有效地管理数据库交互。 今天我们将探讨如何使用…
LinkedHashMap构造方法 LinkedHashMap 构造方法有 4 个实现也比较简单,直接调用父类即 HashMap 的构造方法完成初始化。 public LinkedHashMap() { super(); accessOrder = false; } public LinkedHashMap(int initialCapacity) {…
LinkedList 简介 LinkedList 是一个基于双向链表实现的集合类,经常被拿来和 ArrayList 做比较。 不过,我们在项目中一般是不会使用到 LinkedList 的,需要用到 LinkedList 的场景几乎都可以使用 ArrayList 来代替,并且,性能通常会更好!就连 LinkedList 的作者约书亚 · 布洛克(Josh…
Atomic 翻译成中文是“原子”的意思。在化学上,原子是构成物质的最小单位,在化学反应中不可分割。在编程中, Atomic 指的是一个操作具有原子性,即该操作不可分割、不可中断。即使在多个线程同时执行时,该操作要么全部执行完成,要么不执行,不会被其他线程看到部分完成的状态。 原子类简单来说就是具有原子性操作特征的类。…
LinkedHashMap 简介 LinkedHashMap 是 Java 提供的一个集合类,它继承自 HashMap ,并在 HashMap 基础上维护一条双向链表,使得具备如下特性: 支持遍历时会按照插入顺序有序进行迭代。 支持按照元素访问顺序排序,适用于封装 LRU 缓存工具。…
ava 集合概览 Java 集合,也叫作容器,主要是由两大接口派生而来:一个是 Collection 接口,主要用于存放单一元素;另一个是 Map 接口,主要用于存放键值对。对于 Collection 接口,下面又有三个主要的子接口: List 、 Set 、 Queue 。 Java 集合框架如下图所示:…