自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (3)
  • 收藏
  • 关注

原创 Springboot的run方法都做了什么

通过这一流程,Spring Boot 自动完成了依赖管理、自动配置、组件扫描等复杂操作,最终将应用交付为「可对外提供服务」的状态。理解。

2025-08-28 15:38:37 766

原创 OpenFeign的原理解析

OpenFeign是一个声明式的HTTP客户端,它在微服务架构中被广泛使用,主要用于简化服务之间的HTTP调用。

2025-08-25 20:40:00 940

原创 Redis的分布式序列号生成器原理

Redis 分布式序列号生成器的核心原理是利用 Redis 的和,在分布式系统中生成全局唯一、有序的序列号。其设计通常结合业务需求(如有序性、长度限制、高并发),通过 Redis 的原子命令(如INCRINCRBY)或 Lua 脚本实现。

2025-08-06 15:25:18 867

原创 java线程的生命周期和工作过程

Java线程的生命周期指的是一个线程从创建到销毁所经历的不同状态,以及在这些状态之间转换的过程。理解这些状态及其转换条件对于编写正确、高效、线程安全的程序至关重要。掌握线程的生命周期和工作过程,对于诊断线程相关问题(死锁、活锁、饥饿)、设计高效并发结构以及理解框架提供的并发工具(如线程池)的运行机制至关重要。- 无限期等待状态**​。Java线程的生命周期在。- 限时等待状态**​。- 可运行状态**​。

2025-07-23 09:45:39 487

原创 springboot如何自定义stater

​自动配置类是核心,通过条件注解控制 Bean 的创建​​ 是自动配置的注册入口​配置属性类实现类型安全的属性绑定​条件注解是精确控制装配的关键:​配置元数据提供 IDE 友好的提示优秀的自定义 Starter 应该具备:开箱即用、配置灵活、环境感知、依赖清晰的特点。遵循这些原则可以创建出企业级的 Spring Boot Starter。

2025-07-22 15:09:16 382

原创 如何排查服务器 CPU 飙高

服务器 CPU 飙高(CPU 使用率持续超过 80% 甚至接近 100%)是典型的性能瓶颈问题,可能由引起。以下是系统化的排查步骤,覆盖从现象确认到根因定位的全流程。

2025-07-22 11:24:08 1878

原创 如何诊断排查线程死锁

线程死锁是指两个或多个线程因争夺资源而互相等待,导致所有相关线程无法继续执行的状态。诊断死锁的核心是,并通过工具或代码分析确认阻塞源。

2025-07-22 11:18:16 1061

原创 虚拟线程(Project Loom)的底层实现原理?对比传统线程的优势?

虚拟线程(Project Loom)是 Java 社区为解决高并发场景下线程资源瓶颈而推出的实验性项目(预计随 JDK 21 正式发布),其核心目标是通过替代传统操作系统级线程(OS Thread),显著降低并发编程的资源消耗和复杂度。以下从和两方面展开说明。

2025-07-21 15:57:29 478

原创 ConcurrentHashMap 在 JDK 8 中的优化(分段锁 → CAS + synchronized)

ConcurrentHashMap 是 Java 中线程安全的哈希表实现,其核心目标是在多线程环境下提供高效的并发读写能力。JDK 7 与 JDK 8 的实现差异显著,其中 JDK 8 对锁机制进行了重大优化:​。以下从三个维度展开说明。

2025-07-21 15:26:17 1007

原创 synchronized锁升级过程(无锁→偏向锁→轻量级锁→重量级锁)

是 Java 中最基础的同步机制,其底层通过​(Lock Escalation)机制优化性能,根据竞争激烈程度动态调整锁的粒度,从无锁逐步升级为偏向锁、轻量级锁,最终可能升级为重量级锁。以下是完整的锁升级过程及原理详解。

2025-07-21 15:00:10 1086

原创 解释 `-XX:MaxTenuringThreshold`、`-XX:SurvivorRatio` 的实际调优意义

和 是 JVM 中控制新生代对象生命周期管理和内存区域分配的核心参数,直接影响 Young GC(Minor GC)的频率、对象晋升到老年代的时机,以及整体 GC 性能。以下从参数定义、调优逻辑和实际场景三个维度展开说明。对象在新生代的存活次数由其被 Minor GC 时的“年龄”决定。每次 Minor GC 后,存活对象的年龄加 1;当年龄超过 时,对象被晋升到老年代。​调优目标​:平衡新生代与老年代的内存压力,避免因对象过早或过晚晋升导致的 GC 问题。​场景 1:对象存活时间短(短生命周期对象为主

2025-07-21 13:54:20 535

原创 深入理解Tomcat 基本架构

Tomcat 是 Apache 软件基金会旗下的开源 Servlet 容器,实现了 Java EE(现 Jakarta EE)的 Servlet、JSP 等规范,广泛用于 Java Web 应用的部署和运行。其架构设计围绕和展开。以下从核心组件、层级结构、关键机制三个维度深入解析 Tomcat 的基本架构。

2025-07-07 15:59:11 1096

原创 SSM和SpringBoot框架的关系

​:SSM 是“手动拼装的汽车”,需要开发者熟悉每个零件的组装;Spring Boot 是“出厂即用的汽车”,开发者只需关注“如何驾驶”(业务逻辑)。

2025-07-03 17:01:31 1277

原创 ​拦截器(Interceptor)​与过滤器(Filter)的区别

在 Java Web 开发中,​和都是用于处理请求和响应的组件,但它们的设计目标、作用范围和使用场景有显著差异。以下从多个维度对比两者的区别,并结合实际场景说明如何选择。

2025-07-03 15:47:21 956

原创 人脑接口的原理

人脑接口(Brain-Computer Interface,简称 ​,也译作脑机接口)是一种在大脑与外部设备之间建立直接通信通道的技术,允许大脑通过神经信号直接控制设备(如计算机、机器人、假肢等),或接收外部设备的反馈信息。其核心原理是,从而实现“意念控制”或“脑-机交互”。

2025-07-03 15:00:58 1313

原创 MongoDB 常用增删改查方法及示例

MongoDB 的增删改查(CRUD)操作是其核心功能,主要通过或驱动(如 Node.js、Python 等)实现。以下是最常用操作的详细说明及示例(基于语法)。

2025-07-01 18:38:15 1252

原创 MongoDB 和 Redis的区别

MongoDB 和 Redis 是两种不同类型的 NoSQL 数据库,虽然都属于非关系型数据库,但核心设计理念、数据模型、适用场景差异显著。以下从多个维度对比两者的区别,并结合典型场景说明如何选择。

2025-06-27 18:30:30 1255

原创 Springboot整合Elasticsearch及常用方法大全

若需要更细粒度控制(如连接池、线程池),可自定义或@Bean// 或直接使用 Spring Data 提供的 ElasticsearchRestTemplate(已过时,新版推荐 ElasticsearchClient)// @Bean// }

2025-06-27 17:01:38 3688

原创 Kubernetes核心技术原理详解

Kubernetes(K8s)是云原生领域的核心容器编排系统,其设计目标是。要理解其核心技术原理,需从等维度展开。

2025-06-21 15:32:59 523

原创 NACOS 核心技术原理详解

Nacos()是阿里巴巴开源的,广泛应用于微服务架构中,解决服务实例动态注册与发现、配置集中管理与动态推送、服务治理(如流量控制、熔断限流)等核心问题。其核心技术原理围绕设计,融合了服务发现、配置管理、分布式协调等多领域技术。

2025-06-16 22:23:59 1692

原创 @Scheduled 底层实现原理

Scheduled是 Spring 框架提供的,用于声明式地定义周期性或固定间隔执行的任务。其底层实现涉及 Spring 的任务调度模块()、注解处理机制()以及 JDK 的定时任务工具(如。

2025-06-16 17:22:36 965

原创 Lambda 表达式的原理及用法详解

Lambda 表达式是 Java 8 引入的,其核心目的是简化​(仅含一个抽象方法的接口)的匿名实现类的代码编写。它通过更简洁的语法(类似数学中的“λ 表达式”)让代码更接近自然语言,同时推动了 Java 向函数式编程范式的演进。

2025-06-16 14:15:29 1072

原创 函数式接口示例及详解【可以不用,但不能不懂】

函数式接口(Functional Interface)是 Java 8 引入的核心特性之一,是 Lambda 表达式和方法引用的基础。它的定义非常简单:​​(可以有默认方法、静态方法和从Object继承的方法)。通过注解(可选,但推荐)显式标记,编译器会强制检查该接口是否符合函数式接口的规范。

2025-06-16 11:48:01 745

原创 Druid 连接池详解

Druid(全称 ​)是阿里巴巴开源的,同时也是数据库监控与防御工具。它不仅实现了传统连接池的核心功能(如连接复用、生命周期管理),还提供了丰富的扩展能力(如 SQL 监控、慢查询分析、SQL 防火墙、连接泄漏检测等),是 Java 生态中最主流的数据库连接池之一(尤其在 Spring Boot 项目中广泛使用)。

2025-06-15 21:59:14 1771

原创 @SpringBootTest 详解

是 Spring Boot 提供的,用于标记一个测试类需要加载完整的 Spring 应用上下文(Application Context),并支持对 Spring 生态组件(如 Service、Repository、Controller 等)的集成测试。它是 Spring Boot 测试工具包()的一部分,通常与 JUnit 5(@Test)配合使用。

2025-06-15 21:42:53 1195

原创 C语言执行 main() 函数前,程序都做了什么

在 C 语言程序中,main()函数是用户代码的逻辑起点,但在它被执行之前,程序需要经历等多个关键阶段。这些阶段由编译器、链接器、操作系统共同协作完成,确保程序具备运行所需的环境和资源。

2025-06-14 14:17:38 1471

原创 ShardingSphere分库分表教程

业务代码无需感知底层分片逻辑。

2025-06-13 15:03:21 2079

原创 Spring Boot 常用注解面试题深度解析

Spring Boot 注解是其“约定优于配置”的核心实现工具,通过注解简化了传统 Spring 应用的繁琐配置。以下从出发,深度解析 Spring Boot 最常用注解的原理、作用及使用场景,覆盖启动类、配置、依赖注入、AOP、Web 开发等核心场景。

2025-06-12 19:11:11 1000

原创 Linux-进程间的通信

在Linux系统中,进程间通信(Inter-Process Communication, IPC)是指不同进程之间交换数据或协调操作的机制。由于进程的内存空间相互隔离,操作系统提供了多种IPC方式,让进程能安全高效地通信。

2025-06-11 17:00:42 1124

原创 5分钟上手【Markdown】:效率提升100%实践

别慌!Markdown 是一种的超简单语法,5分钟就能学会核心操作。搭配好用的编辑器和插件,效率直接翻3倍!

2025-06-11 14:39:20 1144

原创 小程序原理深度剖析:从架构到运行机制

小程序的核心原理是依托宿主App的沙盒环境,通过双线程模型分离视图与逻辑,结合类Web技术实现轻量化开发,同时通过桥接层扩展原生能力。其优势在于“即用即走”的用户体验、低开发成本和跨平台能力,局限性则源于对宿主的依赖(功能受限于宿主开放接口)。理解其架构与运行机制,有助于开发者更好地优化性能、规避坑点(如数据更新延迟、权限问题),并充分发挥小程序的价值。

2025-06-11 10:30:01 874

原创 程序编译器原理简述

程序编译器的工作原理可以简单概括为“翻译+检查+优化”,核心是将人类能看懂的高级语言代码(如C、Java),转换成计算机能直接执行的机器指令(二进制代码)。

2025-06-11 09:34:14 472

原创 TransmittableThreadLocal 原理及用法

是阿里巴巴开源的线程间数据传递工具,用于解决线程池场景下的数据传递问题。

2025-06-06 16:43:19 886

原创 缓存架构方案:Caffeine + Redis 双层缓存架构深度解析

​支持自动加载、刷新、过期​:可以自动加载数据到缓存中,还能根据配置自动刷新缓存项,并在缓存项过期后将其移除。​高并发读写性能优秀​:使用 Segmented Locking(分段锁)来优化并发性能,避免在高并发情况下造成锁竞争,从而实现高吞吐量的缓存访问。​适用于热点数据快速访问场景​:对于需要频繁访问但又不会频繁变更的数据,如配置信息、枚举值等,Caffeine 可以将其缓存起来,减少对数据库或其他存储系统的访问,提高数据读取速度。​支持持久化、集群部署、Lua 脚本等高级功能。

2025-06-03 17:42:49 1386

原创 Sa-Token 框架介绍及用法

​核心理念​:以简单易用、功能强大、扩展性强为特点,通过简洁的API和注解驱动,降低权限系统的开发复杂度,其核心原理是基于Token机制实现用户的身份认证和权限校验。​核心功能​​权限认证​:提供丰富的权限认证方式,包括登录认证、角色认证、权限认证等,可轻松实现各种权限控制场景。支持注解式权限管理、路由鉴权等多种鉴权方式,还能进行权限码模糊匹配、使用权限通配符等操作。​会话管理​:提供强大的会话管理功能,支持分布式会话,使得在不同服务器之间的用户状态得以共享。

2025-05-30 17:29:34 562

原创 请说一下什么是LRUCache

LRUCache即最近最少使用缓存,是一种常用的缓存淘汰策略,用于在有限的存储空间下,优化资源的利用率和访问效率:具体数据结构详情可见:数据结构:LRU Cache_cache lru-CSDN博客

2025-05-30 16:39:47 280

原创 @Scheduled 原理及用法

Scheduled。

2025-05-30 16:31:34 307

原创 RedisMessageListenerContainer 原理及用法

是 Spring Data Redis 提供的一个类,用于接收来自 Redis 频道的消息,并驱动注入其中的实例。

2025-05-29 11:30:49 824

原创 整理redis在项目中有哪些应用场景(必会)

Redis作为一种高性能的内存数据库和缓存服务器,在项目中有着广泛的应用场景,以下是一些常见的应用场景:

2025-05-29 11:24:12 426

原创 CommandLineRunner 的原理及用法

是 Spring Boot 提供的核心接口,用于在应用启动后执行初始化任务。

2025-05-24 17:27:29 451

ubuntu g++安装包

ubuntu g++安装包v4.4

2019-03-23

官方jar包javax-inject.jar

官方jar包 javax-inject.jar

2019-03-23

xrecord-example-master.zip

Source code for event_monitor.cpp,event_monitor.h,main.cpp

2019-09-12

空空如也

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

TA关注的人

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