首页 / 作者AUTHOR / SPRINGFORALL

hello

记录技术探索,分享实践心得。

共 1784 篇文章

并发编程的12条规范

1. 获取单例对象需要保证线程安全 我们在获取单例对象的时候,要确保线性安全哈。 比如 双重检查锁定 (Double-Checked Locking)的单例模式,就是一个经典案例,你在获取单实例对象的时候,就需要保证线性安全,比如加 synchronized 确保现象安全,代码如下: public class Singleton { private…

处理异常的13条军规

前言 在我们日常工作中,经常会遇到一些异常,比如:NullPointerException、NumberFormatException、ClassCastException等等。 那么问题来了,我们该如何处理异常,让代码变得更优雅呢? 1 不要忽略异常 不知道你有没有遇到过下面这段代码: 反例: Long id = null try { id =…

Spring Boot 与 RouterFunction:实现动态路由

前言 在 Java 中,特别是在构建 Web 应用程序或微服务架构时,经常会遇到需要从一个服务向另一个服务发送 HTTP 请求的场景。无论是为了调用远程 API 、与其他服务通信还是进行数据同步,发送 HTTP 请求都是常见的需求。通常性的做法是在 Spring 框架中使用 @RestController 或 @Controller 注解来定义…

Guava极简教程 – Joiner和Splitter

[toc] Guava 介绍 Guava 是 Google 开发的一个开源 Java 库,提供一系列核心功能增强 Java 的标准库。 它包含许多有用的工具和集合类,使 Java 开发更加高效,代码更加简洁、易于维护。 1. 集合工具 , Immutable Collections: Guava 提供了不可变集合(如 ImmutableList,…

使用 Smart-doc 生成 Spring REST API 文档

如果正在使用 Spring Boot 开发 RESTful API ,确保其他开发人员能够轻松理解和使用 API 是至关重要的。文档提供了未来更新的参考,并帮助开发人员与 API 集成。长期以来,记录 REST API 的主要方法是使用 Swagger,这是一个开源软件框架,允许开发人员设计、构建、记录和使用 RESTful Web 服务。为了应对…

如何用 Spring AI + Ollama 构建生成式 AI 应用

为了构建生成式AI应用,需要完成两个部分: AI大模型服务:有两种方式实现,可以使用大厂的API,也可以自己部署,本文将采用ollama来构建 应用构建:调用AI大模型的能力实现业务逻辑,本文将采用Spring Boot + Spring AI来实现 # Ollama安装与使用 进入官网:https://ollama.com/ ,下载、安装、启动…

Java 中 @NotNull 和 @Nonnull 之间的区别

在 Java 中,确保某些变量、参数或返回值不是 ‘null’ 对于防止像 ‘NullPointerException’ 这样的运行时错误至关重要。两种常见的注释 ‘@NotNull’ 和 ‘@Nonnull’ 通常用于此目的,但它们的作用和上下文不同。让我们深入了解这两个 annotation 之间的区别。 ‘@NotNull’ (来自…