- 博客(123)
- 资源 (8)
- 收藏
- 关注
原创 supervisor 常见问题大全
Supervisor常见问题及解决方案摘要 本文总结了Supervisor进程管理工具在实际使用中的典型问题及解决方法: sock文件缺失:通过停止服务、杀死残留进程或重新加载配置解决 端口被占用:使用lsof查找占用进程后kill 权限问题:加sudo运行或修改日志路径 json模块报错:实际为配置文件格式错误,需检查重写 缺少配置段:确保包含[supervisord]和[supervisorctl]模块,并正确设置文件权限 每个问题都提供了具体操作命令,主要涉及进程管理、配置检查和权限处理等方面。
2025-06-03 14:04:18
326
原创 Spring Cloud和Kubernetes的区别
Spring Cloud或Kubernetes都宣称它们是开发运行微服务的最好环境, 哪个更好?答案是两个都是, 但他们拥有各自不同的特征方式.
2025-05-26 15:37:34
969
原创 Spring参数解析异常:Name for argument of type [java.lang.String] not specified 深度解析
Spring Boot应用中常见的"Name for argument not specified"异常通常由编译信息丢失或注解不规范引起。主要解决方案包括:1) 配置maven-compiler-plugin的-parameters选项(推荐);2)显式命名参数;3)升级JDK/Spring Boot版本;4)使用Java8接口默认方法。最佳实践建议新项目配置编译器参数,生产代码显式命名参数,并注意Lombok注解的影响。
2025-05-26 15:20:54
409
原创 关于标准盒模型和怪异盒模型
标准盒模型更改padding或border等会改变原本盒子大小。怪异盒模型基本就是固定了盒子的大小。具体使用看你应用场景而论。The end.
2025-05-22 14:30:00
275
原创 关于vue彻底删除node_modules文件夹
该命令是安装 node的 rimraf 包。rimraf 包的作用:以包的形式包装rm -rf命令,就是用来删除文件和文件夹的,不管文件夹是否为空,都可以删除。在node_modules文件夹所在的路径运行命令窗口,并执行下面的命令.vue的node_modules文件夹非常大,常规手段根本无法删除.删除node_modules文件夹。运行命令行,清除缓存。
2025-05-22 10:13:24
328
原创 SQL优化学习笔记
本文总结了SQL优化的关键方法:1)插入优化:批量插入、手动提交事务、主键顺序插入,大数据量使用load指令;2)主键优化:避免页分裂/合并,设计短且有序的主键;3)排序分组优化:利用索引避免临时表;4)分页优化:子查询+覆盖索引;5)计数优化:count(*)效率最高;6)更新优化:确保where条件使用索引避免锁升级。核心是通过索引优化减少I/O和锁竞争,提升查询性能。<|end▁of▁sentence|>
2025-05-21 16:15:30
1137
原创 扫盲笔记之NPM
npm(Node Package Manager)是Node.js的默认包管理工具,用于下载、安装、共享和管理JavaScript项目的依赖库和工具。它随Node.js一起安装,但可能需要通过npm install npm@latest -g命令升级到最新版本。npm支持本地和全局安装包,本地安装将包放在./node_modules目录下,而全局安装则放在系统目录中,适用于工具模块。npm还提供了更新、发布、卸载包的功能,以及版本控制命令如npm version patch、npm version mino
2025-05-20 16:35:44
1069
原创 Gradle学习笔记
Gradle 是一个高度灵活的构建自动化工具,适用于各种软件项目。它通过项目(Projects)、任务(Tasks)和插件(Plugins)等核心概念来管理构建过程。项目是构建的基本单位,任务则是执行具体工作的单元,而插件则扩展了构建功能。Gradle 的构建生命周期包括初始化、配置和执行三个阶段。通过 Gradle Wrapper,团队可以统一构建工具的版本,确保一致性。Gradle 还提供了丰富的命令行工具和 API,支持自定义构建脚本和扩展属性,使得构建过程更加高效和可维护。
2025-05-20 15:06:04
1020
原创 JSON学习笔记
Jackson 是一个广泛使用的 Java 开源框架,用于序列化和反序列化 JSON 数据。它是 Spring MVC 的默认 JSON 解析器,具有依赖包少、解析速度快、内存占用低、API 灵活等优点。Jackson 的核心模块包括 jackson-core(提供流模式解析 API)、jackson-annotations(提供注解功能)和 jackson-databind(提供对象绑定和树模型解析 API)。通过 ObjectMapper,Jackson 可以轻松实现 JSON 与 Java 对象之间的
2025-05-19 17:54:37
1016
原创 【保姆级】Nginx简介以及安装
Nginx是一款高性能的HTTP和反向代理服务器,支持IMAP/POP3/SMTP协议,由伊戈尔·赛索耶夫开发,最初为俄罗斯Rambler.ru站点设计。其主要功能包括反向代理和负载均衡。Nginx可以通过多种方式安装,包括Docker和YUM。在Docker中,可以通过创建挂载文件和配置文件来安装和运行Nginx容器,推荐使用Compose文件进行安装。在Linux系统中,可以使用YUM命令直接安装Nginx。安装完成后,可以通过命令行工具检测Nginx的安装状态,并启动、停止或重启服务。Nginx的运行
2025-05-19 17:45:44
159
原创 如何使用GIT管理项目代码
Git是一种广泛使用的开源分布式版本控制系统,适用于各种规模的项目。文章介绍了Git的常用分支名称,如feature、develop、release、hotfix和master,并详细阐述了四种Git工作流:集中式工作流、功能开发工作流、Gitflow工作流和Forking工作流。其中,Gitflow工作流适合大型项目,涉及从develop分支拉取feature分支进行开发,测试后合并到release分支,最终发布到master分支。文章还模拟了多人开发场景,展示了如何在不同阶段合并代码和处理冲突。此外,介
2025-05-19 17:37:43
1013
原创 如何创建一个不可变类
不可变对象在构造后无法更改,其状态不会被外部修改,特别适用于多线程环境,避免了并发修改的问题。创建不可变类的关键步骤包括:将类声明为final,所有字段为final,不提供setter方法,并在返回可变对象时返回其克隆副本。常见的不可变类包括Java的String和包装类如Integer等。尽管不可变类可能消耗更多内存,但其线程安全性和状态一致性使其在分布式系统中具有重要优势。通过合理设计,可以确保类完全不可变,避免状态泄漏。
2025-05-16 15:37:31
627
原创 深入理解final
Java中的final关键字用于修饰类、方法和变量,表示不可更改的特性。final变量一旦初始化后不能被重新赋值,常用于声明常量;final方法不能被子类重写,提高了性能;final类不能被继承,通常用于功能完整的类。使用final关键字的好处包括提高性能、线程安全以及优化代码。此外,final与static常结合使用来定义常量,并且在创建不可变类时也起到关键作用。final关键字在编译时进行静态绑定,减少了运行时的开销,是Java编程中重要的工具之一。
2025-05-16 13:26:09
886
原创 在idea种运行提示maven-resources-production:sks-system: java.lang.OutOfMemoryError: Java heap space
在 IntelliJ IDEA 中运行 Maven 构建时遇到 java.lang.OutOfMemoryError: Java heap space 错误,通常是由于 JVM 堆内存不足。可以通过以下方法解决:1. 增加 Maven 的堆内存,在 VM Options 中设置 -Xmx2048m 或更大值;2. 增加 IDEA 的堆内存,修改 idea64.vmoptions 文件中的 -Xmx2048m;3. 针对特定模块,检查 pom.xml 并增加内存参数;4. 检查资源文件大小、启用并行构建或禁用
2025-05-15 15:48:24
366
原创 gitlab提交测试分支的命令和流程
在使用Git进行代码提交时,遵循commitlint规范是确保提交信息一致性和可读性的关键。首先,通过npm run lint:eslint进行代码校验,确保代码质量。提交时,必须使用git commit -m '<type>[optional scope]: <description>'格式,其中type包括feat、fix、chore等,描述应简洁明了。例如,git commit -m 'fix: 初始化项目'。错误的提交格式如foo: 这是错误的提交会导致subject-emp
2025-05-14 13:12:54
489
原创 mysql的binlog
Binlog是MySQL的二进制日志,记录数据库表结构变更和数据修改,不记录SELECT和SHOW操作。其主要用途包括主从复制和数据恢复。Binlog有三种记录模式:ROW模式记录每行数据的修改,适合主从复制但日志量大;STATEMENT模式记录SQL语句,日志量小但可能导致主从数据不一致;MIXED模式结合两者,根据SQL语句选择记录方式。Binlog文件结构包含多种事件类型,如Query、Row、Xid。常用命令包括查看Binlog状态、内容、恢复数据库及删除日志。通过Binlog可以实现按时间或事件位
2025-05-14 09:45:10
261
原创 Java的进制转换
本文介绍了Java中不同进制的表示方法及其转换规则。Java中,二进制以0b开头,八进制以0开头,十六进制以0x开头,十进制则无前缀。文章详细说明了如何将二进制、八进制和十六进制转换为十进制,以及如何将十进制转换为其他进制。此外,还介绍了二进制与八进制、十六进制之间的转换方法,并简要提及了原码、反码和补码的概念。最后,解释了为什么在计算机科学中,十进制转换为二进制时通常会补全为8位或16位,以确保数据的一致性和处理效率。
2025-05-13 17:58:09
650
原创 一文详解Spring Boot如何配置日志
日志记录在软件开发中至关重要,能够帮助快速定位和解决问题。Java中常用的日志框架包括Log4j、Log4j2和Logback,其中Logback和Log4j2性能较优。通过SLF4J框架,可以轻松切换日志实现,SLF4J作为门面接口,调用时委托给具体的日志框架(如Logback或Log4j2)。在Java Web项目中,通常使用Slf4j + Logback组合,通过配置logback.xml文件定义日志输出格式和级别。Spring Boot默认集成了Logback和Slf4j,开发者只需通过Slf4j接
2025-05-13 10:50:53
1433
原创 Ping过程原理详解
本文详细解释了PING命令的工作原理,分为同一网段内和跨网段两种情况。在同一网段内,主机A通过ARP广播获取主机B的MAC地址,然后封装ICMP报文进行通信。跨网段时,主机A通过ARP广播获取网关的MAC地址,网关路由器根据路由表转发ICMP报文到目标主机C。整个过程涉及ARP请求与应答、ICMP回显请求与应答,以及MAC地址的学习与封装。文章通过具体的报文格式展示了通信的每个步骤,帮助读者深入理解网络通信的基本原理。
2025-05-12 14:40:35
993
原创 了解掌握这些常用Linux 命令,让你轻松变大神
Linux 系统中,掌握常用命令是高效操作的关键。本文介绍了文件目录操作相关的常用命令及其用法。ls 命令用于查看文件和目录信息,支持多种参数如 -l(长格式显示)、-a(显示隐藏文件)等。cd 命令用于切换目录,pwd 显示当前工作目录路径。mkdir 创建目录,支持递归创建和权限设置。rm 和 rmdir 分别用于删除文件和目录,rm 支持递归删除。mv 命令用于移动或重命名文件,cp 用于复制文件或目录。touch 用于创建文件或更新文件时间戳。cat 和 nl 用于显示文件内容,cat 支持行号显示
2025-05-12 07:30:00
588
原创 MySQL InnoDB中,乐观锁、悲观锁、共享锁、排它锁、行锁、表锁、死锁概念的理解
若事务 1 对数据对象A加上X锁,事务 1 可以读A也可以修改A,其他事务不能再对A加任何锁,直到事物 1 释放A上的锁。这保证了其他事务在事物 1 释放A上的锁之前不能再读取和修改A。排它锁会阻塞所有的排它锁和共享锁读取为什么要加读锁呢:防止数据在被读取的时候被别的线程加上写锁,使用方式:在需要执行的语句后面加上。
2025-05-11 15:30:00
908
原创 一文彻底理解Spring AOP【理论篇】
AOP(Aspect-Oriented Programming), 即面向切面编程, 它与 OOP( Object-Oriented Programming, 面向对象编程) 相辅相成, 提供了与 OOP 不同的抽象软件结构的视角.在 OOP 中, 我们以类(class)作为我们的基本单元, 而 AOP 中的基本单元是Aspect(切面)当使用注解@Aspect@Component@Aspect。
2025-05-11 11:05:44
1193
原创 浅谈Mysql的高可用高性能
1)LRU缓存策略:采用冷热数据隔离方案默认冷数据占比37%,当首次加载数据会直接放在冷区域的首节点,冷区域的缓存只有在1s内被访问才会被更新到热数据的首节点。而热数据区的前1/4被访问不用挪动位置,后3/4部分才需要。尽可能地保持热数据在缓存中,同时也为冷数据提供了一定的缓存空间。这种策略对于许多工作负载来说都非常有效,因为它们的访问模式通常符合局部性原理,即在任何时刻,只有一小部分的数据被频繁访问。2)redolog是顺序写入的,用于恢复数据。
2025-05-06 14:28:02
493
原创 JS精度丢失原因及解决方案
前端开发过程中,如果使用的开发语言是JavaScript,那么会存在一个非常困扰人的情况;在涉及含有小数的数字计算时,会出现计算结果与真实的结果不一致的场景;当测试数据量不足够大的时候,经常会遗漏掉某些异样数据,给用户带来不好的使用感受。
2025-05-06 13:40:01
1065
原创 巧用循环周期:1e18次迭代的秒解之道
最近csdn 上有一个活动,题目如下:定义函数 R(n) 为将 n 的十进制数字反转得到的数(忽略前导零,例如 R(1230) = 321,R(5) = 5),定义函数 A(n) 为将 n 的十进制数字按升序排列得到的数(忽略排序后的前导零,除非 n=0,例如 A(314159) = 113459,A(102) = 12,A(20) = 2,A(0) = 0)。
2025-04-07 11:05:33
766
原创 Spring Boot + MyBatis + Maven论坛内容管理系统源码
原文链接:http://www.devcheng.net/post/be40dded.html毕设描述xxxForum是一个基于Spring Boot + MyBatis + Maven开发的一个论坛内容管理系统,主要实现了的功能有:前台页面展示数据、广告展示内容模块:发帖、评论、帖子分类、分页、回帖统计、访问统计、表单验证用户模块:权限、资料、头像、邮箱验证管理:后台管理、统计图表...
2025-04-07 10:57:13
934
1
原创 java中任务调度java.util.Timer,ScheduledExecutor,Quartz的机制说明和demo代码实例分享
目前的 Web 应用,多数应用都具备任务调度的功能。这里就简单的介绍任务调度的Java 实现方法,主要包括 Timer,Scheduler, Quartz 以及 JCron Tab,目的在于给需要开发任务调度的牛牛们提供一个参考。 1.Timer 大部分已经非常熟悉 java.util.Timer 了,它是最简单的一种实现任务调度的方法,下面给出一个具体的例子:
2025-04-03 11:20:14
3142
4
原创 Spring Boot项目中策略模式的应用与实现
在Spring Boot项目中,策略模式是一种非常重要的设计模式,它能够让我们定义一系列算法,并使它们可以互相替换。策略模式通过将算法封装到独立的类中,从而使得代码中的算法可以独立于使用它的客户端变化。这对于某些需求频繁变化或者多样化的业务逻辑来说,策略模式能够提供更高的灵活性和扩展性。本文将详细介绍如何在Spring Boot项目中实现策略模式,并通过一个支付系统的示例来展示其应用。1.开放-封闭原则:通过引入策略模式,我们的代码对扩展开放,对修改封闭。
2025-04-03 09:49:20
804
4
原创 Springboot整合Mybatis+Maven+Thymeleaf学生成绩管理系统
前言该系统为学生成绩管理系统,可以当作毕业设计,也可以成为Spirng Boot初学者的学习代码!系统描述学生成绩管理系统提供了三种角色:学生,老师,网站管理员。主要实现的功能如下:登录 & 安全退出学生信息管理班级信息管理教师信息管理课程信息管理选课信息管理考勤信息管理请假信息管理成绩信息管理系统管理开发环境(运行环境)系统环境:Windows 10...
2025-04-02 11:12:17
852
3
原创 微信与支付宝退款接口常见问题解析与解决指南
在支付系统的开发中,退款功能是核心能力之一,但对接微信支付和支付宝时,开发者常因参数错误、环境配置等问题触发各种报错。本文结合两个典型场景——微信退款提示“订单号非法”与支付宝退款报错“交易不存在”,深入分析问题根源,提供解决方案及避坑指南。支付系统的退款接口报错往往源于参数错误、环境配置或订单状态异常。通过本文的案例分析,开发者可以掌握以下核心技巧:1.微信支付:校验订单号来源,优先使用商户订单号退款。2.支付宝:严格管理订单生命周期,区分测试与生产环境。
2025-03-19 16:33:28
1034
原创 Keytool常见问题全解析:从环境配置到公钥提取
掌握 keytool 的常见问题解决方案,不仅能提升开发效率,还能避免因证书管理不当导致的应用发布失败。如果你遇到其他问题,欢迎在评论区留言交流!
2025-03-13 17:35:21
1324
原创 JavaScript性能优化实战:让你的Web应用飞起来
在Chrome每秒执行1.4亿次运算的今天,JavaScript性能仍是Web开发的关键瓶颈。本文将通过真实案例,揭秘那些让大厂团队效率提升300%的优化技巧(附可运行代码示例)。
2025-03-12 09:32:43
661
原创 C盘清理技巧分享
在使用计算机的过程中,我们常常会遇到C盘空间不足的问题,这不仅会导致系统运行变慢,还可能影响电脑的正常使用。今天就来给大家分享一些实用的C盘清理技巧,让你的C盘空间得到有效释放。
2025-02-26 14:56:49
1358
原创 从 0 到 1:使用 Docker 部署个人博客系统
通过使用 Docker,我们成功地将一个基于 Python Flask 框架的个人博客系统部署到了容器中。Docker 的容器化技术使得博客系统的部署变得简单、高效,同时也确保了系统在不同环境下的一致性和可移植性。希望本文能够帮助你快速上手 Docker,并将其应用到实际项目中。
2025-02-26 09:58:32
976
原创 深入理解与使用 Supervisor:守护你的应用程序
Supervisor 是一个用 Python 编写的进程控制系统,它可以在类 Unix 系统上监控和控制多个进程。Supervisor 可以在进程崩溃时自动重启,并且提供了一个命令行工具和 Web 界面来管理进程。Supervisor 是一个功能强大的进程管理工具,它可以帮助我们轻松地监控和控制多个进程,确保应用程序的高可用性和稳定性。通过合理配置 Supervisor,我们可以实现进程的自动重启、分组管理和事件监听等功能。希望本文对你理解和使用 Supervisor 有所帮助。The end.
2025-02-22 10:26:31
1580
8
原创 Python 安装避坑指南
本文将详细介绍 Python 安装过程中可能遇到的坑,并提供相应的解决方案,帮助大家顺利完成 Python 的安装。在 Windows 系统上安装 Python 时,如果在安装过程中没有勾选“Add Python to PATH”选项,那么在命令行中输入 python 或 pip 命令时,系统可能会提示“不是内部或外部命令,也不是可运行的程序或批处理文件”。Mac OS 系统自带了 Python 2.x 版本,在安装 Python 3 后,可能会出现命令行中默认使用系统自带 Python 2 的情况。
2025-02-21 16:52:16
737
1
原创 SpringMVC面试题(2025)
答:SpringMvc 是 spring 的一个模块,基于 MVC 的一个框架,无需中间整合层来整合。答:1)springmvc 的入口是一个 servlet 即前端控制器,而 struts2 入口是一个 filter 过虑器。2)springmvc 是基于方法开发(一个 url 对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),struts2 是基于类开发,传递参数是通过类的属性,只能设计为多例。
2025-01-23 10:10:53
816
原创 带你彻底搞明白Java中for、foreach、stream到底谁更胜一筹?
在Java的发展历程中,随着版本的持续更新,为开发者提供了多种实现循环操作的方式。其中包括最为基础的传统for循环、语法更为简洁的增强型foreach循环,以及Java 8全新引入的Stream API。这几种循环方式各具特色,适用于不同的应用场景。接下来,我们将深入探讨它们各自的工作原理,并对其在效率方面的差异进行详细分析。综上所述,在实际的Java编程过程中,如果开发者追求极致的性能表现,并且处理的是相对简单的循环逻辑,那么传统的for循环和foreach循环无疑是更为合适的选择。
2025-01-21 09:22:03
1191
python屏幕截图小工具
2024-12-24
python实现的摸鱼小工具
2024-12-24
python添加水印小工具
2024-12-24
如何排查CPU爆百的问题?
2022-11-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人