自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【美团】放它一马

文章摘要: 本文通过动态规划方法解决怪物击败问题,维护每轮击败不同数量(0-9)怪物的状态。对于每个怪物i,考虑击败或放走两种选择,分别更新状态和最大经验值。击败时累加击败奖励和连击加成,放走时仅增加基础经验。最终输出遍历所有可能状态后的最大经验值。算法时间复杂度O(n),适用于大规模输入。

2025-08-27 21:50:01 252

原创 【数学归纳法】证明数列极限

数学归纳法的核心思想类似于多米诺骨牌效应。首先通过基础步骤证明命题在初始情况成立,然后通过归纳步骤证明"若命题对n成立,则对n+1也成立"。在证明数列xₙ>3时,假设xₖ>3并非直接断言其成立,而是作为推导xₖ₊₁>3的前提条件。这种"假设"实际上是在验证递推关系的有效性,结合已证的基础情况,就能确保命题对所有n成立。数学归纳法的关键在于证明传递机制的可靠性,而非对特定情况的断言。

2025-08-09 15:43:45 1021

原创 【bug排查记录】由Redission配置引发的Satoken血案

摘要: 线上出现用户登录状态失效问题,排查发现Redis数据库配置冲突。虽然Spring配置spring.data.redis.database=1正确加载,但实际连接仍使用Redisson默认的数据库0。原因是Redisson未继承Spring配置,需要单独设置数据库索引。解决方案是在Redisson配置中显式调用setDatabase(1),使底层连接与业务配置保持一致。

2025-05-26 23:45:26 871

原创 ELK服务搭建-0-1搭建记录

本文介绍了在CentOS7服务器上使用Docker搭建ELK(Elasticsearch+Logstash+Kibana)日志系统的完整流程。主要内容包括:1) 创建Docker网络并部署Elasticsearch 8.5.0容器,配置相关参数;2) 安装配置Logstash 8.5.0容器,设置日志收集规则;3) 部署Kibana 8.5.0容器用于可视化展示;4) 最后给出了SpringBoot项目对接Logstash的具体配置方法,包括添加依赖和logback配置。整个搭建过程详细说明了各组件参数设置

2025-05-25 22:23:34 1379

原创 DevOps&Jenkins

DevOps是开发与运维的结合,旨在通过自动化流程实现软件高效构建、测试和发布。其核心是打通IT工具链,促进团队协作。关键实践包括持续集成(CI)、持续交付(CD)和持续部署(CD),分别实现代码频繁集成、类生产环境测试和自动上线。CI需要自动化测试、版本控制和构建工具(如Jenkins);CD确保快速发布高质量软件;持续部署则自动将测试通过的代码投入生产。整套流程如Jenkins等工具可实现从代码到上线的全自动化,大幅提升效率。

2025-05-25 17:59:54 599

原创 Docker实战指南

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。容器化对比虚拟机Docker镜像类似于虚拟机镜像,可以将他理解为一个只读的模板。Docker容器类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用。容器是从镜像创建来的。容器可以启动、停止、删除,容器之间彼此隔离,互不可见。可以把容器看做是一个简易版的Linux系统环境(包括root用户权限、进程空间、用户空间和网络空间等)以及运行在其中的应用程序打包而成的盒子Docker仓库是存储镜像的仓库。可以有P

2025-05-25 09:37:29 1340

原创 【项目】SpringBoot +MybatisPlus集成多数据源

在项目中引入多个Mysql数据库时,可以通过自定义数据源配置类实现。首先,在pom.xml中引入MyBatis Plus依赖,无需额外依赖。接着,在application.yml中配置多个数据源,分别指定不同的数据库连接信息。然后,通过创建两个配置类EcshopWpDataSourceConfig和XgBiLccDataSourceConfig,分别配置数据源、SqlSessionFactory和事务管理器。每个配置类通过@MapperScan注解指定对应的Mapper包路径,并通过@Bean注解创建数据源

2025-05-21 21:04:24 365

原创 【堆】最大堆、最小堆以及GO语言的实现

堆是一个完全二叉树,即除了最后一层,其他层的节点数都是最大的,且最后一层的节点都集中在左侧。堆序性质:根据堆的类型(最大堆或最小堆),节点的值满足特定的排序关系。

2025-05-03 17:43:34 1265

原创 【框架学习】Spring AI-功能学习与实战(一)

在2024年10月8日,Spring AI再次进行了更新,尽管当前版本仍为非稳定版本(1.0.0-M3),但博主将持续关注这些动态,并从流行的智能体视角深入解析其技术底层。目前,Spring AI仍处于小众状态,尚未经过开源社区多年的维护和稳定化过程,这与已经较为成熟的Spring框架形成鲜明对比。即便是Spring AI的稳定版本(1.0.0-SNAPSHOT),在常见的maven仓库中也难以找到,仍需通过Spring的jfrog仓库进行访问。

2025-04-24 19:14:09 1685

原创 【记录手贱bug日常】IDEA 配置vmoptions后打不开,重新安装,删注册表均无用

满心欢喜觉得没什么问题,直接删除缓存重启,结果不出意料的出问题了,打不开,然后去文件目录下面重新修改也不行,,,后来卸载、重装、重启都不行,差点生无可恋,还好这段时间没什么需求,最后,发现每次改完目录下面的vmoptions好像都没有生效,突然觉得有没有可能idea打开并不是用的安装目录下面的,然后去c盘appdata下面搜文件名,果然有一个,打开后,这个才是正确的,到这问题也解决了,如果大家改了后也出问题了,可以去c盘appData去看看。

2025-04-24 10:36:43 625 1

原创 【langchain4j】Springboot如何接入大模型以及实战开发-AI问答助手(一)

langchain4j可以说是java和spring的关系,spring让我们开发java应用非常简单,那么langchain4j对应的就是java开发ai的 “Spring”他集成了AI应用的多种场景,并且抽象多种接口,让我们开发AI应用非常简单,下面介绍其常用功能,以及为了降低模型的使用门槛,这里开发使用国内模型-阿里千问系列进行开发,登录去控制台获取key就行。

2025-04-19 22:54:11 1742

原创 HashMap的底层原理-一文搞懂

扩容前后,key的哈希值对数组长度求余,对比结果发现,同一个桶中的元素a和b在扩容后的新位置取决于新数组长度减1对应的二进制的最高位,即00010000,其十进制正巧为旧数组长度。● 若数组索引位置对应的数据结构是链表,则生 成low和high两条链表,low链表插入新数组中的下标为[当前数组下标],high链表插入新数组中的下标为[当前数组下标+旧数组长度]。可以看出,当容量不是2的n次幂时,4个不同的哈希值的与运算得到的结果相同,发生了严重的哈希碰撞,这是因为容量减1对应的二进制低位存在0比特位。

2025-04-17 22:33:50 1054

原创 【限流算法】计数器、漏桶、令牌桶算法

结合图1-17和图1-18,XX:00:59时刻到达的500个请求会落在第6个灰色格子里,而XX:01:00到达的500个请求会落在第7个格子中,但当时间到达XX:01:00时,窗口会往右滑动一格,此时时间窗口内的总请求数为1000个,可以触发系统500个请求的限流。如图1-17所示,假设每分钟系统限流500个请求,在XX:00:59时刻系统接收到500个请求,在XX:01:00时刻系统又接收到500个请求,那么系统在1秒内就处理了1000个请求,超出了1分钟限流500个请求的要求。

2025-04-17 20:28:04 648

原创 【解析】ReentrantLock锁、Syschronized锁面试点解析

● 公平锁与非公平锁的区别是什么?● 什么是可重入锁?● 什么是死锁,怎样避免死锁?● ReentrantLock与Syschronized实现原理是什么?两者有什么区别?● 请说明ReentrantLock获取锁与释放锁的流程。● 请说明Syschronized锁升级的过程。● 锁性能优化方法是什么?● 介绍一下AbstractQueuedSynchronizer(AQS)。

2025-04-16 23:23:19 1298

原创 【计网】SSL/TLS核心原理

在HTTP协议中,信息是明文传输的,因此为了通信安全就有了HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer)协议。HTTPS也是一种超文本传送协议,在HTTP的基础上加入了SSL/TLS协议,SSL/TLS依靠证书来验证服务端的身份,并为浏览器和服务端之间的通信加密。HTTPS是一种通过计算机网络进行安全通信的传输协议,使用HTTP进行通信,借助SSL/TLS建立安全通道和加密数据包。

2025-04-15 20:44:28 1526

原创 【蓝桥杯】第十六届蓝桥杯 JAVA B组记录

【蓝桥杯】第十六届 JAVA B组蓝桥杯

2025-04-12 15:05:44 4645 27

原创 【安全】加密算法原理与实战

为了理解SSL/TLS原理,大家需要掌握一些加密算法的基础知识。当然,这不是为了让大家成为密码学专家,所以只需对基础的加密算法有一些了解即可。基础的加密算法主要有哈希(Hash,或称为散列)​、对称加密(Symmetric Cryptography)、非对称加密(Asymmetric Cryptography)、数字签名(Digital Signature)。

2025-04-10 23:47:32 1422

原创 【计网】TCP 协议详解 与 常见面试题

介绍了TCP/IP模型,以及各个层次的作用和协议,还详细介绍了TCP协议的建立与端口过程

2025-04-06 22:00:11 1528

原创 【计网】HTTP协议 1.0/1.1/2.0详解

介绍了HTTP协议的组成,以及HTTP协议的演进,和各个版本的特效

2025-04-06 10:55:29 1126

原创 【Nexus】搭建自己的docker镜像私服以及镜像代理

介绍了nexus3搭建docker私有仓库以及镜像仓库

2025-04-05 10:56:01 1083

原创 【centos】经常使用的脚本

【代码】【centos】经常使用的脚本。

2025-04-04 18:54:53 478

原创 【环境安装】java项目自动化部署脚本-自动安装jdk\maven环境

【代码】【环境安装】java项目自动化部署脚本-自动安装jdk\maven环境。

2025-04-03 23:34:08 211

原创 【Centos】centos7内核升级-亲测有效

介绍了亲测将centos7 内核升级的过程

2025-04-03 22:39:08 562

原创 【理解】select&poll&epoll&水平触发&边缘触发

poll()是一个用于 I/O 多路复用的系统调用,它能够监控多个文件描述符,等待它们中的任何一个变为"就绪"状态。要深入理解poll()的实现原理,我们需要从内核层面进行分析。

2025-03-25 18:02:30 755

原创 【SpringSecurity】详细核心类与过滤器流程讲解和封装通用组件实战

Spring Security 是一个功能强大且高度可定制的认证和访问控制框架,是保护基于 Spring 的应用程序的标准工具。它是一个专注于为 Java 应用程序提供认证和授权的框架,实际上它是 Spring 生态系统中负责安全方面的重要成员。认证回答了"你是谁?"的问题,是确认用户身份的过程。核心工作流程:授权回答了"你能做什么?"的问题,是确定用户是否有权执行特定操作的过程。核心工作流程:表示当前通过认证的用户,通常包含用户标识(如用户名)和授予的权限。表示授予用户的特定权限,通常分为:Spring

2025-03-20 16:05:47 1488

原创 【排序】快速排序、归并排序详解

归并排序是一种基于"分治"思想的排序算法。正如您所说,它的核心思路与其名字一致:先"递归分解",再"合并"。让我来详细解释这个过程:

2025-03-18 21:04:21 301

原创 【超全】数据库查询优化技术全解析

小表驱动大表是指在进行表连接操作时,优先选择记录数较少的表作为驱动表(外表),让记录数较多的表作为被驱动表(内表)。这样能显著减少连接操作中的循环次数和比较次数。

2025-03-17 18:28:50 1075

原创 【源码分析】Nacos实例注册流程分析-事件驱动框架

Nacos实例注册流程分析-事件驱动框架

2025-03-17 14:46:41 1208

原创 【源码分析】Nacos服务注册源码分析-客户端

Nacos 自动注册客户端源码剖析

2025-03-16 20:53:07 1133

原创 【Nexus】Maven 私服搭建以及上传自己的Jar包

在Maven 项目的pom.xml 文件中加入如下片段--内部搭建的maven仓库 :使用分发管理将本项目打包成jar包,直接上传到指定的服务器上-->-- 正式版本-->-- nexus服务器中用户名: 在settings.xml中<Server> 的id-->-- 快照-->然后执行 maven 的 deploy 即可将自定义的jar 包上传到仓库。

2025-03-14 22:30:33 1006

原创 Java如何实现原子操作

CMPXCHG(Compare and Exchange,比较并交换) 是一种重要的硬件指令,广泛用于实现多线程或多核环境中的原子操作。JVM 中的 CAS 操作正是利用了处理器提供的 CMPXCHG 指令实现的。JVM 中的 CAS 操作正是利用了处理器提供的 CMPXCHG 指令实现的。if (old_value == expected) { // 比较目标值与预期值。如果 [mem] == EAX,则将 ECX 的值存入 [mem]= EAX,则将 [ECX] 的值写入 EAX。

2025-03-12 20:26:15 501

原创 【MySQL】全面理解Mysql架构

如图,将MySQL 拆分为 上下两个部分,上层通常叫做 Server层 主要是Mysql 自己实现,下层叫做存储引擎层,是插件开发模式,Mysql官方最初自己提供了MyISAM,是一种非事务存储引擎,而后有公司实现了其提供的接口,Innodb,在MySQL5.5.5 版本开始成为了默认存储引擎。

2025-03-11 16:44:39 993

原创 Leetcode-146.LRU缓存

【代码】Leetcode-146.LRU缓存。

2025-03-11 12:09:24 363

原创 【操作系统】页面置换算法总结

对于实现简单性要求高的系统,可以选择FIFO或Clock算法对于性能要求高的系统,应该选择LRU或其近似实现对于特定应用,可能需要根据其内存访问模式定制特殊的页面置换策略。

2025-03-11 12:07:18 1309

原创 Java 虚拟机优化指南:CMS垃圾回收器参数调优与性能监控工具详解

CMS (Concurrent Mark Sweep) 是一种以获取最短回收停顿时间为目标的老年代垃圾回收器。CMS采用"标记-清除"算法,并且大部分工作是和应用线程一起并发执行的,仅在初始标记和重新标记阶段需要短暂停顿应用线程。JVM调优是一个持续优化的过程,需要根据应用特点和业务场景不断调整。通过合理配置CMS垃圾回收器参数,结合丰富的监控工具,可以显著提升Java应用的性能和稳定性。在实际调优过程中,应建立完善的监控体系,持续跟踪系统性能指标,及时发现并解决潜在问题。

2025-03-10 21:48:34 1393

原创 【并发】 synchronized 关键字详解

synchronized 详解

2025-03-09 09:35:20 1656

原创 CGLIB与JDK动态代理技术详解

JDK动态代理是Java标准库中自带的动态代理机制,它基于Java反射API实现。JDK动态代理的核心是接口和Proxy类。JDK动态代理的工作原理可以概括为以下步骤:定义一个接口及其实现类创建一个实现接口的处理器类使用方法创建代理对象通过代理对象调用目标方法时,会被转发到的invoke方法JDK动态代理的关键特点是,它只能代理实现了接口的类,这是由其底层实现机制决定的。

2025-03-08 20:17:14 1309

原创 【源码分析】ThreadLocal 源码分析-一文带你搞懂 为什么会出现内存泄漏

此类提供线程本地变量。这些变量与普通变量不同之处在于,每个访问它们的线程(通过其 get 或 set 方法)都有自己独立初始化的变量副本。ThreadLocal 实例通常是类中的私有静态字段,这些类希望将状态与线程关联起来(例如,用户 ID 或事务 ID)**ThreadLocal 的作用域就是线程。

2025-03-06 20:44:19 731

原创 Spring之Bean生命周期源码解析-一文掌握(二)

但是我们在定义一个Bean时,如果这个Bean实现了DisposableBean接口,或者实现了AutoCloseable接口,或者在BeanDefinition中指定了destroyMethodName,那么这个Bean都属于“DisposableBean”,这些Bean在容器关闭时都要调用相应的销毁方法。在销毁时,Spring会找出实现了DisposableBean接口的Bean。Bean销毁是发送在Spring容器关闭过程中的。

2025-03-05 22:39:57 864

原创 Spring之Bean生命周期源码解析-一文掌握(一)

Spring最重要的功能就是帮助程序员创建对象(也就是IOC),而启动Spring就是为创建Bean对象做准备,所以我们先明白Spring到底是怎么去创建Bean的,也就是先弄明白Bean的生命周期。

2025-03-05 22:31:26 1176

java高频面试,分布式,微服务

java高频面试

2025-04-15

空空如也

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

TA关注的人

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