- 博客(63)
- 资源 (4)
- 收藏
- 关注
原创 【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
本文介绍了使用Nginx+Lua+Redis实现IP访问频率限制的方案。通过Lua脚本在Redis中记录IP访问次数,当访问超过阈值(100次/60秒)时自动封禁该IP 300秒。文章详细说明了环境准备、Redis数据结构、Lua脚本实现、Nginx配置方法以及测试步骤,并提供了连接池、错误处理和性能优化等注意事项。该方案可以有效防止恶意攻击,保障服务器安全稳定运行。
2025-06-05 21:11:57
620
原创 【Java】JDK 命令行工具
jinfo是JDK提供的命令行工具,用于查看和修改运行中的JVM配置信息。它通过Attach API连接目标JVM进程,利用JVM Tool Interface与JVM交互,主要针对HotSpot虚拟机进行操作。jinfo可以查看JVM运行参数(-flags)、系统属性(-sysprops)和环境变量(-env),并允许修改某些配置。使用时需注意权限和JDK版本兼容性。典型操作包括:jinfo -flags <pid>查看参数、jinfo -sysprops <pid>查看属性、ji
2025-06-01 15:27:33
668
原创 【shell】通过Shell命令占用内存
本文介绍了5种通过Shell命令占用内存的方法:使用dd命令读写数据、stress工具进行压力测试、结合mktemp创建临时文件、以及利用perl和python生成大字符串。每种方法都提供了具体命令示例和参数说明(如调整count值控制内存大小),适用于内存性能测试和调试场景。文章特别提醒要注意系统资源监控(使用free -m或top),避免影响系统稳定性,并建议测试后清理临时文件。这些方法可根据需求灵活调整内存占用大小,是实用的系统测试技术。
2025-05-31 23:06:10
422
原创 【shell】让 CPU 运行到满负荷状态
本文介绍了几种占用CPU资源的shell命令,包括yes、dd、openssl、stress等工具,以及使用while循环和bc数学运算的方法。这些命令可用于系统测试、压力测试等场景,能分别占用单核或多核CPU。文中详细说明了每个命令的用法和参数含义,并提醒使用时要注意资源管理,建议配合top/htop监控CPU使用情况。所有命令都可以通过Ctrl+C终止,多核系统可通过并行执行命令实现满负荷运行。
2025-05-31 22:58:36
384
原创 【Java】ForkJoin 框架
摘要:Java的ForkJoin框架通过分解任务实现并行处理,核心组件包括ForkJoinPool线程池和ForkJoinTask任务类。该框架采用工作窃取算法提高线程利用率,支持RecursiveTask和RecursiveAction两种任务类型。使用时需注意任务分解粒度和线程池配置,合理应用可显著提升程序性能。示例展示了用ForkJoin计算数组和的方法,体现其并行处理优势。
2025-05-31 18:27:19
206
原创 【Java】模拟CPU占用率
这段Java代码用于模拟CPU占用率达到约50%。主要逻辑是:通过创建多个线程,每个线程运行一个循环,在50ms内保持CPU忙碌,然后休眠50ms,从而实现平均50%的CPU占用率。main方法接收参数指定线程数量,每个线程都会重复执行这一计算-休眠模式。该程序可用于测试CPU负载情况,但使用不当可能导致系统资源过度消耗。
2025-05-31 17:47:10
97
原创 【Java】在 Spring Boot 中连接 MySQL 数据库
摘要:本文详细介绍了在Spring Boot中连接MySQL数据库的完整步骤。首先需要添加spring-boot-starter-data-jpa和mysql-connector-java依赖,然后在配置文件中设置数据库连接参数。接着创建实体类映射数据库表、通过JpaRepository接口实现数据访问、编写服务层业务逻辑以及控制器处理HTTP请求。最后提供API测试方法和常见问题解决方案,包括连接失败时的排查建议。整个过程展示了Spring Boot自动配置的优势,使数据库集成变得简单高效。
2025-05-31 00:15:14
566
原创 【软件】在 macOS 上安装 Postman
在macOS上安装Postman的步骤包括:从官网下载安装包,解压后将Postman.app拖入应用程序文件夹。首次运行时需在系统偏好设置中授权,之后可登录或跳过进入离线模式。使用时可以创建集合、添加请求、管理环境变量和测试API。若遇到无法打开的情况,需在安全设置中手动授权。Postman是一款功能强大的API测试工具,能有效提升开发和测试效率。
2025-05-31 00:14:17
1070
原创 【软件】navicat 官方免费版
Navicat Premium Lite是一款轻量级数据库管理工具,提供简洁直观的界面和基本功能,适合日常数据库开发与管理需求。它支持多种数据库连接,操作便捷高效,是开发者和DBA的理想选择。用户可从官网下载使用,体验流畅的数据管理服务。
2025-05-30 22:24:09
711
原创 【软件】在 macOS 上安装 MySQL
摘要:本文介绍了在macOS上安装MySQL的两种主要方法:使用Homebrew和安装包。通过Homebrew安装步骤包括安装Homebrew、MySQL、启动服务及安全配置;通过安装包安装则提供图形界面向导。两种方式完成后都建议运行安全脚本,并提供了验证安装、常见问题解决方法及密码重置步骤。Homebrew方式更简单推荐,而安装包适合偏好图形界面的用户。两种方法均能成功安装并运行MySQL数据库服务。
2025-05-30 21:12:27
943
原创 【设计模式】观察者模式
观察者模式是一种行为设计模式,建立一对多的依赖关系,让多个观察者对象自动响应主题对象的状态变化。该模式包含主题(Subject)和观察者(Observer)两个核心角色,通过注册/注销机制实现解耦。其优点是低耦合、可扩展性强,适用于事件驱动系统;缺点是可能产生性能问题和顺序不确定。示例展示了Java实现过程:定义Observer接口和Subject接口,创建具体观察者和主题类,通过注册机制实现状态变化通知。该模式广泛应用于事件处理、UI组件交互等场景。
2025-05-30 17:09:03
939
原创 【设计模式】责任链模式
责任链模式是一种行为设计模式,通过构建处理者链实现请求的传递和处理。主要包含抽象处理者、具体处理者和客户端三个角色。该模式降低系统耦合度,增强扩展性,避免复杂条件语句,适用于多级审批、日志处理等场景。缺点是可能影响性能,调试较困难。代码示例展示了如何构建处理链(HandlerA->HandlerB->HandlerC)并传递不同类型的请求,每个处理者仅处理特定类型的请求。该模式提高了代码灵活性和可维护性。
2025-05-30 15:34:25
816
原创 【设计模式】策略模式
策略模式是一种行为设计模式,通过定义算法族并封装每个算法,使其可以互相替换。该模式包含三个核心角色:Strategy接口定义算法规范,ConcreteStrategy实现具体算法,Context维护策略引用。示例通过加减乘三种算术运算策略展示了模式的实现方式,客户端可灵活切换不同算法。策略模式的优点包括提高扩展性、消除条件语句,缺点是可能增加类数量。适用于需要动态切换算法或避免复杂条件判断的场景,有效提升代码的可维护性和灵活性。
2025-05-30 15:26:49
912
原创 【java】aes,salt
该代码展示了一个基于AES的加密解密实现,包含盐值生成和加解密功能。SaltGenerator类生成随机盐值,AesEncryption类使用CBC模式和PKCS5填充方案进行AES加解密。主程序演示了生成16字节盐值,使用固定密钥加密"Hello, World!"字符串,并通过Base64编码输出加密结果,最后解密还原原始数据。整个流程展示了安全的加密操作实现,但实际应用中建议使用更安全的密钥生成方式而非硬编码密钥。
2025-05-29 22:59:48
498
原创 【Java】匿名内部类和实例初始化块
这种初始化方式是利用了Java的匿名内部类和实例初始化块的特性,可以在创建对象的同时完成一些初始化操作。这种方式是合法的,是因为Java语言规范允许在匿名内部类中使用实例初始化块来完成对象的初始化。在Java中,匿名内部类是一种没有名字的内部类,它通常用于创建一个类的实例,而不需要显式地定义一个类。通过匿名内部类和实例初始化块的结合,可以在创建对象的同时完成一些初始化操作,而不需要显式地定义一个构造函数或者调用。在匿名内部类中,实例初始化块的作用是在对象被创建时执行一些初始化操作。这个匿名内部类继承自。
2025-04-25 00:40:34
196
原创 【软件】在 macOS 上安装和配置 Apache HTTP 服务器
通过以上步骤,你可以在 macOS 上成功安装和配置 Apache HTTP 服务器。,说明 Apache 未安装。默认情况下,Apache HTTP 服务器监听 80 端口。你可以通过浏览器访问。如果你需要配置 SSL/TLS 来启用 HTTPS,你需要编辑 SSL 配置文件。然后,你需要创建 SSL 证书和密钥,并在配置文件中指定它们的路径。• 确保在修改配置文件后重启 Apache 服务器以应用更改。• 如果你更改了端口号,确保在防火墙设置中打开相应的端口。例如,要更改网站的根目录,你可以编辑。
2025-04-06 12:05:36
455
原创 JVM中常见的垃圾回收器(Garbage Collectors)
选择垃圾回收器时,需要考虑应用的响应时间要求、吞吐量、内存占用等因素。• 进行垃圾回收时会暂停所有应用线程(Stop-The-World,STW)。• Java 15中引入的实验性GC,目标是在非常短的停顿时间内回收大量垃圾。• Java 14中引入的实验性GC,目标是在非常短的停顿时间内回收大量垃圾。• 目标是减少停顿时间,使用标记-整理(Mark-Compact)算法。• 多线程收集器,使用多个线程进行垃圾回收,减少停顿时间。• 以并发方式进行垃圾回收,减少停顿时间。
2025-04-06 00:40:27
361
原创 【java】在 Java 中,获取一个类的`Class`对象有多种方式
对象代表了 Java 中的一个类或接口的运行时类信息,可以用于反射操作。• 通过创建对象间接获取:使用反射创建对象后,通过对象的。:通过类的完全限定名加载类,不会触发类的初始化。这种方法在加载类时会触发类的初始化。方法也可以通过类的完全限定名来加载类并获取。(Java 9+):通过类的完全限定名获取。根据你的具体需求,可以选择合适的方法来获取。方法可以通过类的完全限定名来获取。在 Java 中,获取一个类的。:通过类的完全限定名获取。对象,会触发类的初始化。方法,可以获取该对象的。方法(Java 9+)
2025-04-05 23:25:56
305
原创 【java】Class.newInstance()
方法会调用类的无参构造函数来创建对象。如果类没有无参构造函数,或者无参构造函数不可访问,会抛出异常。是一个用于创建类的新实例的方法。它调用类的无参构造函数来创建对象。• 不支持私有构造函数:如果类的无参构造函数是私有的,:调用类的无参构造函数来创建对象,但已被废弃。方法已经被标记为废弃,推荐使用其他替代方法。方法可以更灵活地创建对象,支持私有构造函数。的组合,你可以更灵活地创建类的实例,同时避免。:更灵活的替代方法,可以处理私有构造函数。:推荐的替代方法,支持私有构造函数。被标记为废弃,推荐使用替代方法。
2025-04-05 23:15:48
307
原创 在 macOS 上安装和配置 Aria2 的详细步骤
通过以上步骤,你可以在 macOS 上安装和配置 Aria2,实现高效的文件下载和管理。Aria2 的强大功能和灵活配置使其成为理想的下载工具。创建一个 LaunchAgent 配置文件,使 Aria2 在开机时自动启动。Homebrew 是 macOS 上的包管理器,可以方便地安装和管理软件包。如果你不想使用 Homebrew,可以下载预编译的 Aria2 二进制文件。• 在 AriaNg 中配置 Aria2 的 RPC 地址(默认为`• 下载完成后,挂载 DMG 文件并安装 Aria2。
2025-04-05 13:33:13
1194
原创 【无标题】object,wait,notifyAll
它使得线程可以暂停执行并释放锁,直到其他线程通过。方法使得当前线程暂停执行,并释放当前对象的锁,直到其他线程调用该对象的。• 生产者-消费者模式:生产者线程生成数据,消费者线程消费数据。• 超时机制:如果指定了超时时间,线程会在超时后自动唤醒。:使当前线程等待,直到其他线程调用该对象的。:使当前线程等待,直到其他线程调用该对象的。:使当前线程等待,直到其他线程调用该对象的。方法时,当前线程会释放当前对象的锁。,可以实现高效的线程间协作和同步。方法,用于线程间的协作和同步。• 线程中断:如果线程被中断,
2025-04-05 13:02:05
242
原创 JSON相关的Java库使用指南
以上介绍了几个常用的JSON相关Java库,每个库都有其特点和适用场景。Gson简单易用,适合初学者;Jackson功能强大,支持多种数据绑定方式;JSON.simple则提供了基本的JSON处理功能。在实际开发中,你可以根据项目的需求选择合适的库。
2025-03-23 19:31:15
912
原创 jLine3使用指南
jLine3是一个功能强大的Java库,它可以帮助开发者轻松地创建出交互式命令行应用程序。通过使用jLine3,你可以实现命令行编辑、历史记录、自动补全、语法高亮等功能,提升用户体验。希望本指南能帮助你快速上手jLine3。有时候,你可能需要自定义命令解析逻辑,以处理更复杂的命令。case "ls" : System . out . println("执行ls命令,参数: " + Arrays . toString(arguments));
2025-03-23 16:13:46
1127
原创 .gitignore使用指南
gitignore是一个文本文件,用于告诉Git哪些文件或目录在版本控制中应该被忽略。当你执行git add命令时,Git会参考.gitignore文件的内容,不会将其中指定的文件添加到暂存区。
2025-03-23 14:54:19
3414
原创 Hugo教程
Hugo允许你自定义布局模板,以满足特定的页面显示需求。你可以在layouts目录下创建或修改相应的模板文件。然后编辑文件,根据需要调整文章的显示样式。部分模板可以帮助你在多个页面中复用代码。在目录下创建自定义的部分模板,例如</</</</</</然后在其他模板中通过引用该部分模板。除了使用-d参数指定生成静态文件的目录,还可以在在url = "/"weight = 1weight = 2可以在archetypes目录下创建自定义文章模板,例如posts.md------在assets/js。
2025-03-18 00:47:52
1036
原创 Java开源软件列表
以上是补充后的一些常见的Java开源软件,它们在不同的场景中都有广泛的应用。以上是补充后的一些常见的Java开源软件,它们在不同的场景中都有广泛的应用。以上是补充后的一些常见的Java开源软件,它们在不同的场景中都有广泛的应用。以上是补充后的一些常见的Java开源软件,它们在不同的场景中都有广泛的应用。
2025-03-16 02:49:30
915
原创 Brew命令使用指南
Homebrew(简称Brew)是一款流行的Mac OS包管理工具,类似于Linux系统中的apt-get或yum。它可以帮助用户轻松地安装、更新和卸载各种软件包,包括开发工具、命令行工具、图形化应用等。通过Homebrew,你可以方便快捷地管理Mac上的软件包。掌握其基本的安装和使用方法,可以大大提高你的工作效率。
2025-03-16 02:27:49
3722
原创 OpenSSL 的主要功能及其示例命令
OpenSSL 是一个功能强大的工具,涵盖了从密钥生成、证书管理到数据加密解密的各个方面。OpenSSL 是一个功能强大的开源工具包,用于处理各种与加密相关的任务,包括生成密钥、创建证书、加密解密数据、验证证书等。• 说明:使用私钥生成一个自签名的 X.509 证书,有效期为 365 天,保存到。• 说明:使用 CA 证书和私钥签署一个证书签名请求(CSR),生成签名后的证书。• 说明:生成一个 CA 私钥和自签名的 CA 证书,有效期为 3650 天。• 说明:生成一个证书签名请求(CSR),保存到。
2025-03-12 23:58:22
780
原创 使用 OpenSSL 生成的 RSA 私钥文件(如`prikey.pem`)可以用于加密和解密数据
• 数据大小限制:RSA 加密对数据大小有限制,通常不超过密钥长度。对于大文件,建议使用对称加密(如 AES)结合 RSA 加密。以下是一个完整的示例,展示如何使用 OpenSSL 命令行工具和私钥文件对数据进行加密和解密。• 密钥长度:建议使用更高的密钥长度(如 2048 或 4096 位)以提高安全性。通过上述步骤,你可以使用 OpenSSL 和 RSA 密钥对数据进行加密和解密。使用 OpenSSL 生成的 RSA 私钥文件(如。使用私钥对加密后的数据进行解密。,你可以使用公钥对其进行加密。
2025-03-12 23:34:50
471
原创 【java】Java Cryptography Extension (JCE)
【代码】【java】Java Cryptography Extension (JCE)
2024-08-18 19:01:36
622
zlib库的使用,可以压缩和解压文件夹.zip
2020-03-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人