自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Docker 数据持久化完全指南:四种挂载方式详解与实战

挂载类型管理方式持久化可见性适用场景绑定挂载​用户管理是宿主机可见配置文件、开发环境命名卷挂载​Docker 管理是Docker 管理数据库数据、生产环境匿名卷挂载​Docker 自动临时隐藏缓存、临时数据目录挂载​用户管理是宿主机可见日志、共享数据。

2025-11-24 13:46:10 542

原创 从 Spring Boot 3 升级到 4:完整迁移指南

检查环境:JDK 版本、当前 Spring Boot 版本备份代码:用 Git 创建分支,或者备份文件升级依赖:更新 Spring Boot 版本,检查第三方依赖修改代码:替换废弃的 API,迁移配置属性测试验证:编译、启动、功能测试优化配置:启用虚拟线程,使用原生镜像等升级这事儿得慢慢来,别着急;遇到问题就查文档,或者看看日志提示。升级完了,性能提升还是挺明显的,特别是虚拟线程和原生镜像这两个特性,值得一试。反正鹏磊觉得这升级还是挺值的。好了,今天就聊到这;

2025-11-24 13:45:21 531

原创 2026年Java高频面试题汇总(附答案)

本文是一套全面的Java面试文档,涵盖Java基础、JVM、多线程、Spring框架、数据库、分布式等核心技术点。主要内容包括: Java基础:数据类型、面向对象特性、自动装箱拆箱等核心概念 JVM原理:内存模型、类加载机制、垃圾回收算法(G1/ZGC) 多线程并发:线程安全、锁机制、并发编程实践 主流框架:Spring、MyBatis、SpringBoot等框架核心原理 数据库与中间件:MySQL、Redis、MQ等关键技术 分布式系统:SpringCloud、Dubbo等分布式解决方案 文档包含理论解析

2025-11-24 13:44:23 759

原创 聊聊动态数据源

动态数据源是一个强大的技术方案,能够很好地解决多数据源管理的复杂性。核心原理:基于和的上下文管理实现方式:注解+AOP的声明式数据源切换高级特性:读写分离、多租户、健康监控等生产级功能适用场景:多租户、读写分离、分库分表等复杂数据架构在实际项目中,建议根据具体业务需求选择合适的实现方案,不要过度设计。同时,要建立完善的监控和运维体系,确保动态数据源的稳定运行。

2025-11-23 13:53:42 468

原创 PandaCoder 的解构与新生:为中文开发者造一束专注的光

更令人深思的是,在开源世界的开放与共享之外,我也遭遇了意料之外的寒流——一些恶意评论、无端指责,甚至对动机的揣测。”这句话曾被简化为一句创业口号,但我越来越体会到它的深意——它是一种承诺:将你独特的洞察、反复打磨的技艺,与对用户深沉的责任感,封装成一个可持续、可复制、能持续创造价值的产品。因为我知道,真正改变编程体验的,往往不是宏大的框架,而是那些在关键时刻“刚刚好”的微小工具。写下这两句话时,“深圳的雨”刚刚停歇,窗外的空气湿润而清冽,像极了我此刻的心情——平静中带着决断。我知道,这或许会让一些人遗憾。

2025-11-23 13:51:51 559

原创 Java面试-高级篇

本文摘要介绍了Java核心技术中的关键概念,包括内存管理、多线程、异常处理等。主要内容涵盖:1)Java内存分区(堆/栈)及垃圾收集机制(标记清除/复制算法);2)四种引用类型(强/软/弱/虚引用)的特点;3)多线程实现方式(Thread/Runnable/Callable)及同步机制(synchronized/Lock);4)死锁条件与预防策略;5)并发集合与同步集合的区别;6)volatile关键字保证可见性和有序性;7)线程池的优化作用;8)异常处理机制及finally块的作用;9)反射API的动态特

2025-11-23 13:47:11 813

原创 @SpringBootApplication 注解(Spring Boot 自动配置)详解

Class<?Class<?Class<?

2025-11-21 13:34:19 690

原创 Bun技术评估 - 30 SSE支持

本文探讨了在Bun中,实现HTTP的SSE特性的相关内容。文中展示了完整的在Bun支持SSE应用的示例代码,包括了服务端的配置和客户端的处理。读者应该可以感受到其实现的简洁和方便。SSE本质上而言,就是一个HTTP协议的扩展应用,所以理论上,任何完整实现HTTP协议的技术和框架,都可以改进成为支持SSE。其实,理解了以上技术内核,在Bun中,实现SSE是非常简单的。下面就是笔者编写的示例代码,可以单文件执行和测试。

2025-11-21 13:33:01 288

原创 java高频面试题(2026最新)

本文总结了Java核心知识点,包括基础语法、集合框架、多线程、JVM和锁机制等。重点介绍了Java的三大特性(封装、继承、多态)、集合类区别、HashMap原理、线程池使用、JVM内存模型及垃圾回收机制,以及各种锁的实现原理和应用场景。文章还对比了常见概念如重载与重写、==与equals、get与post请求等,并提供了详细的面试问题解答。最后讲解了JVM调优和并发编程相关内容,为Java开发者提供了全面的技术参考。

2025-11-21 13:31:25 951

原创 深入浅出理解你的“数据”

理解数据的不同类型和描述数据的方法,是我们进行后续所有分析工作的基础。就像学画画要先认识颜料和画笔,我们也要先“看懂”手里的数据。数据分析的第一步永远是理解你的数据。只有对数据有了充分的认识,才能选择适当的分析方法,得出可靠的结论。

2025-11-20 14:21:42 887

原创 Java序列化漏洞:RCE 远程执行代码-Serializable

特性所在包类型标记接口(Marker Interface)(无方法)功能性接口(需实现和继承关系是的子接口。

2025-11-20 14:17:59 324

原创 Java高级面试题及答案

本文摘要: Java集合框架对比:ArrayList基于动态数组,查询快增删慢;LinkedList基于链表,增删快查询慢。Vector线程安全但性能低,HashSet无序高效,TreeSet有序但性能较低。JVM内存分为虚拟机栈、堆、方法区等5部分。引用类型包括强引用、软引用和弱引用。线程池可提高响应速度、节省资源。锁机制有悲观锁和乐观锁两种实现方式,死锁需通过加锁顺序、时限等策略避免。SpringMVC核心是控制反转,请求流程包括前端控制器分发、业务处理等步骤。BIO/NIO/AIO分别对应同步阻塞/非

2025-11-20 14:11:16 1194

原创 大数据-157 Apache Kylin 全面指南:MOLAP 架构、Hive/Kafka 实战与实时 OLAP 落地

在线查询离线构建在线查询模式主要处于上半部分,离线构建处于下半部分。数据源主要是Hadoop Hive,数据以关系表的形式输入,保存着待分析的数据,根据元数据的定义,构建引擎从数据源抽取数据,并构建CubeKylin可以使用MapReduce或Spark作为构建引擎,构建后的Cube保存在右侧的存储引擎中,一般选用HBase作为存储完成了离线的构建后,用户可以从查询系统发送SQL进行查询分析Kylin提供了各种RestAPI,JDBC、ODBC接口。

2025-11-19 13:27:04 869

原创 py数据科学学习笔记day4-空间数据统计分析与可视化(2)

基础绘制读数据 →plot()绘地图 →show()展示;布局优化:用subplots()定义尺寸 →columncmap分类着色 → 添加标题、图例、指北针;保存输出savefig()按格式保存,通过dpi和控制质量。

2025-11-19 13:26:21 859

原创 2026年Java面试-高级篇

Java核心面试要点摘要 本文涵盖Java核心面试知识点,主要包括: 内存管理:堆内存存储对象,栈内存存储基本类型和引用,垃圾收集通过标记清除、复制等算法自动回收内存。 线程机制:实现多线程的三种方式(继承Thread、实现Runnable/Callable),同步机制包括synchronized、Lock、volatile等,线程池优化资源管理。 并发编程: 锁机制对比:ReentrantLock提供更灵活的控制,synchronized是内置关键字。 并发集合(如ConcurrentHashMap)相比

2025-11-19 13:24:46 1248

原创 Golang HTTP请求超时与重试:构建高可靠网络请求|得物技术

HTTP请求看似简单,但它连接着整个系统的"血管"。忽视超时和重试,就像在血管上留了个缺口——平时没事,压力一来就大出血。构建高可靠的网络请求需要在超时控制、重试策略、幂等性保证和性能优化之间取得平衡。

2025-11-18 13:57:22 392

原创 基于Linux平台的openGauss一主两备高可用集群部署与运维实践研究

本文基于 openGauss 数据库,介绍在 Linux 环境下从安装配置到集群部署的完整流程,涵盖节点规划、环境准备、脚本执行与状态验证等关键步骤。通过本篇实战指南,你将掌握如何快速构建稳定高效的 openGauss 高可用集群体系,为企业级应用提供坚实的数据保障。

2025-11-18 13:54:49 418

原创 Java中高级面试题部分答案解析

本文解析了Java中高级面试常见问题,主要包含以下几方面内容: 集合框架比较: ArrayList与LinkedList在查询和增删操作上的性能差异 Vector与ArrayList的线程安全性和扩容机制对比 HashSet与TreeSet的数据结构和适用场景 多线程相关: ConcurrentHashMap的分段锁机制 wait()和sleep()的区别 线程池的优势及实现原理 JVM内存结构: 五大内存区域(堆、栈、方法区等)的功能特点 强引用、软引用和弱引用的区别 网络相关: HTTP与HTTPS协议

2025-11-18 13:51:38 1662

原创 Canal ES Adapter pkVal 为 null 问题解决方案

问题:UPDATE 操作时pkVal为null,导致原因:单表查询没有表别名,导致owner为null,所有字段被跳过解决:在 SQL 配置中给表添加别名,确保owner不为null最佳实践:Canal ES Adapter 的 SQL 配置中,即使是单表查询,也建议使用表别名,避免类似问题。

2025-11-17 14:12:06 515

原创 Kratos 下使用 Protobuf FieldMask 完全指南

Protobuf 的FieldMask(定义在中)是一种「字段选择器」,本质是一个字符串列表,用于明确指定「需要返回 / 更新的字段」。其核心价值体现在四方面:​价值维度具体收益计算成本优化避免非必要字段的计算(如关联查询、复杂序列化、加密解密)网络传输优化减少响应包体积,跨服务 / 跨地域调用场景下收益尤为明显依赖链解耦无需为冗余字段依赖下游服务(如 A 服务无需依赖 B 服务的非核心字段逻辑)接口灵活性提升调用方自主选择所需字段,服务端无需频繁变更接口(减少版本迭代成本)

2025-11-17 14:11:34 332

原创 【2026最新Java面试宝典】—— SpringBoot面试题(44道含答案)

SpringBoot是简化Spring应用开发的框架,通过自动配置和Starter依赖显著降低开发复杂度。核心特性包括:1)内嵌服务器,无需外部容器;2)Starter机制自动管理依赖;3)@SpringBootApplication组合注解实现自动配置;4)支持多环境配置切换。其优势在于快速开发、配置简单,但也存在报错定位困难等不足。相比传统Spring,SpringBoot通过约定优于配置、自动装配等设计大幅提升开发效率,与SpringCloud形成互补(基础框架vs微服务套件)。典型应用场景包括RES

2025-11-17 14:04:57 223

原创 最难回答的Java面试题(附答案)

Java核心面试难题解析 Wait/Notify机制:为什么在Object类而非Thread类中声明? 因为wait/notify是线程间通信机制,需基于对象锁实现 每个对象都有监视器锁,需确保所有对象都能支持线程通信 遵循Hoare监视器模型的设计理念 Java不支持多重继承的原因: 避免"钻石问题"带来的方法调用歧义 简化设计,提高可维护性 通过接口实现类似功能 String不可变性的设计考量: 安全性:防止参数值被修改 线程安全:天然支持多线程共享 缓存哈希值,提高HashMap性

2025-11-17 14:00:11 741

原创 【穿越Effective C++】条款19:设计class犹如设计type——用户定义类型的艺术与科学

将每个class设计视为语言扩展的机会。培养"语言设计者思维"——在设计每个class时都思考:"这个类型应该怎样融入C++类型系统?它的行为应该像内置类型吗?" 这种思维方式是构建优秀C++代码库的关键。条款19教会我们的不仅是一组技术规则,更是面向对象设计哲学在C++中的具体体现。

2025-11-14 16:49:59 378

原创 提升 Python 性能的 10 个智能技巧

掌握这些 Python 性能优化技巧,可以显著提升你的代码执行效率,特别是在处理大量数据或需要高性能计算时。通过了解和运用 Python 内置功能和高效的数据结构,不仅能提升运行速度,还能优化代码的可读性和可维护性。

2025-11-14 16:49:27 477

原创 java开发面试题(100个常问面试题含答案,亲测有效)

本文整理了Java开发相关的重要知识点,涵盖了数据库操作、集合框架、多线程、JVM、Spring框架等核心内容。主要包括:JDBC连接配置、四种对象创建方式、接口与抽象类区别、String类比较、集合框架的线程安全性分析、多线程实现与同步机制、SQL优化与索引原理、事务特性与并发问题、TCP/UDP协议区别、Spring的IOC/AOP原理、MyBatis框架特点等。这些知识点是Java开发工程师面试和工作中必须掌握的核心技术,涉及基础语法、并发编程、数据库优化、框架原理等多个维度,对提升开发能力和解决实际

2025-11-14 16:48:52 1056

原创 go项目适配DTM,gozero已经适配dtm了,goframe项目要怎么适配?

dtm与go-zero进行了深度合作,打造了go-zero原生支持分布式事务的解决方案,提供了极简的用户体验。dtm从v1.6.0开始原生支持go-zero微服务框架,go-zero的版本需要v1.2.4以上。为的是子事务屏障可以使用正确的上下文信息,子事务屏障如何使用呢?整个开发接入的过程很少,前面的注释已经很清晰,就不再赘述了。以下是gozero的示例,本质不就是维护了dtm配置。本教程到此为止,有什么不懂的请私信,有时间逐一解答。说白了就是让服务找到dtm的调用入口。当您在trans的日志中看到。

2025-11-13 14:04:56 319

原创 seata要支持Oracle批量插入的语法了吗?

Oracle 支持一种特殊的INSERT语法,可以在一条语句中向多个表插入数据,根据条件决定插入到哪个(或哪些)表。什么是INSERT ALL / FIRST?1.,它根据条件,将一条源数据插入到多个目标表中的“第一个满足条件”的表中(仅插入一次),从上到下依次判断WHEN条件一旦某个条件为真,就执行对应的INTO,然后跳过后续所有分支每行源数据最多只被插入一次(即使多个条件都满足),ELSE是可选的;如果没有ELSE且所有条件都不满足,则该行被丢弃。2.INSERT ALL和。

2025-11-13 14:03:53 615

原创 大数据-150 Apache Druid 单机部署实战:架构速览、启动清单与故障速修

数据按时间戳索引,有助于高效的时间范围查询。Apache Druid 是一个开源的、分布式的高性能实时分析数据库系统,专为快速聚合和查询大规模数据集而设计。这些组件协同工作,使得Druid能够实现亚秒级的查询响应时间,并支持高达每秒百万级事件的数据摄入能力。典型部署方案中,每个组件都可以独立扩展,以满足不同的性能和容量需求。MyBatis 已完结,Spring 已完结,Nginx已完结,Tomcat已完结,分布式服务正在更新!(这里注意,要关闭其他的服务,比如ZK什么的,不然会提示2181端口会占用)

2025-11-12 13:39:26 567

原创 服务器大量请求超时?从网络到代码的全链路排查指南

先看 “外层”:用 ping/telnet 排查网络,用负载均衡状态排查转发,排除基础链路问题;再查 “中层”:用 top/jstack 看应用服务资源与线程,用日志看具体错误,定位应用是否卡住;最后追 “依赖”:检查数据库 / Redis / 第三方接口,看是否依赖导致应用等待超时。关键原则:不要上来就重启服务(可能丢失日志),不要盲目修改配置(可能引入新问题),先定位根因,再动手解决。服务器大量请求超时不是 “绝症”,而是 “有迹可循的链路问题”。

2025-11-12 13:38:46 1018

原创 java初中级面试题集锦

本文总结了Java基础、多线程和集合相关的核心知识点: 基础部分: 运算符区别(&和&&) final关键字使用 静态变量与实例变量区别 equals和==的区别 泛型的作用与用法 多线程: 多线程的优势与局限 线程同步方法(synchronized、volatile等) sleep()与wait()区别 CountDownLatch、CyclicBarrier和Semaphore的使用场景 集合框架: ArrayList和LinkedList的底层实现 HashMap的哈希表实现原

2025-11-12 13:37:50 947

原创 得物TiDB升级实践

综上所述,在本次 TiDB 集群版本升级到 v7.5.x 版本过程中,实现了性能和稳定性提升。通过优化的查询计划和更高效的执行引擎,数据读取和写入速度显著提升,大幅度降低了响应延迟,提升了在高并发操作下的可靠性。通过直观的监控界面和更全面的性能分析工具,能够更快速地识别和解决潜在问题,降低 DBA 的工作负担。也为未来的业务扩展和系统稳定性提供了强有力的支持。后续依然会持续关注 TiDB 在 v8.5.x 版本稳定性、性能以及新产品特性带来应用开发以及运维人效收益进展。

2025-11-11 14:10:33 1098

原创 数据分析师的基本功总结

本文首先系统地拆解了数据分析的六大核心步骤:从明确目标采集数据,到数据清洗存储,再到核心的分析环节与最终的可视化呈现和决策支持,建立对完整流程有了直观认识。接着,总结了数据分析师必备的技能组合,强调了业务理解、SQL、Python等技术以及统计学理论基础的重要性,特别是推断性统计在数据驱动决策中的关键作用。总之,想要成为一名优秀的数据分析师,不仅需要掌握实用的工具和编程技能,更要培养严谨的分析思维和深入的业务洞察力。

2025-11-11 14:09:05 506

原创 Java基础(六:线程、线程同步,线程池)

线程池是一种基于池化思想管理线程的工具,通过预先创建一定数量的线程来处理任务,避免频繁创建和销毁线程带来的开销。‌核心员工(核心线程)‌:常驻3位厨师(),日常订单由他们处理。‌临时工(非核心线程)‌:高峰期新增2位兼职(),应对客流激增。‌候餐区(任务队列)‌:10个座位(),新顾客在此排队。‌拒绝策略(饱和策略)‌:‌抛异常‌:座位满时新顾客直接被告知"无法接待"(‌调用者做‌:经理亲自做汉堡(‌丢弃队列最旧‌:请走排队最久的顾客(‌直接拒绝‌:新顾客直接被拒(

2025-11-11 14:07:51 708

原创 JAVA面试题大全(2026年最全)

本文整理了Java核心技术面试题,涵盖多线程、锁机制、死锁预防、ThreadLocal、synchronized和volatile对比、乐观锁与悲观锁、反射、序列化、动态代理、对象克隆、JavaWeb基础(JSP/Servlet、Session/Cookie)、Spring框架原理、MyBatis与Hibernate区别、RabbitMQ/Kafka消息队列、MySQL索引与事务隔离等内容。重点解析了锁升级原理(无锁→偏向锁→轻量级锁→重量级锁)、CAS机制、分布式系统设计模式以及数据库优化策略,为Java

2025-11-11 14:00:16 1663

原创 Spring是Java语境下的“最优解”的原因与启示

这并非Spring本身不好,而是因为。评价Spring在非Java语境下的复杂性,需要跳出Java的世界观。

2025-11-10 13:56:31 651

原创 库存预扣减之后,用户订单超时之后补偿库存的方案

用户下单之后,生产者将设置好时间的消息发送给broker,等到规定的消息之后,该消息才对消费者可见,broker发送相应消息给消费者,消费者执行订单取消+库存补偿逻辑即可(消息重试机制保证消费者一定可以消费)在redis里面中,key可以设过期时间,这就给我们提供了一个思路:我们可以给预扣减的库存键设一个过期时间,使用redis的发布订阅机制来监听键过期事件,从而自动触发回增库存的逻辑。通过建立补偿库存表,业务和订单id作为唯一索引,每次补偿之前尝试是否可以插入该表,可以则补偿,反之则跳过。

2025-11-10 13:55:15 606

原创 java高频面试题(2025最新)

【Java核心面试知识点摘要】 Java集合框架: List有序可重复(ArrayList数组/查询快、LinkedList链表/增删快) Set无序不重复(HashSet哈希表、TreeSet红黑树) Map键值对(HashMap哈希表、ConcurrentHashMap分段锁) 多线程核心: 线程状态:新建-就绪-运行-阻塞-死亡 同步方式:synchronized(自动释放锁)、Lock(需手动释放) 线程池参数:核心/最大线程数、等待队列、拒绝策略 JVM关键点: 内存区域:堆(对象实例)、栈(局部

2025-11-10 13:46:49 1219

原创 如何解决Spring Boot与其他框架集成时的版本冲突问题?

问题:自定义框架的 Bean(如 ​​、​​)与 Spring Boot 自动配置的 Bean 重名或功能冲突,导致启动失败(如 ​​)。

2025-11-09 14:19:27 739

原创 从零搭建:json-server+Bootstrap+OpenAI 全栈 AI 小项目

后端:在project下的backend目录,用初始化,安装依赖,创建users.json模拟数据,在配置脚本启动 JSON 服务器。前端:基于Bootstrap布局,通过fetch获取后端users数据展示表格。表单提交问题,fetch向大模型服务请求并展示回答。大模型(LLM):在llm目录,pnpm安装openai和dotenv.env配置 API 密钥等。index.mjs创建 HTTP 服务器,接收前端请求,调用 OpenAI 模型生成回答并返回。

2025-11-09 14:16:44 1041

原创 Java最新面试题(全网最全、最细、附答案)

Java核心知识摘要: Java基础 特点:面向对象、跨平台、强类型、自动内存管理 数据类型:基本类型(int,boolean等)和引用类型(类、接口) 三大特性:封装、继承、多态 异常处理:try-catch-finally机制 常用关键字:final、static、this、super等 集合框架 核心接口:List、Set、Map 常用实现类:ArrayList、HashMap、HashSet 线程安全集合:Vector、HashTable、ConcurrentHashMap 并发编程 线程创建方式:

2025-11-09 14:14:56 485

空空如也

空空如也

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

TA关注的人

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