自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 什么是【SpringAI】?

Spring AI是一个简化AI应用开发的Java框架,基于Spring Boot 3.x构建,需要JDK17环境。它提供统一API支持主流AI模型(如OpenAI、DeepSeek等),实现聊天、文本生成等功能。核心特点包括多模型支持、结构化输出、向量数据库集成和函数调用等。开发者只需简单配置API密钥和模型参数,通过ChatClient等接口即可快速实现AI功能。示例展示了如何配置DeepSeek模型并构建一个简单的聊天接口。Spring AI极大降低了Java开发者接入AI能力的门槛。

2025-08-30 11:10:05 658

原创 搞懂微服务【SpringCloud】

从多维度保护微服务稳定一个分布式事务框架就是保证多个数据库或多个服务操作的原子性操作做请求的转发和过滤,可以跟注册中心整合,提供了各种FilterZuul使用的是传统的Servlet IO的处理模型,ServletIO是一个请求一个线程,在并发情况下导致线程变多,占用资源很多,浪费资源所以Gateway基于这个问题,改变了并发的问题,所以就用了WebFlux模型来异步处理请求。

2025-08-29 17:04:34 1010

原创 三大【MQ】核心知识

MQ 摘要 消息队列(MQ)具有异步处理、解耦系统组件、流量削峰、可靠消息传递和水平扩展等核心特性。常见应用场景包括订单处理、日志收集和微服务通信。RabbitMQ作为主流MQ之一,基于AMQP协议,支持多种交换机类型:直连(精确匹配)、广播(全量发送)、消息头(属性匹配)和通配符(模式匹配)。其可靠性通过持久化、确认机制和死信队列实现,同时支持通过TTL和死信队列组合实现延时消息功能。但MQ也存在消息重复发送(需通过唯一索引/版本号/Redis去重解决)和维护成本较高等缺点。

2025-08-26 16:20:04 569

原创 一文看懂【Redis】

Redis是一种高性能非关系型内存数据库,支持10万+并发操作,提供多种数据结构: 核心数据结构 String:最大512MB,支持过期时间、原子增减,适用于缓存、计数 Hash:存储对象结构,高效管理关联字段 List:双向操作,支持消息队列和分页场景 Set:无序唯一集合,适合标签、共同好友等场景 Sorted Set:带分值的有序集合,用于排行榜 高级功能 Bitmaps:位操作集合,节省空间记录用户活跃状态,但需注意大范围操作可能阻塞请求 通过Hash映射解决高偏移量内存问题

2025-08-24 20:19:45 340

原创 一文看懂【Mysql】

MySQL数据库优化主要涉及范式设计、字段类型优化和索引策略。范式化设计(1NF-3NF)保证数据一致性但可能影响性能,反范式化可提高查询效率但增加冗余。字段类型应尽可能小,避免NULL值,遵循最小够用原则。 索引优化包括B+树索引(聚簇/二级/联合索引)、哈希索引和创建策略。三星索引标准建议将WHERE条件、ORDER BY和SELECT列都包含在索引中。事务特性(ACID)和隔离级别影响并发控制,MVCC通过Undo log版本链和Readview实现非阻塞读写

2025-08-20 21:34:53 956

原创 认识【Mybatis】

MyBatis 是一个持久层框架,其核心工作原理是通过 SqlSessionFactory 创建 SqlSession 执行数据库操作。MyBatis 提供两级缓存机制:一级缓存(会话级别)和二级缓存(Mapper 级别),通过缓存配置可提升性能。缓存可能引发雪崩、穿透、击穿问题,可通过随机过期时间、参数校验等方式解决。分页支持逻辑分页和物理分页两种方式,MyBatis-Plus 提供更便捷的分页实现。延迟加载功能通过代理对象实现关联查询的按需加载,减少不必要的数据查询,可通过全局或局部配置启用。

2025-08-15 21:46:19 900

原创 一文看懂【JAVA数据结构】

数据结构摘要 数据结构分为线性结构和非线性结构。线性结构包括数组(连续固定大小内存块)、队列(FIFO)、链表(包含单向/双向/循环链表)和栈(LIFO)。非线性结构主要介绍哈希表(键值对映射)和树结构。树结构涵盖普通树、二叉树及其变种(完美/完全/完满)、AVL平衡树、234树和红黑树,重点分析其时间复杂度、平衡机制和应用场景。哈希表和红黑树因其高效查找性能(O(1)和O(log n))在Java集合框架中被广泛应用。文章还提供了可视化演示地址和各类数据结构的图示说明。

2025-08-14 21:46:59 1001

原创 Spring核心知识

Spring核心机制摘要 Spring框架的核心机制主要包括IOC容器和AOP编程。IOC实现控制反转,通过反射创建Bean对象并管理其生命周期,包括实例化、属性填充、初始化等阶段,利用三级缓存解决循环依赖问题。AOP通过动态代理实现切面编程,支持前置/后置/环绕等通知类型,应用于日志、事务等场景。事务管理基于AOP实现,提供4种隔离级别和传播行为。设计模式上,Spring广泛应用单例、工厂、代理等模式。Bean生命周期完整,从实例化到销毁由容器全权管理。

2025-08-12 23:05:52 638

原创 【什么是IO】

IO(输入输出)是计算机系统内部与外部数据传输的过程,主要分为网络IO、磁盘IO和设备IO三种类型。在网络IO方面,详细介绍了OSI模型各层协议(如HTTP、TCP/IP)、DNS解析过程、TCP三次握手/四次挥手原理、Socket套接字以及IO底层工作原理。重点分析了三种IO模型:BIO(同步阻塞)、NIO(同步非阻塞)和AIO(异步非阻塞)的实现机制与优缺点,特别说明了NIO如何通过多路复用器提升性能。此外还介绍了基于TCP的RPC框架和Netty网络编程框架的核心技术。

2025-08-12 08:30:00 826

原创 一文看懂【多线程与高并发】

本文系统梳理了Java多线程与高并发的核心知识点,包括线程基础(状态、创建方式、JMM模型)、线程池参数与执行流程、各类锁机制(可重入锁、乐观/悲观锁等)、AQS同步器原理,以及线程协调工具(CountDownLatch、Semaphore)的使用场景。重点对比了协程与线程的特性差异,指出协程在用户态调度、轻量级和低切换开销方面的优势。同时总结了ReentrantLock、synchronized等锁的实现原理,并强调虚拟线程在JDK21+中对IO密集型应用的性能提升。全文以技术要点罗列为主,涵盖多线程编程

2025-08-11 08:30:00 700

原创 JVM从浅到深

JVM 类加载机制包括装载、验证、准备、解析、初始化等阶段,采用双亲委派模型防止重复加载。运行时数据区包含堆、方法区、虚拟机栈等,其中堆分为新生代(Eden/Survivor)和老年代,采用不同GC算法。对象生命周期包括可达性分析、垃圾回收等阶段。JVM提供-Xms/-Xmx等参数调节内存,-XX参数控制GC行为。垃圾回收算法包括标记清除、标记整理和复制算法,各有优缺点。

2025-08-10 18:54:03 529

原创 JAVA DLL JNA找不到指定的模块 & %1不是有效的win32程序

项目场景:JAVA DLL JNA找不到指定的模块 & %1不是有效的win32程序提示:这位大佬已经提供解决方案:作者:Gowcage链接:https://blog.csdn.net/gowcage/article/details/104541404?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_

2022-03-22 11:23:22 3217

原创 多线程,各种锁,线程安全性问题、线程活跃性问题

线程实现的方式​ 实现Runnable,继承Thread,匿名内部类,定时器wait和sleep区别​ wait锁会被释放,在synchronized中通过notify,notifyAll释放,会释放系统资源​ sleep锁不会释放,不会释放系统资源,指定时间会自动唤醒为什么wait和notify、notifyAll要放在synchronized中?​ 因为他们需要...

2020-04-29 20:34:43 284

原创 用两个线程,一个输出字母,一个输出数字,交替输出1A2B3C4D.....26Z(线程之间的通信)

用两个线程,一个输出字母,一个输出数字,交替输出1A2B3C4D…26Z(线程之间的通信)​ 1.用synchronized,wait,notify​ 2.LockSupport,park,unpark​ 3.condtion,signal,await下面是1,2两种方式实现package com.example.future.test;import java.util.con...

2020-04-29 20:31:09 769

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除