自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

欢迎来到我的技术博客!这里是一个专注于软件开发的地方,我将分享关于 Java、Python、C++ 和易语言等多种编程语言的教程、技巧、最佳实践以及开发经验。

Java之旅: Java 是一门强大且广泛使用的编程语言,我将分享有关 Java 开发的最新趋势、实用技巧、性能优化和常见问题的解决方案。 Python编程乐趣: Python 是一门简洁、易学且功能强大的语言,我将探索 Python 的

  • 博客(133)
  • 收藏
  • 关注

原创 网页截取长图案例

123123123

2025-07-11 13:13:18 261

原创 若依上传组件使用

上传组件的使用

2025-07-09 15:17:48 320

原创 若依框架自动填充功能的实现。这种功能通常是通过 MyBatis-Plus 的自动填充功能实现的。

本文介绍了基于MyBatis-Plus的自动审计字段实现方案。通过定义包含创建/更新时间和操作人等字段的BaseEntity基类,配合@TableField注解的自动填充策略,实现审计字段的自动化管理。系统使用MetaObjectHandler处理插入和更新操作时自动填充当前时间和登录用户信息,并通过配置类注册该处理器。这种设计让实体类只需继承BaseEntity即可自动获得审计功能,无需手动维护这些字段,简化了开发流程并确保了数据一致性。异常情况下会抛出带有HTTP 401状态的ServiceExcept

2025-07-07 10:47:24 231

原创 java面试:网络通信

本文主要分析了TCP与UDP的区别、Java的三种IO模型、NIO核心组件以及HTTP与HTTPS的差异。TCP是面向连接的可靠协议,采用三次握手避免资源浪费;UDP是无连接的高效协议。Java的BIO、NIO和AIO分别适用于不同场景,NIO使用Channel、Buffer和Selector提升效率。select、poll和epoll是三种I/O多路复用机制,epoll性能最优。HTTPS通过SSL加密比HTTP更安全,但需要证书且性能较低。文章对常见网络协议和Java网络编程要点进行了简明对比。

2025-06-08 13:07:00 535

原创 java面试:JAVA并发篇

Java并发编程核心知识点总结 Java开启线程的4种方式:继承Thread类、实现Runnable接口、实现Callable接口以及线程池。线程安全可通过Synchronized关键字或Lock锁机制实现。Volatile仅保证线程可见性,不能保证原子性,在DCL单例中用于防止指令重排。Java锁机制包含偏向锁、轻量级锁和重量级锁,会根据竞争激烈程度自动升级。AQS框架通过state信号量和线程队列实现同步,可重入锁通过state记录加锁次数。多线程协调可使用CountDownLatch、CylicBar

2025-06-08 13:05:20 554

原创 java面试场景题:QPS 短链系统怎么设计

301永久重定向和 302 临时重定向。301永久重定向:第⼀次请求拿到⻓链接后,下次浏览器再去请求短链的话,不会向短⽹址服务器请求了,⽽是直接从浏览器的缓存⾥拿,减少对服务器的压⼒。302临时重定向:每次去请求短链都会去请求短⽹址服务器(除⾮响应中⽤ Cache-Control或 Expired 暗示浏览器进⾏缓存)使⽤ 301 虽然可以减少服务器的压⼒,但是⽆法在 server 层获取到短⽹址的访问次数了,如果链接刚好是某个活动的链接,就⽆法分析此活动的效果以及⽤于⼤数据分析了。⽽ 302

2025-06-07 09:04:52 460

原创 java场景面试题:订单未⽀付过期如何实现⾃动关单

优点:同RocketMQ⼀样,RabbitMQ同样可以使业务解耦,基于其集群的扩展性,也可以实现⾼可⽤、⾼性能的⽬标。缺点:死信队列本质还是⼀个队列,队列都是先进先出,如果队头的消息过期时间⽐较⻓,就会导致后⾯过期的消息⽆法得到及时消费,造成消息阻塞。总结:除了增加系统复杂度之外,死信队列的阻塞问题也是需要我们重点关注的。

2025-06-07 09:01:06 398

原创 java面试场景题:电商平台中订单未⽀付过期如何实现⾃动关单

本文介绍Redis在数据统计和订单关单场景的高效实现方案。针对数据统计提出四种方法:1)聚合统计用集合处理交并差运算,注意大数据量时性能影响;2)排序统计推荐有序集合实现动态排序;3)二值状态统计使用Bitmap节省存储;4)基数统计采用HyperLogLog实现低内存去重。订单关单方案对比三种实现:定时任务简单但延迟高;延迟队列无外部依赖但有丢失风险;Redis监听实时性强需处理消息可靠性。各类场景均有对应Redis数据结构提供最优解决方案。

2025-06-06 08:38:23 413

原创 java面试场景提题:

本文探讨了应对突发性百倍QPS增长的系统设计方案,从硬件、架构、代码、数据四个维度构建优化策略。重点介绍了微服务架构演进路径,包括集群化、服务拆分和RPC通信优化,通过Dubbo示例展示服务调用实现。针对高并发场景,详细阐述了RPC通信优化、消息队列应用及数据库扩展方案,如读写分离和分库分表。最后分析了Dubbo提供的六种容错模式及其适用场景。全文采用模块化结构,辅以代码示例和表格对比,系统性地呈现了应对流量激增的技术解决方案。

2025-06-06 08:36:32 345

原创 java面试场景题: 设计⼀个秒杀系统

秒杀系统设计要点摘要(150字) 秒杀系统需遵循"4要1不要"原则:数据最小化、请求数优化、路径缩短、依赖分级和消除单点。设计演进路径为:低并发时采用定时上架方案,10万QPS需独立部署系统并引入缓存,百万级QPS需动静分离与本地缓存。关键实现包括:静态资源CDN加速、动态数据JSON精简、热点商品本地缓存(如ConcurrentHashMap)、服务分级降级。通过缩短请求链路、减少数据传输量(可降80%)、无状态化设计来应对高并发挑战,在性能与成本间取得平衡。

2025-06-05 11:21:49 569

原创 java面试场景题: 设计⼀个微博系统

这篇指南概述了微博系统设计的方法论,从面试技巧到实践框架。首先强调系统设计考察的核心是沟通与权衡能力,而非技术堆砌。接着指出三大常见误区,包括过早提及技术名词、追求完美方案和缺乏互动。然后提出四步设计框架:需求确认(明确功能与指标)、整体架构(模块化拆分)、核心模块设计(发帖/时间线流程)和可扩展优化(缓存/分库策略)。最后以微博系统为例,展示关键技术选型和架构图。全文强调结构化思维和渐进式设计在解决复杂问题中的价值。

2025-06-05 11:11:17 752

原创 java面试 网络编程与 Java I/O:技术要点解析

网络编程和 I/O 模型是现代软件开发中的关键技术。TCP 和 UDP 的选择取决于应用场景,TCP 更适合可靠传输,UDP 更适合高效传输。Java 的三种 I/O 模型各有优缺点,BIO 适用于连接较少的场景,NIO 适用于连接较多的场景,AIO 适用于高并发场景。select、poll 和 epoll 是 Linux 提供的多路复用机制,epoll 是效率最高的机制。HTTP 和 HTTPS 的选择取决于对安全性的需求,HTTPS 提供了更高的安全性,但需要付出更高的成本和性能代价。

2025-06-04 09:27:50 523

原创 微服务面试资料1

本文系统介绍了Java微服务架构的核心知识,包括微服务的优缺点、Spring Cloud技术栈、分布式事务解决方案、服务拆分设计原则及敏捷开发实践。重点分析了微服务的高内聚低耦合特性,对比了Spring Cloud和Spring Cloud Alibaba组件,详细讲解了Seata等分布式事务方案,提出基于DDD的拆分方法论。同时介绍了中台战略与微服务的结合,以及敏捷开发中的持续集成、AB发布等关键实践。全文为Java开发者提供了全面的微服务面试知识体系。

2025-06-04 09:23:25 1401

原创 VUE生成二维码案例

【代码】VUE生成二维码案例。

2025-06-02 06:14:21 173

原创 若依 Plus 自定义字典的使用

若依 Plus 是一款基于若依框架的增强版本,广泛应用于企业级项目开发。其字典管理功能是系统的核心模块之一,主要用于维护一些较为固定的数据类型,如下拉框、单选按钮、复选框等,方便系统管理员进行统一管理

2025-05-23 11:57:34 607

原创 draw.io的基础与进阶使用指南

一、Draw.io 简介Draw.io 是一款功能强大的绘图工具,支持在线使用和本地安装。它提供了丰富的模板和形状元素,能够绘制流程图、UML 图、甘特图、网络图等多种图形。Draw.io 的文件格式支持可编辑的矢量图和位图,方便后续修改。

2025-05-19 16:04:26 2088

原创 Java实现:如何在文件夹中查找重复文件

在处理大量文件时,重复文件会占用存储空间并导致管理混乱。本文介绍了如何使用Java编程在文件夹中查找重复文件。通过递归遍历文件夹、计算文件的SHA-256哈希值,并将哈希值与文件路径存储在HashMap中,可以快速识别重复文件。代码实现包括递归遍历、哈希值计算和重复文件输出功能。用户只需指定文件夹路径,程序即可自动查找并输出重复文件的路径,帮助高效管理和清理文件。

2025-05-19 16:03:44 862

原创 二进制与十进制互转的方法

二进制和十进制是计算机科学和日常生活中最常见的两种数制。二进制是计算机内部数据存储和处理的基础,而十进制则是我们日常使用的数制。掌握两者之间的转换方法对计算机学习者和从业者至关重要。本文介绍了二进制、八进制、十进制和十六进制的基本概念,并详细讲解了二进制与十进制之间的转换方法。理解这些数制及其转换规则,有助于更好地理解计算机系统的工作原理和数据表示方式。

2025-05-18 00:03:27 481

原创 windows触摸板快捷指南

本文档详细介绍了触控手势的操作规范,采用清晰的层级划分和标准化表述。手势操作分为单指、双指、三指和四指四类,每类手势均以表格形式列出,包含手势名称、功能描述及等效操作。单指操作包括单击+滑动、双击和三击,分别对应选择内容、选中单词和选中整行文本。双指操作涵盖上下/左右滑动、张开/捏合和轻触,用于页面滚动、缩放和呼出右键菜单。三指操作包括向下、左右、向上滑动和轻触,分别对应最小化窗口、切换应用、打开任务视图和全局搜索。四指轻触则用于打开通知中心。文档还提供了优化说明,强调标准化表述、增强可读性、逻辑分组和扩展

2025-05-18 00:03:02 569

原创 js脚本bilibili下载视频

js下载B站视频插件

2025-05-17 09:17:50 145

原创 GitHub 中文化插件

GitHub 中文化插件是一个用户脚本,旨在将 GitHub 界面的部分菜单和内容翻译为中文。该插件由沙漠之子开发和维护,基于楼教主的原始版本。插件支持多个 GitHub 相关网站,如 GitHub、GitHub Skills、Gist 和 GitHub Status。它通过监听页面的 DOM 变化,自动翻译页面标题、仓库简介、Gist 简介等内容。插件使用 MutationObserver 监视页面变化,并根据预定义的中文词汇库进行翻译。用户可以通过设置启用或禁用正则表达式匹配,插件还支持多语言选择(默认

2025-05-17 09:16:35 192

原创 检测特定URL1428

该用户脚本(UserScript)名为“检测特定URL1428”,用于在浏览器的当前URL匹配特定字符串时,在控制台打印消息并应用自定义CSS样式。脚本通过@match指令适用于所有网站,并在页面加载时检查URL是否包含目标字符串“APP_Z82AEPBKQ1064V6QHJEO”。如果匹配成功,脚本会在控制台输出当前URL和“检测到了”的消息,并动态添加CSS样式,使类名为.vc-text.fn-hide的元素显示出来。脚本版本为1.0.2,采用MIT许可证,支持通过GreasyFork进行更新。

2025-05-16 09:17:35 120

原创 解决B站复制文本

该脚本是一个用于解决B站专栏文本复制问题的用户脚本。通过禁用B站页面上对.article-holder元素的事件监听,并设置其CSS属性允许用户选择文本,脚本确保了用户可以正常复制B站专栏中的内容。此外,脚本还绑定了copy事件,确保复制的文本能够正确传递到剪贴板中。该脚本适用于所有B站的专栏页面,并可通过Tampermonkey等用户脚本管理器进行安装和更新。

2025-05-16 09:17:09 409

原创 使用 BookMarkHub 插件进行书签同步

通过 BookMarkHub 插件,你可以方便地将书签同步到 GitHub Gist,实现跨设备管理书签。

2025-03-15 22:47:10 574

原创 《Electron 学习之旅:从入门到实践》

Electron 简介 Electron 是由 GitHub 开发的一个开源框架,基于 Chromium 和 Node.js。它允许开发者使用 Web 技术(HTML、CSS、JavaScript)构建跨平台的桌面应用程序。Electron 的优势 跨平台:支持Windows、macOS 和 Linux。易于上手:对于熟悉 Web 开发的开发者来说,学习曲线平缓。强大的功能:可以访问底层系统功能,同时享受 Web 开发的灵活性。

2025-03-15 22:46:35 455

原创 windows禁止同一个文件夹被多次打开

好像写反了

2025-03-14 09:17:52 377

原创 你的第一个逆向脚本案例:初探逆向工程:以修改《植物大战僵尸》阳光值为例

在软件开发和游戏开发领域,逆向工程是一种常见的技术手段,用于分析软件或游戏的内部工作机制。通过逆向工程,我们可以学习程序的运行逻辑,甚至实现一些有趣的功能,比如修改游戏中的阳光值。本文将通过一个简单的案例——修改《植物大战僵尸》中的阳光值,带你走进逆向工程的世界。一、逆向工程简介 逆向工程(ReverseEngineering)是指通过对软件或硬件的结构、功能和工作原理进行分析,还原其设计思路和实现逻辑的过程。在软件领域,逆向工程通常用于分析程序的二进制代码,以了解其内部工作机制。

2025-03-14 09:17:01 1243

原创 终端运行脚本报: 因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fw link/?LinkID=135170 中的 about_Execution_

PowerShell 执行策略是一种安全机制,用于控制哪些脚本可以在系统上运行。默认情况下,Windows 系统会设置较为严格的执行策略,以防止恶意脚本的执行。执行策略有以下几种常见级别:Restricted(限制):不允许运行任何脚本。AllSigned(全部签名):仅允许运行经过数字签名的脚本。RemoteSigned(远程签名):允许运行本地脚本,但远程下载的脚本需要数字签名。Unrestricted(无限制):允许运行所有脚本,但会警告未签名的脚本。

2025-03-12 08:49:07 2223

原创 完全卸载旧的nodejs

在软件开发和日常使用中,Node.js 是许多开发者不可或缺的工具。然而,随着版本的更新和项目的更迭,旧版本的 Node.js 可能会占用宝贵的系统资源,甚至引发兼容性问题。,因此完全卸载旧的 Node.js 成为了一个重要的操作步骤。本文将详细介绍如何在不同操作系统中彻底卸载旧版本的 Node.js,确保系统环境的整洁和高效。一、为什么需要完全卸载旧的 Node.js版本冲突:不同项目可能依赖不同版本的 Node.js,旧版本的存在可能会导致项目运行时出现意外的版本冲突,影响开发效率。

2025-03-12 08:48:51 975

原创 设置IDEA的内存

如何设置 IntelliJ IDEA 的内存以提升性能一、引言IntelliJ IDEA 是一款功能强大的集成开发环境(IDE),广泛应用于 Java、Kotlin、Scala 等多种编程语言的开发。它以其丰富的功能、智能的代码提示和高效的项目管理能力深受开发者喜爱。然而,随着项目规模的增大和功能的复杂化,IDEA 的内存占用问题可能会逐渐显现,导致软件运行缓慢甚至卡顿。合理设置 IDEA 的内存参数,可以有效提升其性能,让开发过程更加顺畅。二、理解 IDEA 的内存设置原理。

2025-03-11 08:43:38 4171

原创 nvm安装详细教程:Node.js 版本管理的得力助手

为什么需要 nvm?在 Node.js 开发中,以下几种场景常见: 项目版本不兼容:不同项目可能依赖不同版本的 Node.js,nvm 可以轻松切换版本。升级与降级:开发者可能需要升级到最新版本或回退到旧版本进行调试,nvm 简化了这一过程。多人协作开发:团队成员使用 nvm可以确保开发环境一致,避免因 Node.js 版本不同导致的兼容性问题。nvm(Node Version Manager)是一个用于管理Node.js 版本的命令行工具。

2025-03-11 08:43:20 2538

原创 nginx部署前后端项目

【代码】nginx部署前后端项目。

2025-03-05 01:19:00 277

原创 WPS中如何调整字符串的间距和行距:高效排版技巧

首先,打开你的WPS文字文档,并选中需要调整字符间距的文本。

2025-03-04 09:59:54 676

原创 docker最新的镜像可用地址

【代码】docker最新的镜像可用地址。

2025-03-04 09:40:05 172

原创 nexus如何上传自己的依赖包

如果你有意向将某个功能封装成一个自定义的starter,那么你可能需要考虑以下情况:设想你正在开发一个项目,这个项目可以利用你自定义的starter。当你在自己的电脑上开发时,一切看似顺利。但如果你更换了开发设备,或者有其他开发者加入你的项目,他们从git上克隆代码后,会发现无法获取到你自定义的starter依赖,因为它只存在于你的本地maven仓库中!因此,无论是对于个人开发者还是企业团队,拥有一个私有maven仓库都是极其方便的。

2025-03-01 20:20:26 486

原创 VSCode如何备份与恢复 VSCode 插件

在使用 VSCode 时,插件是提升开发效率的重要工具。然而,由于各种原因(如系统重装、插件损坏或误删),我们可能需要重新安装或恢复插件。

2025-03-01 20:20:05 845

原创 NPM设置代理

【代码】NPM设置代理。

2025-02-28 09:51:12 1045

原创 markdown的文本或者标题居中

【代码】markdown的文本或者标题居中。

2025-02-28 09:49:37 398

原创 魔兽世界第二个插件开发

【代码】魔兽世界第二个插件开发。

2025-02-26 09:31:08 321

原创 java爬虫过登录接口设置Cookie案例

【代码】java爬虫过登录接口设置Cookie案例。

2025-02-26 09:30:36 94

空空如也

空空如也

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

TA关注的人

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