自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

片生石的博客

Java编程之路

  • 博客(17)
  • 收藏
  • 关注

原创 数据库高 CPU 与连接数问题分析及优化方案

摘要: MySQL数据库出现CPU瞬间飙升至90%以上且连接数超100的问题,主要由连接池配置不当、微服务架构违反数据隔离原则(共享数据库+独立连接池)及代码层循环查询、Feign滥用导致。短期优化包括:分服务精细化配置连接池(如Job服务缩减连接)、引入ProxySQL代理复用连接;长期需遵循微服务原则,拆分为私有数据库+独立连接池架构,实现数据自治。高CPU与连接堆积会形成"慢查询-阻塞-雪崩"的恶性循环,需及时治理。

2025-12-19 17:38:28 379

原创 SpringAI课程学习笔记

Spring AI 简介与快速入门 Spring AI 是 Spring 生态推出的 AI 工程应用框架,旨在将 Spring 的设计原则(如模块化、可移植性)引入 AI 领域,简化 AI 大模型应用开发。它支持主流 AI 服务商(如 OpenAI、DeepSeek)、多种模型类型(聊天、文本生成等),并提供向量数据库集成、POJO 映射等功能。 通过 Spring AI 集成 DeepSeek 的快速步骤如下: 在 DeepSeek 开放平台注册并获取 API Key 创建 Spring Boot 项目(

2025-11-20 15:48:45 732

原创 MyBatis从入门到精通全攻略

MyBatis 框架摘要(150字) MyBatis是半自动化ORM框架,核心组件包括SqlSessionFactory(全局配置)、SqlSession(数据库会话)和Mapper接口(动态代理实现)。通过XML配置数据源和SQL映射,支持基础CRUD操作。高级特性包含:动态SQL(if/where/foreach标签)、ResultMap处理复杂对象关系、两级缓存机制(SqlSession/Mapper级别)。支持插件开发(Interceptor接口)和批处理优化,可通过TypeHandler实现特殊数

2025-09-16 15:54:45 972

原创 Spring boot+mybatis 实现redis二级缓存

参考文章。

2023-12-22 17:46:36 361

原创 spring-aop核心概念及动态代理模式

1,什么是AOP技术?AOP解决了什么问题?3,AOP代理对象产生流程分析。4,AOP代理对象执行流程。

2023-12-08 13:51:29 103

原创 利用数据库行级锁处理并发问题

此处存在数据脏读(ops最后一个事物脏读),导致最终更新sku库存的时候数据对不上。

2023-12-01 17:33:17 238

原创 redis,并发操作问题分析

3,使用redis的lua脚本方式执行读写,lua脚本会将读写操作当成一个整体来执行,优点是程序不用额外加锁,减少资源的消耗,缺点编码可能复杂一些。2,使用分布式锁,将redis的读写操作包裹在一起,优点编码简单,缺点锁的读写操作会有两次网络请求,增加了接口的响应时间。先看一段代码,这段代码初步看好像没有并发问题,但是如果第一次执行不存在的redisKey时候,就有可能存在并发问题。1,利用redis的单线程特性,可以解决并发问题(本文就是这种思路,这种思路比较巧妙)经过多次测试,已经不会有并发问题了。

2023-11-27 14:33:22 130

原创 java手写二叉树

package com.pp.tree;import java.util.Objects;public class Binarytree { private Node root; private void addNode(int data){ if (Objects.isNull(root)){ root = new Node(data); }else{ root.add(data); .

2021-11-22 18:01:46 790

原创 java手写栈数据结构

java手写栈数据结构

2021-11-20 09:34:43 578

原创 ValidateUtils-kye

package com.kyexpress.erp.tms.bill.provider.utils;import com.kyexpress.erp.tms.bill.provider.constant.ResponseCode;import com.kyexpress.framework.exception.ApplicationException;import com.kyexpress.framework.utils.StringUtils;import com.kyexpress.fr.

2021-10-27 14:55:44 213

原创 2021-10-27-ServiceUtils-kye

package com.kyexpress.erp.tms.bill.provider.utils;import com.kyexpress.erp.tms.bill.provider.constant.ResponseCode;import com.kyexpress.framework.exception.ApplicationException;import com.kyexpress.framework.model.GenericBO;import com.kyexpress.frame.

2021-10-27 14:52:15 163

原创 kye-redis 加锁代码

/** * 处理加锁方法 * * @return */public boolean tryLock(String key, boolean otherFlag) { if (StringUtils.isRealEmpty(key)) { throw new ApplicationException(ResponseCode.BILL_BATCH_NUMBER_NULL); } logger.info("加锁putIfAbsent key={}", buildLock.

2021-10-27 14:47:04 207

原创 java idea报This inspection points out unresolved references inside javadoc

解决办法:File-->Settings-->Editor-->Inspections-->Javadoc-->Declaration has problems in javadoc references。将勾去掉。

2020-09-23 16:55:45 879

转载 学习笔记(4):通俗易懂的Java8新特性教程(含配套资料)-8. Java8新特性_Stream_筛选与切片

本教程为授权出品教程 本套视频涵盖了 Java8 的新特性:Lambda表达式、强大的 Stream API、全新时间日期 API、ConcurrentHashMap、MetaSpace。Java8 的新特性使 Java 的运行速度更快、代码更少(Lambda 表达式)、便于并行、最大化减少空指针异常。 ...

2020-08-31 18:21:09 136

转载 学习笔记(2):Java进阶高手课-必知必会MySQL-数据库事务有哪些隔离级别?MySQL默认隔离级别?...

课程聚焦Java进阶所需的MySQL核心知识点,以真实场景项目实战为导向,循序渐进,透彻理解MySQL数据库,讲解Java这门使用广泛的编程语言所需要的MySQL数据库知识,助你能够游刃有余地游走在Java这门语言之中。...

2020-06-29 16:03:39 182

转载 学习笔记(1):Java进阶高手课-必知必会MySQL-MySQL事务有什么特性?

课程聚焦Java进阶所需的MySQL核心知识点,以真实场景项目实战为导向,循序渐进,透彻理解MySQL数据库,讲解Java这门使用广泛的编程语言所需要的MySQL数据库知识,助你能够游刃有余地游走在Java这门语言之中。...

2020-06-29 15:46:54 170

原创 memcached 和 redis 的区别与选择

没有必要过多的关注性能。由于Redis只使用单核,而Memcached可以使用多核,所以在比较上,平均每一个核上Redis在存储小数据时比Memcached性能更高。而在100k以上的数据中,Memcached性能要高于Redis,虽然Redis最近也在存储大数据的性能上进行优化,但是比起Memcached,还是稍有逊色。说了这么多,结论是,无论你使用哪一个,每秒处理请求的次数都不会成为瓶颈。

2017-07-28 15:44:48 272

空空如也

空空如也

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

TA关注的人

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