首页 / 标签TAG / SPRINGFORALL

# java

围绕 java 的技术文章与经验分享。

共 1044 篇文章

volatile关键字的作用、原理

此文对于部分原理的解释不全,甚至有错误。建议同时参考 一文解决内存屏障 阅读。 在只有双重检查锁,没有volatile的懒加载单例模式中,由于 指令重排序 的问题,我确实不会拿到 两个不同的单例 了,但我会拿到 “半个”单例 。 而发挥神奇作用的volatile,可以当之无愧的被称为Java并发编程中 “出现频率最高的关键字”…

Java 中保持扩展性的几种套路和实现

前言 SOLID(单一、开闭、里式替换、接口隔离、依赖倒置)五大原则和23种设计模式(常见的单例、构建者、装饰、适配、代理、组合、模板等等),小伙伴们对这些肯定都很熟悉。这些原则和设计模式能够辅助我们,让我们在设计的时候有所抉择,从而达到高内聚、低耦合的目的。…

使用Spring AI让你的Spring Boot应用拥有生成式AI能力

之前分享了关于Spring新项目 Spring AI 的介绍视频 open in new window 。视频里演示了关于使用Spring AI将Open AI的能力整合到Spring应用中的操作,但有不少读者提到是否有博客形式的学习内容。所以,本文就将具体介绍如何使用 Spring AI 快速让您的Spring应用拥有生成式AI的强大能力。 # 动手试试…

一文详解 Java 限流接口实现

一、限流 为什么要进行限流? 1.瞬时流量过高,服务被压垮? 2.恶意用户高频光顾,导致服务器宕机? 3.消息消费过快,导致数据库压力过大,性能下降甚至崩溃? …… 什么是限流? 限流是对某一时间窗口内的请求数进行限制,保持系统的可用性和稳定性,防止因流量暴增而导致的系统运行缓慢或宕机。 在高并发系统中,出于系统保护角度考虑,通常会对流量进行限流。…

工程师的灵魂拷问:你的密钥安全吗?

背景介绍:密钥管理 提问:你密钥存在哪儿? 对这一问的回答基本可概括为2类: a. 本地加解密: 密钥保存在某些介质(如配置文件、数据库,也可以是某个远程服务器)中,用户在需要进行加密/签名时,从这些介质拉取密钥(可能拉取的只是密钥密文,需要再解密出密钥明文),然后本地进行加密/签名。 b. 服务器加解密:…

Mybatis Plus的条件构造器 QueryWrapper & UpdateWrapper

简介 前面我们在学习 Java Spring Boot Mybatis-Plus 的简单使用的时候,是否发现我们在构造查询的时候,基本都是简单的 where 语句的查询,而且也不能去选择字段输出,没关系,Mybatis-Plus 为我们准备了应对方案,那就是 Wrapper 构造器。 总的来说,常用的条件构造器有两类,一类是用于查询的条件构造器-…