还不会生成树形结构?再不学就OUT啦!

在日常工作中,我们经常会遇到需要生成树形结构的需求,例如:部门树、菜单树等,我们以往的实现方式是写一个递归算法来实现,但是如果这样的需求多了,我们难不成要给每个需求都写一个递归算法来实现吗?显然这是不合理的,我们这样操作会造成很多的冗余代码。那么我们有没有更好的实现思路呢?在这里我分享一种思路,也欢迎大家来一起讨论 思路剖析…

hello hello 发布于 2024-06-06

Java NIO简介

前言 Java NIO有两种解释: 一种叫非阻塞IO(Non-blocking I/O) 另一种叫新的IO(New I/O) 其实两种概念也是相同的。 一、概述 Java NIO是从Java1.4版本开始引入的一个新的IO API,可以代替标准的IO API。 NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,…

hello hello 发布于 2024-06-06

面试官:用过CompletableFuture吗?

我发现,“各领风骚数百年,一代新人换旧人”是任何事物的底层逻辑,Java面试八股文也不例外。 前几年,但凡面试中问到多线程相关内容,那一定少不了“说下线程池7大参数的作用”,现在已经换成了“用过CompletableFuture吗?说说你对它的理解”。…

hello hello 发布于 2024-06-06

反射为什么慢?

今天刷到一篇文章,标题是反射为什么慢,一下子懵逼了,确实没想过这个问题;盲猜了一下是由于反射实际上是做了一个代理的动作,导致执行的效率是小于直接实体类去调用方法的。 文章中给出的理由是因为以下4点: 反射涉及动态解析的内容,不能执行某些虚拟机优化,例如JIT优化技术…

hello hello 发布于 2024-06-06

盘点Lombok的几个骚操作

本文不讨论对错,只讲骚操作。 有的方法看看就好,知道可以这么用,但是否应用到实际开发中,那就仁者见仁,智者见智了。 一万个读者就会有一万个哈姆雷特,希望这篇文章能够给您带来一些思考。 耐心看完,你一定会有所收获。 @onX 例如 onConstructor , oMethod , 和 onParam…

hello hello 发布于 2024-06-06

解决 Spring Data JPA No converter found 异常

1、概览 在使用 Spring Data JPA 时,我们经常会利用派生和自定义查询,以我们喜欢的格式返回结果。一个典型的例子就是 DTO 投影,它提供了一种只 SELECT 某些特定列以减少不必要数据开销的好方法。 然而,DTO 投影并不总是那么容易,如果实现不当,可能会导致 ConverterNotFoundException 异常。本文将带你了解…

hello hello 发布于 2024-06-05

Spring Boot 3.3 中的 SBOM 支持

Spring Boot 3.3.0 已经发布,其中包含对 SBOM 的支持。SBOM 是 “Software Bill of Materials”(软件物料清单)的缩写,描述了用于构建软件构件的组件。在本文中,这些组件就是你的 Spring Boot 应用。SBOM…

hello hello 发布于 2024-06-05

Java 中的 OpenAI API 客户端

1、概览 随着生成式 AI 和 ChatGPT 的广泛应用,许多语言都开始提供与 OpenAI API 交互的库。Java 也不例外。 本文将带你了解 openai-java 库,它是一个开源的 OpenAI API 客户端,可以很方便地与 OpenAI API 通信。 2、依赖 首先,导入项目所需的 依赖 ,以下这三个模块专门用于交互的不同方面:…

hello hello 发布于 2024-06-05

清除 JPA/Hibernate 中托管的实体

1、概览 本文将带你了解 JPA 是如何托管实体的,以及 Persistence Context(持久化上下文)由于外部变化而无法返回最新数据的情况。 2、Persistence Context 每个 EntityManager 都与一个 Persistence Context 相关联,该上下文在内存中存储所管理的实体。每当通过 EntityManager…

hello hello 发布于 2024-06-05

Spring Boot 启用虚拟线程

并发编程的演化 线程 总所周知,线程(Thread)是计算机中的最小执行单元,由操作系统直接进行调度,每个线程都有自己的执行路径和执行状态,可以独立地运行和并发执行多个任务。 线程是一种重量级的资源,线程的创建、销毁以及在多个线程之间切换都需要耗费 CPU 时间,一个系统可以同时创建、调度的线程数量有限。所以,现在应用基本上都会使用 线程池…

hello hello 发布于 2024-06-05
上一页 下一页