- 博客(165)
- 资源 (8)
- 收藏
- 关注
原创 玩转延迟队列实战教程
延时队列相比于普通队列最大的区别就体现在其延时的属性上,普通队列的元素是先进先出,按入队顺序进行处理,而延时队列中的元素在入队时会指定一个延迟时间,表示其希望能够在经过该指定时间后处理。从某种意义上来讲,延迟队列的结构并不像一个队列,而更像是一种以时间为权重的有序堆结构。
2025-09-08 13:49:16
252
原创 【干活实战】Docker新建centos镜像并配置远程访问
我们可能遇到过这种情况 , 为我们用于练习 , 需要好几台服务器 , 但是我们又没有 , 但是也想用 , 怎么办呢?Docker可以帮助我们解决 , 我们知道Docker镜像中有一个centos镜像 , 他就相当于一个小型的虚拟机 , 服务器 , 我们可以启动多次centos镜像容器来达到多个服务器的效果。下面我来带大家配置Docker创建centos镜像 , 并配置远程访问查找官方centos镜像.......下载镜像(不选择版本 , 默认下载的是最新的版本)Docker启动镜像。
2025-09-08 09:59:05
603
原创 一文掌握Redisson分布式锁
Redisson 说白了就是redis的儿子,本质上还是对redis进行加锁,不过是对redis进行了很多封装,他不仅仅提供了一系列的分布式的Java常用对象,还提供了许多的分布式服务。
2025-09-03 17:15:00
1883
原创 SNMP协议学习笔记
SNMP(Simple Network Management Protocol,简单网络管理协议)是一种用于管理和监控网络设备的协议。它允许网络管理员收集、组织和修改网络设备(如路由器、交换机、服务器、打印机等)的信息,并支持对这些设备进行远程管理和故障排查。SNMP 是网络管理的重要工具,广泛应用于设备监控、故障排查和配置管理。不同版本的 SNMP 在功能和安全性上有所差异,推荐使用SNMPv3以提高安全性。
2025-09-02 09:30:19
1017
原创 Dubbo常见面试题
别的还有spring的spring cloud,facebook的thrift,twitter的finagle等。可以的,zookeeper的信息会缓存到本地作为一个缓存文件,并且转换成properties对象方便使用。dubbox是当当网基于dubbo上做了一些扩展,如加了服务可restful调用,更新了开源组件等。推荐使用zookeeper注册中心,还有redis等不推荐。可以直连,修改配置即可,也可以通过telnet直接某个服务。默认是阻塞的,可以异步调用,没有返回值的可以这么做。
2025-09-01 13:16:58
191
原创 在Linux中使用docker-compose快速搭建Prometheus监控系统
Prometheus是一款开源的系统监控和警报工具包,特别适合容器化环境。本文将详细介绍如何使用docker-compose在Linux系统中快速部署完整的Prometheus监控系统,包含核心监控组件、可视化界面和服务器指标采集等功能。
2025-08-11 15:32:28
421
原创 本地缓存框架之Caffeine
Caffeine提供了四种缓存添加策略:手动加载,自动加载,手动异步加载和自动异步加载。Caffeine 提供了三种驱逐策略,分别是基于容量,基于时间和基于引用三种类型。如果你的缓存容量不希望超过某个特定的大小,那么记得使用Caffeine.maximumSize(long)。缓存将会尝试通过基于就近度和频率的算法来驱逐掉不会再被使用到的元素。Caffeine提供了三种方法进行基于时间的驱逐。
2025-08-05 14:13:23
897
原创 linux中如何清除history命令
使用ssh远程连接客户端连接上linux后操作的命令多了,有时候需要清除对应的历史命令记录,可以通过下面几种方式实现。
2025-07-23 16:42:51
805
原创 docker安装Consul笔记
如需部署多节点集群,可根据需要进行配置。具体步骤将在使用时整理。,支持用户通过浏览器访问控制台或调用。这一句指明使用容器内的配置文件启动。容器启动完成后,使用下面的地址访问。进行端口暴露,是因为默认情况下。接下来,使用下面命令启动。接口,提供服务发现的。协议,如果不显式声明。
2025-07-11 16:04:53
353
原创 简说scp命令
scp(安全复制协议),是Linux中用于在网络中安全传输文件的命令行工具。它基于SSH协议,用于在本地服务器和远程服务器之间,或者两台远程服务器之间复制文件或目录。scpscp [选项] 源路径 目标路径-r:递归复制整个目录。-P:指定非默认的SSH端口号,默认为22。这里注意为大写的P。-C:启用压缩,提高传输效率。这里注意为大写的C。-i:指定身份验证文件(私钥文件)。以下是几种常见的scp命令使用示例,可以直接套用。指定本地路径时,可以使用相对路径。
2025-07-10 09:48:48
542
原创 git中的ignore文件
gitignore文件在Git中扮演着关键角色,通常位于项目的根目录。它用于指定哪些文件或目录应排除在版本控制之外,以避免将不必要的文件(如编译生成的中间文件、临时文件、日志文件等)提交到远程仓库中。.gitignore是一个纯文本文件,每行定义一个忽略规则。规则可以是文件名、路径,或使用通配符模式。以下是.gitignore。
2025-07-08 13:13:47
592
原创 Docker安装Jenkins
输入上面获取到的初始管理员密码,完成登录,出现这样的页面。这里我们点击“安装推荐的插件”,就可以了。替换成自己对应的容器名。打开浏览器访问宿主机的。端口(这里替换为自己的。终端,运行命令,拉取。
2025-07-08 10:03:02
495
原创 python学习笔记
元组的元素类型 --> 和列表一样t = (1, 2, 3, "hello", [4, 5, 6], {10086: "中国移动"})print(t)# 若元组只有一个元素,定义规则t = (元素,)# 定义号好的元组就不能再次修改# 方法1dic = {"诗仙":"李白","诗圣":"杜甫"}# 方法2dic = dict({"诗仙":"李白","诗圣":"杜甫"})dic = dict("诗仙"="李白","诗圣"="杜甫")# 方法三。
2025-07-07 15:26:40
825
原创 Mac中如何Chrome禁用更新[update chflags macos]
在 macOS 系统中,系统更新提示的小红点常常让人不胜其扰。尤其是当你希望保持现有系统的稳定性,或因兼容性问题暂不想升级时,这个小红点就像一个顽固的提醒。- windowsMac版直接删除更新程序, 有效新版的 Chrome 还需要禁用该目录的写入功能恢复命令:chflags跟目录权限貌似没有关系, 变更后还是755.total 0Password:total 0然后在"关于"页面, 就会显示Google Chrome可能无法进行自动更新。The end.
2025-07-01 10:06:27
431
原创 JVM学习笔记
Java技术体系的自动内存管理,最根本的目标是自动化地解决两个问题:自动给对象分配内存以及自动回收分配给对象的内存。Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,Java 世界里“几乎”所有的对象实例都在这里分配内存,但是随着技术发展,Java对象实例都分配在堆上也渐渐变得不是绝对的。在《Java虚拟机规范》中对Java堆的描述是:“所有 的对象实例以及数组都应当在堆上分配[1]”
2025-06-28 14:36:05
1096
原创 Java如何远程登录到服务器中执行命令
我们有时候通过业务代码会关联一些东西,那么在这个时候做完操作后有可能需要去其他服务器上执行一些命令,例如我们更换了什么文件,然后需要重启另一个服务,那么这个时候就需要我们去远程执行命令了。 有两种方式,我们可以使用jsch和ganymed来进行实现,两个包都是对SSH2的封装,能够帮助我们远程连接服务器,并且执行命令。 然后调用工具类即可。 首先新建工具类。
2025-06-27 09:24:50
275
原创 什么你还不知道 disruptor
我们将定义一个事件(Event),它将携带数据@Override为了让 Disruptor 为我们在内存中预分配这些事件,我们需要一个来执行构造。这可以是一个方法引用,比如@Override创建一个事件处理器(EventHandler)@Override// 有扩展性的写法@Slf4j// 外部可以传入Consumer实现类,每处理一条消息的时候,consumer的accept方法就会被执行一次> consumer;@Override。
2025-06-23 18:03:03
842
原创 【回顾基础知识】Collection集合
Collection集合是最上层的接口,是所有集合的父接口下面具体来看:**增**:add() 方法传入的数据类型必须是 Object,所以当写入基本数据类型的时候,会做自动装箱 auto-boxing 和自动拆箱 unboxing。还有另外一个方法 addAll(),可以把另一个集合里的元素加到此集合中。remove()是删除的指定元素。那和 addAll() 对应的,自然就有removeAll(),就是把集合 B 中的所有元素都删掉。
2025-06-20 15:00:28
598
原创 保姆级介绍NIO
在Java中,我们知道Java IO是阻塞的,如果在一次读写数据调用时数据还没有准备好,或者目前不可写,那么读写操作就会被阻塞直到数据准备好或目标可写为止。Java NIO则是非阻塞的,每一次数据读写调用都会立即返回,并将目前可读(或可写)的内容写入缓冲区或者从缓冲区中输出,即使当前没有可用数据,调用仍然会立即返回并且不对缓冲区做任何操作。NIO框架是在JDK1.4推出的,它的出现就是为了解决传统IO的不足,本文就将围绕着NIO开始讲解。一切的一切还要从缓冲区开始讲起,包括源码在内,其实这个不是很难,只是需
2025-06-20 14:43:23
371
原创 Java面试高频面试题【2025最新版】
Redis淘汰策略(LRU最近最少使用,关键是看数据最后一次被使用到发生替换的时间长短,时间越长,数据就会被删除;LFU是淘汰一段时间内,使用次数最少的页面。内存满时,再执行写入,直接报错从已设TTL的键中挑选LRU的键进行删除所有键中挑选LRU的键进行删除从已设TTL的键中挑选LFU的键进行删除所有键中挑选LFU的键进行删除随机删除一个设置了TTL的键删除生存时间(TTL)最小的键Redis淘汰策略是指在内存使用达到最大限制(由maxmemory。
2025-06-19 10:24:31
1046
原创 Log4j2 自定义 Appender 详解
在日志管理系统中,Appender 是日志记录组件,负责将日志事件输出到指定的目的地,如控制台、文件、数据库等。Log4j2 作为一款强大的日志框架,支持多种内置的 Appender。然而,在某些特定场景下,我们可能需要自定义 Appender 以满足特定的日志记录需求。本文将详细介绍如何在 Log4j2 中自定义 Appender,一起来看看吧。创建自定义 Appender 类首先,我们需要创建一个继承自 AbstractAppender 的自定义 Appender 类。
2025-06-19 10:12:35
350
原创 一文带你了解什么是SFTP
你可能听说过 FTP ,那你听说过SFTP吗?SFTP是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。SFTP 为 SSH的一部分,是一种传输档案至 Blogger 伺服器的安全方式。
2025-06-18 09:35:32
1455
原创 保姆级带你了解TDD
Test-Driven Development,测试驱动开发。TDD是通过单元测试来驱动业务代码的实现。要求开发者在进行逻辑实现前,优先进行测试用例的编写,站在调用者角度而非实现者角度去思考接口。单元测试(Unit Testing)又称为模块测试,是针对程序模块来进行正确性检验的测试工作。单元就是单个程序、函数、过程等,编写程序的过程中前后很可能要进行多次单元测试。然而在工作中,一般都是追求快速迭代上线,基本很难做到有时间来写测试用例。
2025-06-16 16:24:13
1072
原创 idea使用技巧分享
分享一些常用的idea使用技巧,进来看看有没有你不知道的。正则中“\b”是元字符代表着单词的开头或结尾,也就是单词的分界处。注意 skip if defined 建议是勾选上。如果不勾选,那么自动生成的todo模板就会要你确认自动生成的变量值。CRLF: 是carriagereturnlinefeed的缩写。中文意思是回车换行。LF: 是line feed的缩写,中文意思是换行。CR: 是carriagereturn的缩写。中文意思是回车。
2025-06-16 10:57:33
460
原创 SpringBoot全局异常处理开发规范
/例举如下SUCCESS("200", "成功!"),NOT_FOUND("404", "找不到资源!"),INTERNAL_SERVER_ERROR("500", "服务器错误!"),/*** 错误码*//*** 错误描述*/@Override@Override/*** 自定义运行时异常类*//*** 错误码*//*** 错误信息*///无参构造器,提个问:构造器的作用是什么?请在评论区回答(嘿嘿)
2025-06-16 10:16:49
407
原创 一文了解sonar的搭建和使用
用户名登录默认账户密码:admin,admin控件配置问题-简述。指标-根据条件搜索项目使用代码规则-不同语言的代码检测规则定义。质量配置-对不同语言的代码检测规则配置。默认sonar way配置。未做深入详细调研。质量阈-代码检测指标定义。达到条件时项目模块变红。通过质量阈指标则项目为绿色。配置-管理员权限可以看到此菜单,包含了最基本的用户,项目,插件的配置等信息。插件下载可以不通过sonar方式进行安装。其他(项目比较)-可以对多个不同的项目进行各个不同指标的比对查看。用户-我的账号。
2025-06-13 13:19:15
1497
原创 保姆级安装OpenResty教程
首先你的Linux虚拟机必须联网!首先你的Linux虚拟机必须联网!首先你的Linux虚拟机必须联网!重要的事情说三遍。你可以在你的 CentOS 系统中添加openresty仓库,这样就可以便于未来安装或更新我们的软件包(通过命令)。然后再重复上面的命令然后就可以像下面这样安装软件包,比如openrestyopm是OpenResty的一个管理工具,可以帮助我们安装一个第三方的Lua模块。如果你想安装命令行工具opm,那么可以像下面这样安装。
2025-06-13 09:22:25
686
原创 快速了解JVM的GC历史
Java虚拟机(JVM)的垃圾回收(GC)机制是Java生态系统的核心组件之一,直接影响应用程序的性能和稳定性。从早期的简单标记清除算法,到现代的分代收集、并发回收等复杂策略,GC技术经历了多次重大演进。了解JVM的GC历史不仅能帮助开发者优化应用性能,还能深入理解Java内存管理的设计哲学,本文将梳理JVM垃圾回收的发展历史。
2025-06-11 15:16:31
964
python屏幕截图小工具
2024-12-24
python实现的摸鱼小工具
2024-12-24
python添加水印小工具
2024-12-24
如何排查CPU爆百的问题?
2022-11-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人