- 博客(18)
- 问答 (1)
- 收藏
- 关注
原创 简单部署Jenkins并且自动从Git拉取代码自动部署到Nginx
本文详细介绍了Jenkins的安装部署与自动化构建流程。主要内容包括:1) Jenkins RPM包安装与字体配置;2) 修改JDK版本为21并启动服务;3) 通过8080端口访问并完成初始化配置;4) 安装Git插件及服务器端Git环境;5) 配置SSH密钥实现私有仓库访问;6) 安装Node.js环境并配置构建Vue项目;7) 设置Gitee Webhook实现代码提交自动触发构建。最后通过Nginx部署验证了完整的CI/CD流程,实现了代码提交到部署的全自动化。
2025-12-23 20:51:33
770
原创 设计模式原理
本文总结了面向对象设计的五个基本原则:1)里氏代换原则强调通过抽象类或接口实现子类替换;2)依赖倒置原则要求使用抽象类型进行耦合;3)接口隔离原则提倡按需拆分接口;4)合成/聚合复用原则区分;5)迪米特法则要求对象间解耦,仅与"朋友"对象交互。这些原则共同指导如何构建高内聚、低耦合的系统,其中里氏代换是依赖倒置的基础,而正确区分对象关系是避免误用继承的关键。
2025-12-08 19:20:13
280
原创 深入理解 ThreadLocal:从设计原理到源码剖析
本文深入解析ThreadLocal的设计原理与实现机制。ThreadLocal通过线程隔离实现变量安全访问,核心在于每个线程持有独立的ThreadLocalMap容器,采用数组存储键值对。关键设计包括:弱引用Entry避免内存泄漏、斐波那契哈希优化分布、线性探测法解决冲突。通过分析set()/get()源码流程,揭示了线程本地变量的存储和查找机制。ThreadLocal以"空间换时间"实现线程安全,适用于线程上下文管理,但需注意及时清理,避免线程复用导致的内存泄漏问题。
2025-10-19 11:18:18
519
原创 Armbian修改固定ip
看一下/etc/netplan/ 是否有00-default-use-network-manager.yaml这个文件。
2025-08-16 11:29:10
959
原创 armbain安装syncthingV1版本(跟我做没问题)
浏览器访问服务器ip:8384即可进行该访问页面的GUI密码设置。得到一个解压后的目录,进行重命名为syncthing(可选)拷贝syncthing二进制文件到/usr/bin。修改127.0.0.1为0.0.0.0,然后保存。进入syncthing目录。再次启动syncthing。
2025-08-15 12:09:53
710
原创 Mysql核心问题(完结)
索引就是一个能够帮助Mysql高效查询的数据结构;索引能够降低数据的IO成本;索引是有序的,所有能够简单数据的排序成本。MVCC是让一个数据有多个版本,并且让读写都没有冲突;它的实现依赖三个东西:隐藏字段、undo log、readView;隐藏字段是在数据库表中的字段,为trx_id当前数据的最后一次被修改的事务ID,它是自增的,roll_pointer是指向上一个修改这个数据的事务版本地址;是一个数据版本控制日志。
2025-07-23 10:08:01
906
原创 Redis核心相关问题(完结)
缓存穿透是前端请求了一个数据库和缓存都不存在的数据,导致对数据库造成压力;缓存击穿是某一个热点key过期了,此时大量的请求直接请求数据库,对数据库造成巨大压力。当大量设置了同一个过期时间的热点key过期的时候,大量请求请求到数据库,对数据库造成了巨大压力,导致数据库宕机。当修改了数据库的数据,要更新缓存的数据。就是保持缓存的数据和数据库的数据一致。
2025-07-20 14:49:08
924
原创 ISO/IEC 25010:2023 软件质量模型
ISO/IEC25010:2023是当前最权威的软件质量评估标准,其最新版本对质量模型进行了重大调整,新增了关键特性并重新定义子特性。新版模型将软件质量划分为9个主要特性,包括功能适用性、性能效率、兼容性、交互能力、可靠性、安全性、可维护性、灵活性和新增的无害性。每个特性进一步细化为子特性,形成多层次的评估体系。新增的无害性特性针对医疗、工业自动化等高危领域,确保系统失效时进入安全模式。此外,交互能力和灵活性特性也进行了调整,强调包容性和环境适应能力。新版模型通过细化特性与子特性,为现代软件提供了动态评估框
2025-05-12 14:33:29
2825
原创 Java8新增Stream类(Stream流的各种常见用法)
stream流操作是Java 8提供一个重要新特性,它允许开发人员以声明性方式处理集合,其核心类库主要改进了对集合类的 API和新增Stream操作。Stream类中每一个方法都对应集合上的一种操作。将真正的函数式编程引入到Java中,让代码更加简洁,极大地简化了集合的处理操作,提高了开发的效率和生产力。本文详细介绍了Stream流的各种用法
2025-01-10 00:49:57
928
空空如也
C++中的copy()函数参数中的迭代器。
2023-07-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅