TechBlog
首页分类标签搜索关于
← 返回标签列表
加载中...

© 2025 TechBlog. All rights reserved.

#标签

共 4313 篇文章
TIDBPDplacement-Driver

TIDBPDplacement-Driver

摘要PD(PlacementDriver)是TiDB集群的核心调度组件,具有以下关键功能:1)存储TiKV元数据;2)分配全局ID和事务ID;3)生成全局时间戳TSO;4)收集集群信息并调度Region;5)通过标签系统支持高可用。PD采用三节点架构,基于etcd的Raft协议保证高可用。其工作流程包括:接收TiKV心跳信息、生成调度策略(如负载均衡、热点分散等)、下发调度指令。特别地,PD通过配置标签系统实现跨机柜、跨数据中心的副本隔离,确保数据高可用性。此外,PD还提供TiDBDashb

时间:12/18/2025

数据结构堆与优先级队列PriorityQueue

数据结构堆与优先级队列PriorityQueue

优先级队列是一种按元素优先级决定出队顺序的数据结构,底层通过堆实现。堆分为小堆和大堆,具有完全二叉树性质,可使用数组高效存储。堆的核心操作包括向下调整(O(logn))、向上调整(O(logn))以及建堆(O(n))。基于这些操作可模拟优先级队列的插入、删除等功能。Java中的PriorityQueue默认实现小堆,支持自动扩容,插入和删除操作时间复杂度为O(logn),适用于需要动态优先级排序的场景。

时间:12/18/2025

C-智能指针深度解析原理实现与实战避坑

C-智能指针深度解析原理实现与实战避坑

本文深入探讨了C++智能指针的原理与应用。通过分析内存泄漏问题,引出RAII(资源获取即初始化)设计思想,详细解析了标准库中四种智能指针(auto_ptr、unique_ptr、shared_ptr、weak_ptr)的实现机制与适用场景。重点包括:1)智能指针如何通过对象生命周期自动管理资源;2)unique_ptr的独占所有权特性;3)shared_ptr的引用计数实现;4)weak_ptr解决循环引用的原理。文章还提供了完整自定义实现代码,并配以可视化说明,帮助开发者深入理解智能指针的核心概念

时间:12/18/2025

Spring-Boot-注解全栈指南涵盖-Bean-注册配置加载请求映射事务控制数据校验等一网打尽

Spring-Boot-注解全栈指南涵盖-Bean-注册配置加载请求映射事务控制数据校验等一网打尽

哈喽大家好~我发现很多同学对注解的使用停留在“照猫画虎”的阶段:知道@Autowired能注入,但说不清它和@Resource的本质区别;知道@Transactional能开事务,但遇到不回滚的情况就抓瞎。注解的本质是元数据,它是写给框架看的“说明书”。在SpringBoot“约定优于配置”的哲学下,注解是我们与框架沟通的核心语言。

时间:12/18/2025

Netty18Netty的内存模型

Netty18Netty的内存模型

Netty的内存模型基于ByteBuf,提供灵活高效的内存管理。ByteBuf分为HeapByteBuf(堆内存)和DirectByteBuf(堆外内存),前者易于管理但可能需数据拷贝,后者可直接与操作系统交互。Netty提供Pooled(对象池重用)和Unpooled(临时创建)两种内存分配器,分别适用于频繁操作和临时使用场景。示例代码展示了不同类型ByteBuf和分配器的创建方式,帮助开发者根据需求选择最优内存管理方案。

时间:12/18/2025

17TCP握手交互

17TCP握手交互

摘要本文描述了一个简单的交互场景,通过"张三"和"李四"的对话展示了基本的通讯过程。文中指出TCP协议的核心特点在于其可靠性,即"件件有着落,事事有回音"的特性,确保信息传输的完整性和确认机制。这种特性与人类对话中确认应答的模式类似,都是为了保证信息能够可靠传递。

时间:12/18/2025

RabbitMQAMQP-原理Spring-AMQP-实战与-Work-Queue-模型

RabbitMQAMQP-原理Spring-AMQP-实战与-Work-Queue-模型

SpringAMQP是Spring官方基于AMQP协议提供的一套消息中间件解决方案,用于简化AMQP在Spring应用中的使用。SpringAMQP并不是一个消息队列,而是一个对AMQP协议的Java抽象与封装定义了AMQP的核心抽象接口(Message、Exchange、Queue、Template等)与具体消息中间件实现解耦spring-amqp的默认实现基于RabbitMQJavaClient负责与RabbitMQ服务端进行真正的网络通信。

时间:12/18/2025

二SpringBoot定时任务

二SpringBoot定时任务

摘要:本文介绍了SpringBoot定时任务的基本原理和使用方法。通过@EnableScheduling注解启用定时任务功能,使用@Scheduled注解定义任务的执行策略,包括fixedRate(固定频率)、fixedDelay(固定延迟)和cron表达式三种方式。文章重点指出SpringBoot默认使用单线程执行定时任务可能导致的问题,并提供了通过实现SchedulingConfigurer接口配置多线程池的解决方案。最后总结了常见问题,如任务阻塞、cron表达式错误和方法定义要求等注意事项。

时间:12/18/2025

Spring-WebMVC入门实战从概念到连接建立全解析

Spring-WebMVC入门实战从概念到连接建立全解析

本文围绕SpringWebMVC展开全面解析,首先明确其作为基于ServletAPI构建、实现MVC架构模式的Web框架本质,厘清SpringMVC与SpringBoot的关联(SpringBoot是SpringMVC的便捷实现方式之一);随后深入阐释MVC架构中模型(Model)、视图(View)、控制器(Controller)的核心职责与交互逻辑;重点聚焦SpringMVC的三大核心功能——建立连接(URL路由映射)、请求参数获取、响应结果返回

时间:12/18/2025

JAVA与MySQL实现银行管理系统

JAVA与MySQL实现银行管理系统

JAVA与MySQL实现银行管理系统

时间:12/18/2025

SpringSecurity授权原理与实战

SpringSecurity授权原理与实战

本文介绍了SpringSecurity的授权机制,主要包括权限表达式、URL访问控制、RBAC权限模型和页面标签控制。系统通过比较用户权限和URL配置权限实现访问控制,提供hasRole、hasAuthority等内置表达式。文章详细讲解了自定义授权类开发、方法级安全注解(@PreAuthorize)使用,以及基于RBAC模型的权限表设计和动态权限查询实现。最后介绍了thymeleaf-security标签在页面端的权限控制应用,包括用户认证状态判断、权限/角色检查等功能,实现前后端统一的权限管理体系。

时间:12/18/2025

Java集合Map总结

Java集合Map总结

Java集合Map总结

时间:12/17/2025

c语言栈和队列

c语言栈和队列

一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(LastInFirstOut)的则。:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。:栈的删除操作叫做出栈。出数据也在栈顶。

时间:12/17/2025

SpringAI基于内存存储向量

SpringAI基于内存存储向量

SpringAI基于内存存储向量

时间:12/17/2025

Java实现Excel-导出多-Sheet复杂格式

Java实现Excel-导出多-Sheet复杂格式

Java实现Excel导出(多Sheet、复杂格式)

时间:12/17/2025

Quarkus-vs-Spring-Boot谁更适合云原生时代的-Java-开发

Quarkus-vs-Spring-Boot谁更适合云原生时代的-Java-开发

本文对比了云原生时代下两大Java框架Quarkus与SpringBoot的核心特性。SpringBoot凭借成熟生态仍是企业级开发首选,但其JVM模型在启动速度、内存占用等方面存在瓶颈。Quarkus通过编译时优化和GraalVM原生支持,实现毫秒级启动、超低内存消耗和小镜像体积,更适合Kubernetes和Serverless场景。测试数据显示,Quarkus原生模式的启动时间(28ms)和内存占用(38MB)显著优于SpringBoot(3200ms/420MB)。建议传统应用继续使用Sprin

时间:12/17/2025

SpringCloud服务优雅下线LoadBalancer-缓存配置方案

SpringCloud服务优雅下线LoadBalancer-缓存配置方案

LoadBalancer缓存机制:默认缓存35秒,减少注册中心查询压力配置位置推荐值35s(默认值)5s10s注意事项:如果使用优雅下线,需要确保等待时间≥ttl+缓冲时间。

时间:12/17/2025

Java-的云原生困局与破局

Java-的云原生困局与破局

云原生时代将应用生命周期从"天/月"压缩到"秒",使JVM"用时间换性能"的经典设计陷入困境。Java面临启动慢、内存占用高、预热时间长三大痛点。社区的应对呈现分裂态势:AppCDS和CRaC在保留动态性前提下优化启动;GraalVMNativeImage牺牲部分动态性换取毫秒级启动;ProjectLeyden探索中间路线。未来不会有统一解决方案,而是根据场景选择不同技术栈的多态并存格局。

时间:12/17/2025

IntelliJ-IDEA-设置导出与导入完整指南备份-迁移-团队共享

IntelliJ-IDEA-设置导出与导入完整指南备份-迁移-团队共享

IDEA的设置导出与导入功能是提升开发效率的关键技巧,无论是个人配置备份、环境迁移,还是团队协作统一,都能轻松应对。全量配置用ZIP包导出/导入,特定配置用.xml文件精准同步,避开敏感信息和版本兼容坑,就能让IDE配置随取随用!

时间:12/17/2025

Spring-Boot4.0-集成-Redis-实现看门狗-Lua-脚本分布式锁完整使用

Spring-Boot4.0-集成-Redis-实现看门狗-Lua-脚本分布式锁完整使用

SpringBoot4.0集成Redis实现看门狗Lua脚本分布式锁完整使用

时间:12/17/2025

HTTP的数据报格式

HTTP的数据报格式

根据需求确定需要传输什么信息约定好信息组织的格式行文本,冗余度高,可读性高,消耗带宽最多Xml:可读性也高,冗余度也高,消耗带宽多Json:可读性高,冗余度适中,消耗带宽中(最主流的写法)Protobuf:可读性低,冗余度低,消耗带宽低浏览器允许网页在本地硬盘存储数据的一种机制,不让网页代码直接访问文件,而是浏览器的cookie提供了键值对的存储机制。

时间:12/16/2025

Java网络聊天室OverThinker-ChatRoom

Java网络聊天室OverThinker-ChatRoom

该项目是基于SpringBoot+WebSocket的轻量级实时聊天室,采用前后端分离架构,支持用户登录、好友管理、一对一私聊与消息持久化,后端以MyBatis操作MySQL,前端用HTML/CSS/JS+jQuery实现。项目已部署上线,当前需手动维护好友关系,未来可扩展群聊、多媒体消息等功能,是实时通信类应用的基础实践案例。

时间:12/16/2025

java集合在并发环境下应用时的注意事项

java集合在并发环境下应用时的注意事项

Java集合在并发环境下应用时的注意事项

时间:12/16/2025

海康和大华厂商的RTSP取流地址格式进行拉流直播

海康和大华厂商的RTSP取流地址格式进行拉流直播

海康和大华厂商的RTSP取流地址格式进行拉流直播

时间:12/16/2025

上一页
12345...180
下一页第 3 / 180 页