自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员伊成

happy coding...

  • 博客(157)
  • 资源 (8)
  • 收藏
  • 关注

原创 在Linux中使用docker-compose快速搭建Prometheus监控系统

Prometheus是一款开源的系统监控和警报工具包,特别适合容器化环境。本文将详细介绍如何使用docker-compose在Linux系统中快速部署完整的Prometheus监控系统,包含核心监控组件、可视化界面和服务器指标采集等功能。

2025-08-11 15:32:28 385

原创 本地缓存框架之Caffeine

Caffeine提供了四种缓存添加策略:手动加载,自动加载,手动异步加载和自动异步加载。Caffeine 提供了三种驱逐策略,分别是基于容量,基于时间和基于引用三种类型。如果你的缓存容量不希望超过某个特定的大小,那么记得使用Caffeine.maximumSize(long)。缓存将会尝试通过基于就近度和频率的算法来驱逐掉不会再被使用到的元素。Caffeine提供了三种方法进行基于时间的驱逐。

2025-08-05 14:13:23 816

原创 Docker 部署 Nginx 完整指南

【代码】Docker 部署 Nginx 完整指南。

2025-07-23 16:55:56 352

原创 linux中如何清除history命令

使用ssh远程连接客户端连接上linux后操作的命令多了,有时候需要清除对应的历史命令记录,可以通过下面几种方式实现。

2025-07-23 16:42:51 552

原创 一文理解高并发

这只是简单的演进过程,中间还有很多细节,引入一个新的技术或者组件,很可能会带来新的问题。The end.

2025-07-22 09:58:43 930

原创 docker安装Consul笔记

如需部署多节点集群,可根据需要进行配置。具体步骤将在使用时整理。,支持用户通过浏览器访问控制台或调用。这一句指明使用容器内的配置文件启动。容器启动完成后,使用下面的地址访问。进行端口暴露,是因为默认情况下。接下来,使用下面命令启动。接口,提供服务发现的。协议,如果不显式声明。

2025-07-11 16:04:53 330

原创 Linux中的命令连接符

在Linux。

2025-07-10 16:19:16 364

原创 简说scp命令

scp(安全复制协议),是Linux中用于在网络中安全传输文件的命令行工具。它基于SSH协议,用于在本地服务器和远程服务器之间,或者两台远程服务器之间复制文件或目录。scpscp [选项] 源路径 目标路径-r:递归复制整个目录。-P:指定非默认的SSH端口号,默认为22。这里注意为大写的P。-C:启用压缩,提高传输效率。这里注意为大写的C。-i:指定身份验证文件(私钥文件)。以下是几种常见的scp命令使用示例,可以直接套用。指定本地路径时,可以使用相对路径。

2025-07-10 09:48:48 447

原创 git中的ignore文件

gitignore文件在Git中扮演着关键角色,通常位于项目的根目录。它用于指定哪些文件或目录应排除在版本控制之外,以避免将不必要的文件(如编译生成的中间文件、临时文件、日志文件等)提交到远程仓库中。.gitignore是一个纯文本文件,每行定义一个忽略规则。规则可以是文件名、路径,或使用通配符模式。以下是.gitignore。

2025-07-08 13:13:47 563

原创 Docker安装Jenkins

输入上面获取到的初始管理员密码,完成登录,出现这样的页面。这里我们点击“安装推荐的插件”,就可以了。替换成自己对应的容器名。打开浏览器访问宿主机的。端口(这里替换为自己的。终端,运行命令,拉取。

2025-07-08 10:03:02 490

原创 python学习笔记

元组的元素类型 --> 和列表一样t = (1, 2, 3, "hello", [4, 5, 6], {10086: "中国移动"})print(t)# 若元组只有一个元素,定义规则t = (元素,)# 定义号好的元组就不能再次修改# 方法1dic = {"诗仙":"李白","诗圣":"杜甫"}# 方法2dic = dict({"诗仙":"李白","诗圣":"杜甫"})dic = dict("诗仙"="李白","诗圣"="杜甫")# 方法三。

2025-07-07 15:26:40 820

原创 Mac中如何Chrome禁用更新[update chflags macos]

在 macOS 系统中,系统更新提示的小红点常常让人不胜其扰。尤其是当你希望保持现有系统的稳定性,或因兼容性问题暂不想升级时,这个小红点就像一个顽固的提醒。- windowsMac版直接删除更新程序, 有效新版的 Chrome 还需要禁用该目录的写入功能恢复命令:chflags跟目录权限貌似没有关系, 变更后还是755.total 0Password:total 0然后在"关于"页面, 就会显示Google Chrome可能无法进行自动更新。The end.

2025-07-01 10:06:27 370

原创 分享实用的sublime插件

分享几个比较实用的sublime插件.

2025-07-01 09:54:44 1201

原创 JVM学习笔记

Java技术体系的自动内存管理,最根本的目标是自动化地解决两个问题:自动给对象分配内存以及自动回收分配给对象的内存。Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,Java 世界里“几乎”所有的对象实例都在这里分配内存,但是随着技术发展,Java对象实例都分配在堆上也渐渐变得不是绝对的。在《Java虚拟机规范》中对Java堆的描述是:“所有 的对象实例以及数组都应当在堆上分配[1]”

2025-06-28 14:36:05 1068

原创 Java如何远程登录到服务器中执行命令

​ 我们有时候通过业务代码会关联一些东西,那么在这个时候做完操作后有可能需要去其他服务器上执行一些命令,例如我们更换了什么文件,然后需要重启另一个服务,那么这个时候就需要我们去远程执行命令了。​ 有两种方式,我们可以使用jsch和ganymed来进行实现,两个包都是对SSH2的封装,能够帮助我们远程连接服务器,并且执行命令。​ 然后调用工具类即可。​ 首先新建工具类。

2025-06-27 09:24:50 254

原创 什么你还不知道 disruptor

我们将定义一个事件(Event),它将携带数据@Override为了让 Disruptor 为我们在内存中预分配这些事件,我们需要一个来执行构造。这可以是一个方法引用,比如@Override创建一个事件处理器(EventHandler)@Override// 有扩展性的写法@Slf4j// 外部可以传入Consumer实现类,每处理一条消息的时候,consumer的accept方法就会被执行一次> consumer;@Override。

2025-06-23 18:03:03 835

原创 【回顾基础知识】Collection集合

Collection集合是最上层的接口,是所有集合的父接口下面具体来看:**增**:add() 方法传入的数据类型必须是 Object,所以当写入基本数据类型的时候,会做自动装箱 auto-boxing 和自动拆箱 unboxing。还有另外一个方法 addAll(),可以把另一个集合里的元素加到此集合中。remove()是删除的指定元素。那和 addAll() 对应的,自然就有removeAll(),就是把集合 B 中的所有元素都删掉。

2025-06-20 15:00:28 581

原创 保姆级介绍NIO

在Java中,我们知道Java IO是阻塞的,如果在一次读写数据调用时数据还没有准备好,或者目前不可写,那么读写操作就会被阻塞直到数据准备好或目标可写为止。Java NIO则是非阻塞的,每一次数据读写调用都会立即返回,并将目前可读(或可写)的内容写入缓冲区或者从缓冲区中输出,即使当前没有可用数据,调用仍然会立即返回并且不对缓冲区做任何操作。NIO框架是在JDK1.4推出的,它的出现就是为了解决传统IO的不足,本文就将围绕着NIO开始讲解。一切的一切还要从缓冲区开始讲起,包括源码在内,其实这个不是很难,只是需

2025-06-20 14:43:23 367

原创 Java面试高频面试题【2025最新版】

Redis淘汰策略(LRU最近最少使用,关键是看数据最后一次被使用到发生替换的时间长短,时间越长,数据就会被删除;LFU是淘汰一段时间内,使用次数最少的页面。内存满时,再执行写入,直接报错从已设TTL的键中挑选LRU的键进行删除所有键中挑选LRU的键进行删除从已设TTL的键中挑选LFU的键进行删除所有键中挑选LFU的键进行删除随机删除一个设置了TTL的键删除生存时间(TTL)最小的键Redis淘汰策略是指在内存使用达到最大限制(由maxmemory。

2025-06-19 10:24:31 1033

原创 Log4j2 自定义 Appender 详解

在日志管理系统中,Appender 是日志记录组件,负责将日志事件输出到指定的目的地,如控制台、文件、数据库等。Log4j2 作为一款强大的日志框架,支持多种内置的 Appender。然而,在某些特定场景下,我们可能需要自定义 Appender 以满足特定的日志记录需求。本文将详细介绍如何在 Log4j2 中自定义 Appender,一起来看看吧。创建自定义 Appender 类首先,我们需要创建一个继承自 AbstractAppender 的自定义 Appender 类。

2025-06-19 10:12:35 325

原创 一文带你了解什么是SFTP

你可能听说过 FTP ,那你听说过SFTP吗?SFTP是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。SFTP 为 SSH的一部分,是一种传输档案至 Blogger 伺服器的安全方式。

2025-06-18 09:35:32 1368

原创 扫盲篇带你了解计算机中的时间

时间戳是一种表示时间的数字标识。

2025-06-17 09:17:41 483

原创 保姆级带你了解TDD

Test-Driven Development,测试驱动开发。TDD是通过单元测试来驱动业务代码的实现。要求开发者在进行逻辑实现前,优先进行测试用例的编写,站在调用者角度而非实现者角度去思考接口。单元测试(Unit Testing)又称为模块测试,是针对程序模块来进行正确性检验的测试工作。单元就是单个程序、函数、过程等,编写程序的过程中前后很可能要进行多次单元测试。然而在工作中,一般都是追求快速迭代上线,基本很难做到有时间来写测试用例。

2025-06-16 16:24:13 1051

原创 idea使用技巧分享

分享一些常用的idea使用技巧,进来看看有没有你不知道的。正则中“\b”是元字符代表着单词的开头或结尾,也就是单词的分界处。注意 skip if defined 建议是勾选上。如果不勾选,那么自动生成的todo模板就会要你确认自动生成的变量值。CRLF: 是carriagereturnlinefeed的缩写。中文意思是回车换行。LF: 是line feed的缩写,中文意思是换行。CR: 是carriagereturn的缩写。中文意思是回车。

2025-06-16 10:57:33 427

原创 SpringBoot全局异常处理开发规范

/例举如下SUCCESS("200", "成功!"),NOT_FOUND("404", "找不到资源!"),INTERNAL_SERVER_ERROR("500", "服务器错误!"),/*** 错误码*//*** 错误描述*/@Override@Override/*** 自定义运行时异常类*//*** 错误码*//*** 错误信息*///无参构造器,提个问:构造器的作用是什么?请在评论区回答(嘿嘿)

2025-06-16 10:16:49 402

原创 【简洁笔记】在Ubuntu中安装和运行nexus

去掉废话,直接记录关键步骤,跟着弄一定可以成功!一定!开始看下文吧。

2025-06-16 09:32:56 601

原创 一文了解sonar的搭建和使用

用户名登录默认账户密码:admin,admin控件配置问题-简述。指标-根据条件搜索项目使用代码规则-不同语言的代码检测规则定义。质量配置-对不同语言的代码检测规则配置。默认sonar way配置。未做深入详细调研。质量阈-代码检测指标定义。达到条件时项目模块变红。通过质量阈指标则项目为绿色。配置-管理员权限可以看到此菜单,包含了最基本的用户,项目,插件的配置等信息。插件下载可以不通过sonar方式进行安装。其他(项目比较)-可以对多个不同的项目进行各个不同指标的比对查看。用户-我的账号。

2025-06-13 13:19:15 1481

原创 保姆级安装OpenResty教程

首先你的Linux虚拟机必须联网!首先你的Linux虚拟机必须联网!首先你的Linux虚拟机必须联网!重要的事情说三遍。你可以在你的 CentOS 系统中添加openresty仓库,这样就可以便于未来安装或更新我们的软件包(通过命令)。然后再重复上面的命令然后就可以像下面这样安装软件包,比如openrestyopm是OpenResty的一个管理工具,可以帮助我们安装一个第三方的Lua模块。如果你想安装命令行工具opm,那么可以像下面这样安装。

2025-06-13 09:22:25 618

原创 HashMap源码解读

jdk 1.7 中的 HashMap 采用的是的方式来进行数据的存储,。下面对各个源码中的各个核心方法进行对比。

2025-06-12 14:41:04 1474

原创 详解docker挂载目录常用方式

在Docker中的container挂载新的文件目录,可以通过以下几种方式实现,具体来看看吧。

2025-06-12 09:45:52 1182

原创 保姆级带你安装Canal

下面我们就开启mysql的主从同步机制,让Canal来模拟salve。

2025-06-11 19:45:00 309

原创 快速了解JVM的GC历史

Java虚拟机(JVM)的垃圾回收(GC)机制是Java生态系统的核心组件之一,直接影响应用程序的性能和稳定性。从早期的简单标记清除算法,到现代的分代收集、并发回收等复杂策略,GC技术经历了多次重大演进。了解JVM的GC历史不仅能帮助开发者优化应用性能,还能深入理解Java内存管理的设计哲学,本文将梳理JVM垃圾回收的发展历史。

2025-06-11 15:16:31 958

原创 一文了解计算机概念

时间戳是一种表示时间的数字标识。

2025-06-10 09:23:38 880

原创 SSH登陆Linux常见问题大全

摘要 在CentOS 7 minimal系统中,常见SSH登录问题包括:1) root账户登录被拒绝,需修改/etc/ssh/sshd_config中的PermitRootLogin为yes;2) 密码登录被禁用,需将PasswordAuthentication设为yes。修改后执行service sshd restart使配置生效。这些设置解决了因默认安全限制导致的SSH登录失败问题,适合刚安装系统后的初始配置。

2025-06-04 18:00:00 464

原创 supervisor 常见问题大全

Supervisor常见问题及解决方案摘要 本文总结了Supervisor进程管理工具在实际使用中的典型问题及解决方法: sock文件缺失:通过停止服务、杀死残留进程或重新加载配置解决 端口被占用:使用lsof查找占用进程后kill 权限问题:加sudo运行或修改日志路径 json模块报错:实际为配置文件格式错误,需检查重写 缺少配置段:确保包含[supervisord]和[supervisorctl]模块,并正确设置文件权限 每个问题都提供了具体操作命令,主要涉及进程管理、配置检查和权限处理等方面。

2025-06-03 14:04:18 474

原创 Spring Cloud和Kubernetes的区别

Spring Cloud或Kubernetes都宣称它们是开发运行微服务的最好环境, 哪个更好?答案是两个都是, 但他们拥有各自不同的特征方式.

2025-05-26 15:37:34 1048

原创 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 685

原创 关于标准盒模型和怪异盒模型

标准盒模型更改padding或border等会改变原本盒子大小。怪异盒模型基本就是固定了盒子的大小。具体使用看你应用场景而论。The end.

2025-05-22 14:30:00 352

原创 关于vue彻底删除node_modules文件夹

该命令是安装 node的 rimraf 包。rimraf 包的作用:以包的形式包装rm -rf命令,就是用来删除文件和文件夹的,不管文件夹是否为空,都可以删除。在node_modules文件夹所在的路径运行命令窗口,并执行下面的命令.vue的node_modules文件夹非常大,常规手段根本无法删除.删除node_modules文件夹。运行命令行,清除缓存。

2025-05-22 10:13:24 527

原创 SQL优化学习笔记

本文总结了SQL优化的关键方法:1)插入优化:批量插入、手动提交事务、主键顺序插入,大数据量使用load指令;2)主键优化:避免页分裂/合并,设计短且有序的主键;3)排序分组优化:利用索引避免临时表;4)分页优化:子查询+覆盖索引;5)计数优化:count(*)效率最高;6)更新优化:确保where条件使用索引避免锁升级。核心是通过索引优化减少I/O和锁竞争,提升查询性能。<|end▁of▁sentence|>

2025-05-21 16:15:30 1165

python屏幕截图小工具

本程序主要依赖以下几个库: mss,mss.tools,cv2(OpenCV),numpy,tkinter,pyautogui pip安装: python -m pip install mss opencv-python numpy pyautogui 运行 main.py 窗口大小会根据屏幕大小自动调整,但最小宽度为 350,最小高度为 240。 主要功能: 1.录制视频 2.截图功能

2024-12-24

python实现的摸鱼小工具

python实现的摸鱼小工具 使用说明 1.运行moyu.py程序 2.指定需要隐藏的窗口进程 3.按快捷键ctrl+z隐藏窗口,按ctrl+x恢复窗口 4.最小化本软件 点击隐藏后窗口

2024-12-24

python添加水印小工具

python图片水印工具 功能点 支持批量处理 自定义水印文字 可调整字体大小和颜色 支持多种位置选择 透明度可调 其它说明 直接运行这个 watermark_tool.py。

2024-12-24

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

TA关注的人

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