总结Java 空指针异常隐藏最深的8 个场景

1. 自动拆箱出现 null 包装器类型自动拆箱为基础类型时极容易出现NPE。如下图示例,方法void initTask(int taskId),调用时taskId如果为 null ,则会出现NPE。正确做法是 可能为 null 的属性,一律声明为包装器,此外从外部获取的变量一定要检查 null ,进行防御式编程。 public void…

hello hello 发布于 2024-08-20

Tomcat 中的 NIO 模型介绍

摘要: I/O复用模型,是同步非阻塞,这里的非阻塞是指I/O读写,对应的是recvfrom操作,因为数据报文已经准备好,无需阻塞。 说它是同步,是因为,这个执行是在一个线程里面执行的。有时候,还会说它又是阻塞的,实际上是指阻塞在select上面,必须等到读就绪、写就绪等网络事件。 一、I/O复用模型解读…

hello hello 发布于 2024-08-20

Spring Boot 集成qwen:0.5b实现对话功能

1.什么是qwen:0.5b? 模型介绍: Qwen1.5是阿里云推出的一系列大型语言模型。 Qwen是阿里云推出的一系列基于Transformer的大型语言模型,在大量数据(包括网页文本、书籍、代码等)进行了预训练。 硬件要求: CPU配置:CPU最低第六代intel酷睿4核,AMD ZEN 4核以上;推荐12代intel酷睿8核,AMD ZEN…

hello hello 发布于 2024-08-19

Spring Boot + pf4j 实现插件开发功能

1.什么是pf4j? 一个插件框架,用于实现插件的动态加载,支持的插件格式(zip、jar)。 核心组件 Plugin :是所有插件类型的基类。每个插件都被加载到一个单独的类加载器中以避免冲突。 PluginManager:用于插件管理的所有方面(加载、启动、停止)。您可以使用内置实现作为JarPluginManager,…

hello hello 发布于 2024-08-19

Spring Boot 中使用Junit 5 和 Mockito 编写单元测试

Spring Boot 提供了不同的测试方法,例如单元测试、集成测试和端到端测试。本文我们将学习如何使用 Junit 5 和 Mockito 为 Spring Boot 应用程序编写单元测试。 什么是单元测试 单元测试是一种软件测试技术,其中对软件应用程序的各个单元或组件进行单独测试,以验证它们是否按预期运行。 Spring Boot Starter…

hello hello 发布于 2024-08-14

Spring Boot 项目使用 GitHub Action 构建持续交付

假设您想创建一个供团队成员审核的 PR,同时团队需要确保 PR 符合团队标准,包括技术验证和测试用例有效性等。在这种情况下,我们需要使用工具来触发存储库的 PR 流程,并在 PR 不符合合并要求时向我们发出警报。 GitHub Actions 是一个持续集成和持续交付 (CI/CD)…

hello hello 发布于 2024-08-14

基于NIO的网络编程框架Netty

Netty概述 Netty是一个基于异步与事件驱动的网络应用程序框架,它支持快速与简单地开发可维护的高性能的服务器与客户端。 所谓 事件驱动就是由通过各种事件响应来决定程序的流程…

hello hello 发布于 2024-08-13

并发编程-CompletableFuture解析

1、CompletableFuture介绍 CompletableFuture对象是JDK1.8版本新引入的类,这个类实现了两个接口,一个是Future接口,一个是CompletionStage接口。…

hello hello 发布于 2024-08-12

技术总监写的十个方法,让我精通了lambda表达式

前公司的技术总监写了工具类,对Java Stream 进行二次封装,使用起来非常爽,全公司都在用。 我自己照着写了一遍,改了名字,分享给大家。 一共整理了10个工具方法,可以满足 Collection、List、Set、Map 之间各种类型转化。例如 将 Collection<OrderItem> 转化为 List<OrderItem> 将…

hello hello 发布于 2024-08-12

一个注解+AOP实现接口限流、防抖、防重

接口限流、防重复提交、接口防抖,是保证接口安全、稳定提供服务,以及防止错误数据或脏数据产生的重要手段。 下面我讲用实际的代码例子来说明怎么用注解和AOP搞定限流、防重、防抖。 接口限流…

hello hello 发布于 2024-08-12
上一页 下一页