- 博客(64)
- 资源 (6)
- 收藏
- 关注
原创 linux 用户、用户组、权限概述
Linux系统通过用户和组管理文件访问权限,主要涉及用户账号(/etc/passwd)、密码(/etc/shadow)和组信息(/etc/group)。权限管理支持字符表示法(u/g/o/a配合+/-/=设置rwx权限)和数字表示法(r=4,w=2,x=1组合)。常用命令包括useradd添加用户、passwd修改密码、chmod修改权限(支持-R递归操作),通过文件类型标识(d/-)和权限位(user/group/other)实现精细的访问控制。
2025-08-26 09:35:17
471
原创 G1垃圾回收器
G1垃圾回收器通过将堆内存划分为多个大小相等的Region,实现对新生代和老年代的并发回收,并支持设置预期停顿时间(MaxGCPauseMillis)。它通过追踪每个Region的回收价值(垃圾对象比例、回收时间和回收量),在混合回收阶段动态选择目标Region,结合复制算法减少STW影响。G1允许新生代占比动态调整(默认5%-60%),并保留Eden/Survivor分区。当老年代占用达45%(InitiatingHeapOccupancyPercent)时触发混合回收,分多轮(默认8次)完成。若回收时R
2025-08-25 09:33:37
944
原创 CAS无锁操作实现相关
本文摘要: CAS底层原理基于内存值、预期值和更新值的比较交换机制。乐观锁采用版本号或CAS算法,悲观锁独占资源。ReentrantLock实现包括初次竞争和CLH队列竞争两个阶段,公平锁与非公平锁策略不同。AQS原理分为共享锁和排他锁,通过CLH队列管理线程,包含入队、检测挂起和出队机制。CLH队列采用FIFO原则,结合自旋与阻塞机制优化性能,通过前驱节点唤醒后继节点实现高效同步。
2025-08-25 09:32:15
534
原创 fastfds 数据迁移(自动扩容机器,数据同步)
本文介绍了FastDFS存储节点扩容和数据同步的详细步骤。主要内容包括:1)在新服务器(39.108.227.113)安装FastDFS并关联旧tracker服务(47.119.16.196);2)通过Docker配置storage服务,修改tracker_server参数;3)处理数据同步状态(WAIT_SYNC到ACTIVE)的转换过程;4)关键配置修改包括storage.conf文件、.data_init_flag隐藏文件中的IP地址变更;5)最终通过fdfs_monitor命令验证节点状态,并处理可
2025-08-24 09:00:00
525
原创 docker 部署安装分布式文件系统FastDFS
本文摘要:介绍了使用Docker部署FastDFS分布式文件系统的完整流程。包括:1)搜索并拉取season/fastdfs:1.2镜像;2)创建tracker和storage容器并挂载目录;3)配置client.conf文件;4)测试文件上传功能;5)配置Nginx实现文件访问,包括修改nginx.conf和创建nginx容器;6)最后通过curl测试文件访问。文中详细说明了每个步骤的命令操作和注意事项,如需要修改IP地址等配置参数。
2025-08-24 08:30:00
404
原创 nginx geoip 模块集成
本文详细介绍了在Nginx服务器上安装和配置GeoIP2模块的完整过程。主要内容包括:1) 创建必要的目录结构;2) 下载并安装libmaxminddb库;3) 获取GeoIP2的国家和城市数据库;4) 编译安装Nginx并集成GeoIP2模块;5) 配置nginx.conf文件实现地理位置功能;6) 设置日志格式记录访问者位置信息;7) 启动Nginx服务并测试功能。该配置可实现通过IP地址获取访问者国家、城市及经纬度信息,并支持自定义日志格式输出这些地理位置数据。
2025-08-23 08:30:00
313
原创 mysql8.0 基本命令
本文简要介绍了MySQL服务管理的关键操作:1)服务启停命令(systemctl);2)进程/端口查看方法(ps/netstat);3)重要文件路径(/var/lib/mysql等);4)密码修改流程;5)账号创建与授权(分版本说明);6)配置修改两种方式;7)MySQL5.7卸载命令。内容涵盖MySQL日常管理的基础操作要点,适合数据库管理员快速查阅使用。
2025-08-23 08:30:00
323
原创 unbuntu 20.04 docker 部署wordpress
本文介绍了Docker Compose配置WordPress环境的设置方法,主要包括:1)使用docker-compose.yaml文件定义MySQL和WordPress服务,配置数据库连接、端口映射等参数;2)修改WordPress域名时需更新wp_options表中的siteurl和home字段;3)解决首页显示127.0.0.1的问题,需在wp-config.php中添加HTTP_HOST设置;4)去除底部版权信息需修改footer.php文件,对于blossom-spa主题则需更改template-
2025-08-22 09:51:16
163
原创 RocketMQ相关问题整理
RocketMQ采用多节点集群部署,主从异步复制架构实现高可用。生产者支持同步/异步/单向三种发送方式,消息消费通过长轮询机制平衡实时性与性能。核心特性包括:顺序消息通过队列绑定保证有序性,事务消息采用两阶段提交,消费者负载均衡基于Rebalance机制动态分配队列。系统采用Reactor多线程模型处理网络I/O,结合业务线程池提升吞吐量。高可用措施涵盖主从切换、Offset持久化和自动重试机制,适合不同业务场景需求。
2025-08-22 09:33:36
756
原创 docker CD操作演示分享(第五期)
本文介绍了如何通过Jenkins实现持续交付和持续部署的流程。主要内容包括:1)持续交付和持续部署的概念区分;2)使用Docker Compose安装Jenkins的详细步骤;3)Jenkins初始配置流程,包括插件安装(Git、Publish Over SSH)、账户设置;4)配置Gitlab免密登录的方法;5)首次手动拉取Gitlab项目的操作说明。文章提供了从环境搭建到系统集成的完整技术实现方案,重点讲解了Jenkins与Gitlab、目标服务器之间的连接配置。
2025-08-21 09:45:48
373
原创 Mybatis-plus源码解读-自动装配与加载流程
本文分析了MyBatis-Plus的核心自动装配机制,重点介绍了MybatisPlusAutoConfiguration作为SpringBoot集成入口的关键作用。通过MybatisSqlSessionFactoryBuilder构建支持MyBatis-Plus特性的SqlSessionFactory,并详细解析了MybatisConfiguration、MybatisMapperRegistry等核心组件的扩展实现。文章还阐述了ISqlInjector接口及其实现类如何动态注入BaseMapper的CRU
2025-08-21 09:38:11
2029
原创 docker CI操作演示分享(第四期)
本文介绍了Java和Go项目的部署流程以及持续集成(CI)的实现方法。项目部署方面,Java项目通过Maven打包为war文件并部署到Tomcat容器,Go项目则编译为二进制文件后打包部署。两种项目都采用Docker容器化运行,通过Dockerfile构建镜像并由docker-compose管理。 持续集成部分详细说明了GitLab服务器的搭建过程,包括虚拟机配置、Docker安装、GitLab容器部署和端口修改等步骤。同时介绍了GitLab Runner的配置方法,包括目录创建、daemon.json配置
2025-08-20 13:53:48
540
原创 docker-compose 操作演示分享(第三期)
摘要: Docker-Compose通过yml文件简化容器管理,避免手动输入冗长参数。下载Docker-Compose 2.2.2版本后,需重命名文件、赋予执行权限并配置环境变量(如移至/usr/local/bin)。yml文件采用键值对格式编写,示例包含MySQL和Tomcat的配置(端口映射、数据卷等)。常用命令包括up -d启动容器、down删除容器、start/stop/restart管理容器状态。结合Dockerfile可构建自定义镜像(如Go应用),通过docker-compose up --b
2025-08-20 13:44:35
519
原创 docker 数据卷、自定义镜像操作演示分享(第二期)
本文介绍了Docker数据卷和自定义镜像创建方法。数据卷可实现宿主机与容器目录的映射,支持自动创建和管理(创建、查看、删除)。自定义镜像通过Dockerfile实现,关键指令包括FROM、COPY、WORKDIR和CMD,文中以Go Web应用为例展示了从构建环境到生成可执行文件的完整镜像创建流程,最后通过docker build和docker run命令完成镜像构建和运行。
2025-08-19 09:47:25
545
原创 docker 安装、镜像制作、容器基本操作演示分享(第一期)
本文详细介绍了在CentOS系统上安装和配置Docker的完整流程。主要内容包括:1)安装前的准备工作,如系统检查、环境配置和旧版本卸载;2)通过阿里云镜像源安装Docker CE社区版;3)启动服务和基本验证方法;4)Docker镜像管理,包括中央仓库使用、镜像拉取和导入导出;5)容器操作指南,涵盖运行、查看日志、进入容器等常用命令;6)实际应用示例,展示如何部署MySQL、Tomcat和Redis容器。文章还提供了国内镜像源配置建议,帮助解决官方仓库访问慢的问题。
2025-08-19 09:44:55
720
原创 redis相关问题整理
Redis集群提供了三种高可用模式:主从复制实现数据同步(全量/增量复制),通过复制偏移量和积压缓冲区确保一致性;哨兵模式在故障时自动选举新主节点(基于Raft算法);集群模式通过16384个哈希槽实现数据分片,支持动态扩缩容。集群采用Gossip协议通信,故障转移需半数以上主节点确认,从节点通过选举机制晋升。但网络分区可能导致脑裂问题,造成数据不一致。三种模式各具特点,主从复制简单,哨兵自动容灾,集群模式支持水平扩展,需根据业务场景选择。
2025-08-18 17:53:16
464
原创 RocketMQ 4.9.3源码解读-NameServer启动流程分析
RocketMQ 4.9.3版本源码解读1、NameServer组件服务启动流程分析2、服务注册与发现底层原理
2025-08-18 10:18:14
1522
原创 RocketMQ 4.9.3源码解读-Produce 生产者发送消息流程分析
RocketMQ 4.9.3源码解读-Produce生产者发送消息流程分析1、Produce客户端启动流程分析2、Produce生产者消息发送流程分析
2025-08-17 08:30:00
170
原创 Mybatis源码解读-Mapper接口底层处理源码
Myabtis 源码解读-Mapper接口底层处理源码1、Mapper接口底层设计类图2、Mapper 接口底层处理流程图3、Mapper 接口结合spring调用流程图4、Mapper 代理对象生成处理流程
2025-08-17 08:30:00
1558
原创 RocketMQ 5.3.1源码解读-Proxy组件启动流程分析
RocketMQ 5.3.1源码解读-Proxy组件启动流程分析1、Proxy组件启动流程2、Proxy gRPC 内部网络请求处理流程3、Proxy组件 ServiceManager 详解4、两种部署模式区别,Local模式和Cluster模式5、RocketMQ 4.x版本升级5.x版本
2025-08-16 08:45:00
1143
原创 RocketMQ 4.9.3源码解读-Broker组件启动流程
RocketMQ 4.9.3源码解读-Broker组件启动流程分析1、Broker组件网络通信结构2、Broker组件BrokerController元数据信息3、Broker组件启动流程分析
2025-08-16 08:30:00
659
原创 RocketMQ 5.3.1源码解读-Controller组件启动流程分析
RocketMQ 5.3.1 源码解读-Controller组件启动流程分析1、ControllerManager 模式下网络请求模型2、ControllerManager 启动流程分析3、DledgerServer 启动流程分析4、ControllerManager Broker 主备切换选举流程5、DLedgerServer Leader 选举过程流程
2025-08-15 09:39:01
1140
原创 RocketMQ 5.3.1 源码解读-NameServer组件启动流程分析
RocketMQ 5.3.1版本源码解读1、NameServer组件服务启动流程分析2、服务注册与发现底层原理3、RocketMQ 4.X和5.X 新旧版本服务注册与发现区别
2025-08-15 09:32:16
1069
原创 RocketMQ 4.9.3源码解读-客户端Consumer消费者组件启动流程分析
RocketMQ 4.9.3源码解读-客户端Consumer消费者组件研究1、消费者-客户端启动流程分析2、消费者拉取消息流程分析3、消费者负载均衡策略
2025-08-14 18:37:50
619
原创 RocketMQ 4.9.3源码解读-NameServer组件启动流程分析
RocketMQ 4.9.3版本源码解读1、NameServer组件服务启动流程分析2、服务注册与发现底层原理
2025-08-14 18:34:49
708
原创 Mybatis 源码解读-SqlSession 会话源码和Executor SQL操作执行器源码
mybatis源码解读-SqlSession 会话源码和Executor SQL操作执行器源码1、SqlSessionManager 通过sqlSessionProxy代理对象实现sqlSession会话线程安全2、sqlSession执行流程分析3、一级缓存源码与二级缓存源码设计与查询流程分析
2025-08-14 18:24:14
925
原创 Mybatis 源码解读-DataSource 数据源源码
mybatis源码解读-DataSource数据源源码解读1、PooledDataSource 数据连接池 获取连接流程分析2、PooledDataSource 数据连接池 关闭连接流程分析
2025-08-14 18:19:39
713
原创 Mybatis 源码解读-Plugin插件源码
mybatis源码解读-plugin插件源码1、拦截器四大核心对象(Executor、StatementHandler、ParameterHandler、ResultSetHandler)2、拦截器底层实现原理与拦截流程
2025-08-14 18:15:03
323
原创 Mybatis源码解读-Configuration 配置信息加载流程源码分析
mybatis启动流程分析,解读源码如何从加载mybatis-config.xml配置到执行流程;1、mybatis-config.xml配置文件加载2、配置节点与Configuration全局配置映射3、解读配置信息加载相关类梳理
2025-08-14 18:09:00
919
原创 RocketMQ 4.9.3源码解读-Produce 生产者发送消息流程分析
RocketMQ 4.9.3源码解读-Produce生产者发送消息流程分析1、Produce客户端启动流程分析2、Produce生产者消息发送流程分析
2025-08-14 09:48:42
318
原创 RocketMQ 4.9.3源码解读-Broker组件启动流程分析
RocketMQ 4.9.3源码解读-Broker组件启动流程分析1、Broker组件网络通信结构2、Broker组件BrokerController元数据信息3、Broker组件启动流程分析
2025-08-14 09:42:21
271
原创 RocketMQ 4.9.3源码解读-客户端Consumer消费者组件启动流程分析
RocketMQ 4.9.3源码解读-客户端Consumer消费者组件研究1、消费者-客户端启动流程分析2、消费者拉取消息流程分析3、消费者负载均衡策略
2025-08-13 18:15:04
959
原创 RocketMQ 4.9.3源码解读-NameServer组件启动流程分析
RocketMQ 4.9.3版本源码解读1、NameServer组件服务启动流程分析2、服务注册与发现底层原理
2025-08-13 09:54:16
354
原创 Mybatis源码解读-Plugin插件源码
mybatis源码解读-plugin插件源码1、拦截器四大核心对象(Executor、StatementHandler、ParameterHandler、ResultSetHandler)2、拦截器底层实现原理与拦截流程
2025-08-12 18:28:00
189
原创 Mybatis源码解读-SqlSession 会话源码和Executor SQL操作执行器源码
mybatis源码解读-SqlSession 会话源码和Executor SQL操作执行器源码1、SqlSessionManager 通过sqlSessionProxy代理对象实现sqlSession会话线程安全2、sqlSession执行流程分析3、一级缓存源码与二级缓存源码设计与查询流程分析
2025-08-12 18:16:03
623
原创 Mybatis源码解读-DataSource 数据源源码
mybatis源码解读-DataSource数据源源码解读1、PooledDataSource 数据连接池 获取连接流程分析2、PooledDataSource 数据连接池 关闭连接流程分析
2025-08-12 17:48:22
90
原创 Mybatis源码解读-Configuration 配置信息加载流程源码分析
mybatis启动流程分析,解读源码如何从加载mybatis-config.xml配置到执行流程;1、mybatis-config.xml配置文件加载2、配置节点与Configuration全局配置映射3、解读配置信息加载相关类梳理
2025-08-12 10:40:00
279
原创 spring 常用注解代理方式及注意点
spring 常用注解代理方式及注意点jdk动态代理和cglib代理区别:一、简单来说: JDK动态代理只能对实现了接口的类生成代理,而不能针对类 CGLIB是针对类实现代理,主要是对指定的类生成一个子类,覆盖其中的方法(继承)二、Spring在选择用JDK还是CGLiB的依据:(1)当Bean实现接口时,Spring就会用JDK的动态代理(2)当Bean没有实现接
2018-01-30 20:39:06
845
原创 SpringMVC学习笔记
Web MVC开发模式所谓MVC即M(model)模型层,V(view)视图层,C(contoller)控制层。用户发送请求给服务器,首先是把这个请求交给controller进行处理,controller会根据用户请求选择正确的视图展示给用户,同时controller也会根据用户请求去Medol层提取数据,对view层视图进行渲染。Spring Web MVCSpring Web MVC框架
2016-07-11 22:30:35
587
原创 git开发篇---将本地代码推送到远程
git 分为本地和远程:将本地代码推送到远程步骤:(开发之前一定要确定你代码所处目录已经是git仓库,且不是在master分支上,比如新拉一个分支dev, git branch dev)1 先确认你所开发的分支不是master分支,一般的我们实际开发的分支不能是master分支,比如我开发的分支是dev。2 进入你要提交代码的路径,($ git init 将当前目
2016-04-21 20:05:52
638
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅