Spring源码分析:ApplicationEventPublisherAware

ApplicationEventPublisherAware 接口,用于给需要发布应用事件的bean提供一个便捷的方式。实现此接口的bean可以接收到一个 ApplicationEventPublisher 的引用,这样它们就可以发布事件到 Spring 应用上下文中。 接口源码 ApplicationEventPublisherAware 是…

hello hello 发布于 2023-11-02

Spring Boot 3.x 原生镜像(Native Image)实战

之前曾经写过一篇《SpringBoot3.x 原生镜像-Native Image 尝鲜》,当时 SpringBoot 处于 3.0.0-M5 版本,功能尚未稳定。这次会基于 SpringBoot 当前最新的稳定版本 3.1.2 详细分析 Native Image 的实践过程。系统或者软件版本清单如下: 组件 版本 备注 macOS Ventura…

hello hello 发布于 2023-11-02

什么是虚拟线程?在Spring Boot中怎么用?

1.1 什么是虚拟线程 先来看一个例子。 var a = new AtomicInteger(0); // 创建一个固定200个线程的线程池 try (var vs = Executors.newFixedThreadPool(200)) { List<Future<Integer>> futures = new ArrayList<>(); var…

hello hello 发布于 2023-11-02

Spring MVC注解故障追踪记

Spring MVC是美团点评很多团队使用的Web框架。在基于Spring…

hello hello 发布于 2023-11-01

从Java 8升级到Java 17的7个理由

从Java8到Java18,Java已经经历了漫长的发展历程(Java20非长期维护版本)。同时也是从Java 8开始,Java生态系统发生了许多变化。其中最明显的变化是Java版本发布节奏的改变。Java 8于2014年发布,而Java 17则是在2021年发布的,这两个版本之间相差了7年的时间。然而,2017年9月,Java 平台的主架构师 Mark…

hello hello 发布于 2023-11-01

Spring Boot整合Milvus

什么是Milvus? Milvus,一个开源的高性能向量数据库,它在各种应用场景中展现出强大的性能和灵活性。 在许多现代应用中,处理和分析大规模向量数据变得越来越重要。例如,在图像和视频搜索、推荐系统、自然语言处理和生物信息学等领域,向量数据被广泛应用。 项目背景…

hello hello 发布于 2023-11-01

Spring Boot项目Jar包加密,防止反编译

场景 最近项目要求部署到其他公司的服务器上,但是又不想将源码泄露出去。要求对正式环境的启动包进行安全性处理,防止客户直接通过反编译工具将代码反编译出来。 方案 第一种方案使用代码混淆 采用proguard-maven-plugin插件…

hello hello 发布于 2023-11-01

日志级别动态调整——小工具解决大问题

随着外卖业务的快速发展,业务复杂度不断增加,线上系统环境有任何细小波动,对整个外卖业务都可能产生巨大的影响,甚至形成灾难性的雪崩效应,造成巨大的经济损失。每一次客诉、系统抖动等都是对技术人员的重大考验,我们必须立即响应,快速解决问题。…

hello hello 发布于 2023-10-31

磁盘I/O那些事

背景 计算机硬件性能在过去十年间的发展普遍遵循摩尔定律,通用计算机的CPU主频早已超过3GHz,内存也进入了普及DDR4的时代。然而传统硬盘虽然在存储容量上增长迅速,但是在读写性能上并无明显提升,同时SSD硬盘价格高昂,不能在短时间内完全替代传统硬盘。传统磁盘的I/O读写速度成为了计算机系统性能提高的瓶颈,制约了计算机整体性能的发展。…

hello hello 发布于 2023-10-31

Spring Boot利用自定义注解实现多数据源

自定义多数据源 SpringBoot利用自定义注解实现多数据源,前置知识:注解、Aop、SpringBoot整合Mybaits 1、搭建工程 创建一个SpringBoot工程,并引入依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId>…

hello hello 发布于 2023-10-31
上一页 下一页