- 博客(223)
- 收藏
- 关注
原创 Python 在 Jenkins Pipeline 中的使用总结
本文总结了在 Jenkins Pipeline 中使用 Python 脚本的多种方法,主要内容包括: Python 脚本执行方式 、 Pipeline 与 Python 数据交互、文件处理示例
2026-05-31 12:44:35
334
原创 FastAPI 框架 - 部署与实战
本文介绍了FastAPI在生产环境中的部署方案和测试方法。部署方面,详细讲解了使用Uvicorn和Gunicorn作为ASGI服务器、Docker容器化部署、Nginx反向代理配置以及HTTPS安全设置。测试部分则涵盖了同步测试(TestClient)、异步测试(AsyncClient)的实现方式,包括单元测试和集成测试的最佳实践。文中提供了完整的代码示例,如Dockerfile、Nginx配置、pytest测试用例等,帮助开发者快速搭建高效可靠的FastAPI生产环境和测试体系。
2026-05-30 16:06:58
247
原创 FastAPI 基础入门
FastAPI是一个高性能的Python Web框架,基于Starlette和Uvicorn,支持异步处理和自动文档生成。
2026-05-30 12:29:09
172
原创 数据库操作
本文介绍了Python操作MySQL和PostgreSQL数据库的基础知识,包括连接配置、增删改查操作和事务管理。主要内容有: 数据库连接:使用pymysql连接MySQL和psycopg2连接PostgreSQL,包括连接参数配置和自动管理连接的最佳实践。 增删改操作:详细说明INSERT、UPDATE、DELETE语句的使用方法,包括单条操作、批量操作和获取受影响行数。
2026-05-24 23:55:14
434
原创 Jenkins Master 停机与备份
│ 停机与备份的重要性: ││ ││ 场景1:系统升级/插件更新 → 需要安全停机 ││ 场景2:硬件故障/系统崩溃 → 需要快速恢复 ││ 场景3:数据误操作/配置错误 → 需要回滚到之前状态 ││ 场景4:灾难恢复 → 需要完整的备份和恢复流程 ││ 场景5:环境迁移 → 需要完整的配置和数据迁移 ││ ││ ⚠️ 核心原则: ││ ├── 停机前必须确保构建任务安全完成或可恢复 ││ └── 备份必须包含所有关键数据和配置 ││ ││ 流量切换核心要点 ││ │。
2026-04-25 14:02:18
585
原创 windows系统运维
*【诊断】查找哪个进程占用了文件/文件夹】:系统自带,无需安装,图形界面,专业级监控。:超详细实时监控,漂亮Dashboard。:零依赖,几行代码,灵活自定义。:系统自带,实时显示,界面友好。:跨平台,界面漂亮,Web界面。:工业标准,可扩展,多机器。
2026-04-25 11:59:39
380
原创 Ubuntu系统运维
这篇文章系统整理了Linux运维常用命令手册,涵盖14个核心管理领域。主要内容包括:系统信息查看(硬件、网络、软件)、用户权限管理(用户/组操作、sudo配置)、软件包管理(APT/DPKG/Snap)、服务管理(systemctl操作、日志查看)等基础运维操作。每个部分都提供了实用的命令行示例,如查看CPU信息的lscpu、管理用户的useradd/usermod、软件安装的apt install以及服务控制的systemctl命令等。
2026-04-25 11:21:23
440
原创 python操作数据库
摘要:本文介绍了Python连接MySQL和PostgreSQL数据库的基础操作,包括使用pymysql和psycopg2驱动建立连接,以及增删改查(CRUD)操作的具体实现。主要内容涵盖:数据库连接参数配置、INSERT插入数据、UPDATE更新数据、DELETE删除数据、事务回滚机制,以及SELECT查询操作的各种方法(fetchone/fetchall/fetchmany)和条件查询(WHERE、AND/OR、LIKE等)。
2026-04-11 12:49:02
433
原创 异步编程与网络基础
本文介绍了Python中的同步与异步编程概念及其实现方式。同步编程按顺序执行代码,简单但效率低;异步编程通过回调、事件或协程机制实现高效并发。对比了阻塞与非阻塞操作的区别,以及并发与并行的差异。重点讲解了asyncio框架的使用,包括事件循环、async/await语法、协程函数与普通函数的区别,以及可等待对象类型。在并发任务管理部分,详细介绍了gather、create_task、wait和as_completed等方法的使用场景和特点,并提供了控制并发数量的解决方案。
2026-04-11 11:35:30
413
原创 python常用标准库
本文介绍了Python中常用的标准库模块及其核心功能。os模块提供了操作系统接口,包括路径操作、文件属性管理和环境变量访问等功能。sys模块用于访问解释器参数,处理命令行参数、系统信息和标准输入输出流。pathlib模块以面向对象方式处理文件路径,比传统os.path更简洁直观。json模块实现了JSON数据与Python对象之间的转换,支持序列化和反序列化操作。这些模块是Python开发中处理文件系统、系统交互和数据交换的基础工具,掌握它们能显著提高开发效率。
2026-04-08 23:19:37
476
原创 面向对象和高级特性
本文介绍了Python面向对象编程(OOP)的核心概念和高级特性。主要内容包括: 类与对象基础:类作为对象的模板,实例化创建对象。重点讲解了self参数、类属性与实例属性的区别,以及__init__、__str__等魔法方法的使用。 继承与多态:通过单继承和多继承实现代码复用,介绍了super()函数和方法解析顺序(MRO),以及Python原生支持的多态特性。 封装机制:通过命名约定(_和__前缀)实现访问控制,保护对象内部细节。
2026-04-08 23:06:26
395
原创 python基础
本文介绍了Python基础入门知识,包括环境搭建、基础语法和控制流程。首先讲解了Python安装步骤和推荐IDE(PyCharm、VS Code、Thonny)。接着详细介绍了基础语法:注释方式、变量与数据类型(int、float、str、bool)、类型转换方法、各类运算符使用以及字符串和数字的常用操作。最后讲解了控制流程(if条件语句、for/while循环)和基本数据结构(列表的创建、索引、增删改查等操作)。内容全面覆盖Python编程基础,适合初学者快速入门。
2026-04-08 22:41:52
411
原创 Jenkins Shared Library 开发
Shared Library是Jenkins Pipeline的代码复用机制,允许您将常用的Pipeline逻辑抽取到独立的代码库中,供多个项目共享使用。│▼ ▼ ▼// 无参数方法// 单参数方法${name// vars/greet.groovy // 单参数方法 def call(String name) {" }// 多参数方法${type..."${testFlag。
2026-04-03 23:57:08
511
原创 jenkins的groovy语法
本文重点介绍了Groovy在Jenkins Pipeline中的核心用法,包括基本语法结构、agent节点配置、环境变量管理以及各种操作符和集合操作,为编写高效可靠的Jenkins Pipeline提供语法参考。
2026-04-03 23:24:15
496
原创 jenkins的slave节点管理
本文介绍了Jenkins Slave节点的管理方法,主要包括三种添加方式:通过Web界面添加静态Agent、通过命令行添加Agent以及通过脚本批量添加节点。文章提供了Windows和Linux系统下Slave节点的环境准备步骤,包括用户创建、工作目录设置和Java安装等。重点讲解了Web界面添加节点的详细配置参数说明和启动方法,并给出了将Agent配置为Windows服务的示例。此外,还介绍了使用Jenkins CLI和REST API批量添加节点的技术方案,为Jenkins集群管理提供了全面的操作指南
2026-04-03 22:49:55
558
原创 jenkins的安装—windows环境
本文提供了Jenkins 2.5在Windows生产环境的详细部署指南。内容包括系统环境要求(硬件、软件、权限)、部署前准备(检查清单、网络规划、安全准备)、安装步骤(MSI和WAR两种方式)、初始配置流程、生产环境优化配置(JVM参数、执行器、安全设置)、插件管理策略以及备份方案。指南特别强调了安全配置、性能调优和备份策略,适用于系统管理员和DevOps工程师快速搭建稳定的Jenkins持续集成环境。
2026-03-15 21:44:57
884
1
原创 jenkins的job分类以及配置详解
本文详细介绍了Jenkins中各种Job类型的配置方法,重点解析了Pipeline流水线配置。内容包括6种Job类型概述,以及流水线Job的详细配置选项:基本配置(描述、构建保留策略、并发控制)、构建触发器(远程触发、定时构建、SCM轮询)、流水线定义方式(脚本或SCM获取)、环境变量设置等。提供了Declarative Pipeline示例代码,展示参数定义、环境变量、构建阶段等关键元素。适合需要全面了解Jenkins Job配置的开发人员和DevOps工程师参考。
2026-03-15 21:40:21
570
原创 JDK11新特性
JDK 11作为长期支持版本,带来了多项提升开发效率和性能的新特性。语言与API方面,增强局部变量类型推断(var),新增字符串处理方法和标准化HTTP Client API。性能优化引入ZGC低延迟垃圾收集器和Epsilon无操作收集器。工具方面开源了Flight Recorder诊断工具,并支持直接运行单文件程序。代码示例展示了var注解、字符串增强、HTTP客户端等实用功能。这些改进使Java开发更高效,运行时性能更优,特别适合生产环境应用。
2026-01-19 14:48:02
546
原创 JDK8新特性
摘要:JDK 8是Java的重大更新版本,引入了多项革命性特性。核心改进包括:Lambda表达式和方法引用简化了函数式编程;Stream API提供了声明式集合处理能力;Optional类优化了空值处理;全新的java.time包解决了日期时间处理难题;接口支持默认方法和静态方法,增强了扩展性。此外还提供了CompletableFuture异步编程工具以及重复注解、类型注解等元数据增强功能。这些特性显著提升了Java的开发效率和代码质量,使Java能够更好地适应现代编程需求。(149字)
2026-01-19 14:32:58
716
原创 JVM内存问题排查
本文介绍了Java进程内存泄漏的排查方法:首先通过ps或jps命令定位高内存进程,再使用jstat监控GC和堆内存情况。若发现老年代内存持续增长,则用jmap生成堆转储文件,并用MAT工具分析泄漏点。还推荐了生产环境监控方案(Prometheus+JMX Exporter)和必要的JVM参数配置。最后总结了一个快速决策流程图,帮助系统化排查内存问题。
2026-01-19 14:08:00
649
原创 mybatis源码分析总结
MyBatis 通过动态代理实现 SQL 与 Java 代码解耦,其核心流程包括:Mapper 接口调用→动态代理→SQL 解析→执行器处理→缓存检查→SQL 执行→结果映射。关键组件 Configuration 存储全局配置,Executor 负责 SQL 执行和缓存管理,StatementHandler 处理 JDBC 交互,ResultSetHandler 实现 ORM 映射。高级特性支持动态 SQL 和插件扩展,实践中需注意 SqlSession 生命周期管理、缓存合理使用及避免 N+1 查询问题。
2026-01-19 14:05:30
641
原创 多线程与微服务下的事务
摘要:SpringBoot多线程事务管理的核心挑战在于Spring事务上下文与线程绑定的特性,导致子线程无法继承主线程事务。常见问题包括数据不一致、异常处理脱节和连接资源耗尽。解决方案包括:1)最终一致性方案(本地事务表+异步处理);2)编程式事务管理;3)AOP手动同步事务状态;4)分布式事务框架(如Seata)。最佳实践建议合理配置线程池、明确事务传播行为、精细化异常处理。选择方案需权衡一致性、性能与复杂性,多数场景推荐最终一致性方案。
2026-01-12 17:48:17
447
原创 JDK21中的虚拟线程
摘要: JDK 21的虚拟线程通过轻量级M:N线程模型显著提升Java并发性能,尤其适合I/O密集型场景。相比传统线程,虚拟线程由JVM管理,资源开销低(初始栈内存仅数百字节),支持百万级并发,并保持同步编程风格。其核心机制是通过挂载/卸载实现非阻塞调度,当I/O阻塞时自动释放载体线程。Spring Boot 3.2+可通过spring.threads.virtual.enabled=true全局启用,或配置@Async使用虚拟线程执行器。注意事项包括避免synchronized(改用ReentrantLo
2026-01-12 17:12:38
506
原创 ThreadLocal的应用
摘要: ThreadLocal是Java实现线程数据隔离的关键工具,通过为每个线程维护独立的变量副本(存储在ThreadLocalMap中)避免多线程竞争。其核心方法包括set()、get()和remove(),采用弱引用Key(ThreadLocal实例)与强引用Value的设计,需警惕内存泄漏风险——尤其在线程池场景中,必须通过remove()主动清理。典型应用包括会话管理、事务上下文等需线程隔离数据的场景。最佳实践是结合try-finally确保资源释放。
2026-01-12 16:48:15
394
原创 Java线程池
Java线程池通过核心参数(如线程数、任务队列等)控制任务调度,采用"先核心、再排队、后扩容"的工作流程,并利用Worker机制实现线程复用。建议手动创建线程池并合理配置参数:CPU密集型任务线程数≈CPU核数+1,I/O密集型可适当增加。线程池提供多种任务提交方式,包括不关心结果的execute()和可获取结果的submit(),以及批量处理的invokeAll()/invokeAny()。合理使用线程池能显著提升系统性能和稳定性。
2026-01-12 16:15:24
398
原创 Java多线程
Java多线程开发摘要:Java提供多种线程创建方式,包括继承Thread类、实现Runnable/Callable接口及Executor框架(推荐)。线程生命周期包含NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING和TERMINATED六种状态,各状态通过特定方法相互转换。Executor框架提供多种线程池类型(Fixed/Cached/Scheduled等)简化线程管理。注意不同状态下锁的释放机制差异,如wait()会释放锁而sleep()不会。合理选择线程创建方式和
2026-01-12 15:26:17
628
原创 Java中的锁
Java锁机制是并发编程的核心,用于协调多线程访问共享资源。死锁发生的四个必要条件是:互斥、持有并等待、不可剥夺和循环等待。解决死锁的策略包括:统一锁顺序、使用定时锁、避免嵌套锁定、死锁检测和使用高级并发工具。Java提供了多种锁类型,如悲观锁、乐观锁、独占锁、共享锁等,各有适用场景。synchronized是内置锁,具有锁升级机制(偏向锁→轻量级锁→重量级锁),而ReentrantLock等显式锁提供更灵活的锁操作。合理使用锁机制能有效避免死锁并提升并发性能。
2026-01-12 14:59:31
631
原创 Java并发编程介绍
本文系统梳理了Java并发编程知识体系,从基础概念到高级技术进行全面解析。核心内容包括:1)线程创建与管理的三种方式;2)同步机制(synchronized、Lock、volatile);3)并发工具类(线程池、并发集合、同步辅助类);4)线程通信机制。文章重点对比了CAS、AQS等核心技术的特点与应用场景,并给出技术选型建议。同时介绍了异步编程、协程等前沿发展方向,强调优先使用高层并发工具、创建不可变对象等最佳实践。全文采用表格形式清晰呈现知识结构,适合开发者系统掌握并发编程要点。
2026-01-12 14:28:05
774
原创 java的队列
本文系统介绍了Java中各类队列的特性及适用场景。通过对比表格详细分析了基础队列、优先级队列、阻塞队列、高并发队列和延迟队列的核心实现类、边界性、线程安全性及典型应用场景。重点讲解了队列API的四种操作类型(抛出异常/返回特殊值/阻塞等待/超时等待)及生产者-消费者模式的实现方式。提供了队列选型的关键考量因素:多线程需求、阻塞特性、容量限制、优先级处理等,并指出了无界队列的内存风险和非线程安全队列的使用限制。最后给出了基于不同场景的队列选择决策路径,帮助开发者做出合理的技术选型。
2026-01-12 14:18:23
646
原创 ConcurrentHashMap源码分析
ConcurrentHashMap是Java并发包中的高效线程安全哈希表实现。JDK 1.8版本通过低粒度锁(synchronized锁单个桶头节点)和CAS操作优化并发性能,取代了1.7的分段锁机制。其核心数据结构采用"数组+链表+红黑树",通过sizeCtl变量控制初始化与扩容状态。put操作结合CAS无锁插入和synchronized冲突处理,支持多线程协助扩容;get操作完全无锁,依赖volatile保证可见性。特性包括弱一致性迭代器、禁止null值、近似size统计,适用于高并
2026-01-12 14:03:36
693
原创 CopyOnWriteArrayList源码分析
CopyOnWriteArrayList是Java并发包中基于写时复制(Copy-On-Write)机制的线程安全List实现,适合读多写少场景。其核心设计采用读写分离:写操作通过加锁复制新数组进行修改后更新引用,保证原子性;读操作直接访问原数组,无锁且高效。关键成员包括volatile修饰的数组和同步锁。写操作需复制整个数组,性能较低;读操作O(1)复杂度但存在弱一致性,迭代器基于创建时的快照。适用于缓存、监听器等读多写少场景,不适用于写频繁或强一致性要求的场景。
2026-01-12 13:02:54
875
原创 服务保护Resilience4j
Resilience4j是一个轻量级Java容错库,为微服务提供断路器、重试、限流等核心组件。通过简单注解即可实现:1)断路器监控失败率并快速失败;2)自动重试临时故障;3)限流控制请求速率;4)隔离资源避免耗尽;5)限制执行时间。集成Spring Boot只需添加依赖、配置和注解三步,支持组合使用多个容错策略,并提供降级方法处理异常。该库特别适合处理外部服务不稳定、网络抖动和高并发场景,能有效提升系统弹性。
2026-01-09 17:54:47
736
原创 微服务保护
微服务保护的核心策略包括服务限流、熔断降级和线程隔离。服务限流通过令牌桶等算法控制请求速率;熔断降级利用断路器机制在服务异常时快速失败并执行降级逻辑;线程隔离采用舱壁模式防止故障扩散。主流组件中,Sentinel功能全面且性能优异,支持动态配置和实时监控,是新项目首选;Hystrix已进入维护阶段;Resilience4j适合轻量级应用。实践中建议优先为核心接口配置限流,并对依赖服务设置熔断降级策略,以保障系统稳定性。
2026-01-09 17:45:59
633
原创 远程调用组件openfeign
OpenFeign是Spring Cloud生态中的声明式HTTP客户端工具,通过接口和注解简化微服务间调用。它基于动态代理实现,支持负载均衡、服务发现和熔断降级等核心功能。使用时需定义FeignClient接口并标注@FeignClient注解,通过@EnableFeignClients启用功能。提供超时控制、请求拦截器、日志分级等配置选项,建议使用连接池优化性能。注意参数绑定、版本兼容性及超时熔断配置问题,默认支持轮询负载均衡。服务名称规范要求不含下划线,调用方与服务方接口定义需保持一致。
2026-01-09 17:26:21
650
原创 nacos原理
Nacos作为微服务架构核心组件,其2.x版本在架构设计和服务发现机制上有显著改进。核心设计采用模块化与插件化思路,支持CAP模型自适应,服务发现默认AP架构而配置管理采用CP架构。服务注册通过HTTP/gRPC实现,基于gRPC长连接实现变更推送,显著降低延迟。配置管理采用长轮询机制,保证实时性。集群高可用依赖Raft算法和自研Distro协议,分别处理强一致性和弱一致性场景。Nacos通过事件驱动模型实现组件解耦,提供高效的服务注册发现和配置管理能力。
2026-01-09 15:49:54
839
原创 注册中心-nacos
摘要:Nacos是一个分布式服务注册与发现/配置中心框架。本文介绍了Nacos的安装配置(Windows单机模式修改方法)和基本使用,包括服务注册、服务发现和RPC调用实现。重点演示了通过DiscoveryClient获取服务实例、使用RestTemplate进行远程调用,并实现本地负载均衡轮询算法。文章包含完整的代码示例和配置说明,适合开发者快速上手Nacos的基本功能。
2026-01-09 15:24:38
308
原创 MySQL的窗口函数
MySQL 8.0窗口函数指南摘要: MySQL 8.0引入的窗口函数通过OVER()子句实现,在不折叠行数的情况下对数据子集进行计算。核心语法包含PARTITION BY分组、ORDER BY排序和窗口框架定义。主要函数类型包括:排序函数(ROW_NUMBER/RANK)、偏移函数(LAG/LEAD)、首尾值函数(FIRST_VALUE)和聚合函数窗口化使用。性能优化关键在于先过滤后计算、为分区排序键创建索引、精确控制窗口范围。典型应用场景包括排名计算、增长率分析和累计求和等。官方文档提供了详细说明和示例
2026-01-09 14:59:03
773
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅