<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[屹奕的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_73620832</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_73620832]]></copyright><item><title><![CDATA[恶意跳转网站问题分析与讨论]]></title><link>https://blog.youkuaiyun.com/m0_73620832/article/details/156577284</link><guid>https://blog.youkuaiyun.com/m0_73620832/article/details/156577284</guid><author>m0_73620832</author><pubDate>Sun, 04 Jan 2026 21:14:56 +0800</pubDate><description><![CDATA[本文介绍了使用阿里云公共DNS防止网页恶意跳转的方法。阿里云DNS具备安全防护强、解析稳定准确、免费无广告三大优势，能有效拦截钓鱼网站和病毒链接。文章详细提供了Windows、macOS电脑及手机的配置步骤，并给出验证方法。配置时需注意区分IPv4和IPv6地址，建议使用官方提供的223.5.5.5、223.6.6.6（IPv4）和2400:3200::1、2400:3200:baba::1（IPv6）地址。通过简单设置即可从根源上解决DNS劫持问题，提升网络安全性和访问速度。]]></description><category></category></item><item><title><![CDATA[说一下Redis为什么快]]></title><link>https://blog.youkuaiyun.com/m0_73620832/article/details/154613995</link><guid>https://blog.youkuaiyun.com/m0_73620832/article/details/154613995</guid><author>m0_73620832</author><pubDate>Sun, 09 Nov 2025 17:52:31 +0800</pubDate><description><![CDATA[Redis通过内存存储、单线程模型和IO多路复用三大核心技术实现高性能。内存操作避免磁盘IO瓶颈，单线程规避多线程开销，IO多路复用高效处理并发。搭配高效数据结构和Redis6.0多线程IO优化，全面提升性能。持久化方面采用RDB快照和AOF日志组合：RDB实现快速备份恢复，AOF确保数据一致性。生产环境中&quot;RDB+AOF&quot;方案既保障数据安全，又兼顾恢复效率，完美平衡性能与可靠性。]]></description><category></category></item><item><title><![CDATA[Java中过滤器与拦截器]]></title><link>https://blog.youkuaiyun.com/m0_73620832/article/details/154573675</link><guid>https://blog.youkuaiyun.com/m0_73620832/article/details/154573675</guid><author>m0_73620832</author><pubDate>Sat, 08 Nov 2025 16:13:40 +0800</pubDate><description><![CDATA[过滤器(Filter)与拦截器(Interceptor)是Java中两种常用的请求拦截机制。过滤器基于Servlet规范，作用于Web容器层，可拦截所有请求，适用于编码转换、跨域处理等通用逻辑；拦截器是SpringMVC组件，作用于Controller层，可访问业务对象，适用于权限控制、日志记录等业务场景。两者可互补使用，过滤器处理HTTP层需求，拦截器专注业务校验。技术选型应根据项目架构和实际需求，实现通用逻辑与业务代码的解耦。]]></description><category></category></item><item><title><![CDATA[BigDecimal是怎么比较大小的]]></title><link>https://blog.youkuaiyun.com/m0_73620832/article/details/154405284</link><guid>https://blog.youkuaiyun.com/m0_73620832/article/details/154405284</guid><author>m0_73620832</author><pubDate>Tue, 04 Nov 2025 19:24:48 +0800</pubDate><description><![CDATA[BigDecimal是Java的高精度小数类，核心比较应使用compareTo()而非equals()或==。compareTo()仅比较数值大小，返回-1/0/1表示小于/等于/大于；而equals()还会校验精度。此外，signum()方法可快速判断数值符号（1正/0零/-1负）。金融等精确计算场景优先使用compareTo()进行数值比较，避免精度差异导致的误判。]]></description><category></category></item><item><title><![CDATA[equals()与hashCode()之间的关系]]></title><link>https://blog.youkuaiyun.com/m0_73620832/article/details/154360148</link><guid>https://blog.youkuaiyun.com/m0_73620832/article/details/154360148</guid><author>m0_73620832</author><pubDate>Mon, 03 Nov 2025 21:07:19 +0800</pubDate><description><![CDATA[摘要：Java中的equals()和hashCode()方法是Object类的核心方法，用于对象比较和哈希表操作。equals()判断对象内容是否相等，默认比较内存地址，需要重写；hashCode()生成哈希值用于快速定位对象。必须同时重写这两个方法，否则会违反Java核心约定（equals返回true时hashCode必须相等），导致哈希集合（如HashMap、HashSet）出现查找失效、重复元素等问题。HashSet内部基于HashMap实现，通过元素作为键保证唯一性。]]></description><category></category></item><item><title><![CDATA[基于EasyExcel实现Excel导出功能]]></title><link>https://blog.youkuaiyun.com/m0_73620832/article/details/154359471</link><guid>https://blog.youkuaiyun.com/m0_73620832/article/details/154359471</guid><author>m0_73620832</author><pubDate>Mon, 03 Nov 2025 20:53:15 +0800</pubDate><description><![CDATA[EasyExcel是阿里开源的高效Java Excel处理工具，相比POI显著降低内存消耗。文章重点介绍了其导出功能，包括单次写入示例和分页多次写入方案。核心优势在于：1) 3M文件仅需几MB内存；2) 支持分Sheet写入，单个文件可含多个Sheet；3) 提供分页查询机制避免OOM。示例代码展示了300万数据导出实现，包含响应头设置、分页数据获取、Sheet切换等关键逻辑，通过WriterSheet控制写入位置，PAGE_SIZE平衡性能与内存，实现大数据量安全导出。等等]]></description><category></category></item><item><title><![CDATA[Arthas工具快速使用]]></title><link>https://blog.youkuaiyun.com/m0_73620832/article/details/154251817</link><guid>https://blog.youkuaiyun.com/m0_73620832/article/details/154251817</guid><author>m0_73620832</author><pubDate>Sat, 01 Nov 2025 20:54:00 +0800</pubDate><description><![CDATA[Arthas是阿里巴巴开源的Java诊断工具，支持实时监控Java应用运行状态而无需重启或修改代码。本文介绍了Arthas的基础使用：通过java-jar命令启动并连接目标进程；常用命令包括dashboard查看系统状态、jvm查看虚拟机信息、trace追踪方法调用耗时等；特别演示了如何用trace命令监控Spring接口性能，并解析了参数含义。文章强调Arthas&quot;无侵入&quot;的核心价值，能有效解决线上问题排查、性能优化等场景需求，同时建议结合官方文档探索更多高级功能。]]></description><category></category></item><item><title><![CDATA[IDEA多实例项目启动模拟负载均衡]]></title><link>https://blog.youkuaiyun.com/m0_73620832/article/details/154201558</link><guid>https://blog.youkuaiyun.com/m0_73620832/article/details/154201558</guid><author>m0_73620832</author><pubDate>Fri, 31 Oct 2025 19:34:46 +0800</pubDate><description><![CDATA[本文介绍了多实例项目启动及负载均衡的配置方法：首先通过编辑配置启动项目，使用IDEA快捷键Alt+8打开服务窗口；其次针对命令行过长导致的启动失败问题，提供了解决方案。只需按照步骤配置，最后点击应用确定即可完成设置，有效解决了项目启动过程中的常见问题。]]></description><category></category></item><item><title><![CDATA[MyBatis的缓存机制]]></title><link>https://blog.youkuaiyun.com/m0_73620832/article/details/154084152</link><guid>https://blog.youkuaiyun.com/m0_73620832/article/details/154084152</guid><author>m0_73620832</author><pubDate>Wed, 29 Oct 2025 20:22:03 +0800</pubDate><description><![CDATA[MyBatis缓存机制解析：MyBatis提供两级缓存优化查询性能。一级缓存为SqlSession级别，默认开启，缓存当前会话查询结果，执行更新操作或会话关闭时失效。二级缓存是Mapper级别，需手动配置，可跨SqlSession共享，生命周期与SqlSessionFactory一致，执行对应namespace的更新操作时清空。二者区别在于作用范围（私有/共享）、生命周期和开启方式。二级缓存可通过配置文件或注解开启，适合单机环境，分布式场景建议结合Redis等中间件实现缓存共享。理解这两级缓存机制有助于优化]]></description><category></category></item><item><title><![CDATA[Java内存模型（JMM）与JVM内存模型]]></title><link>https://blog.youkuaiyun.com/m0_73620832/article/details/153982749</link><guid>https://blog.youkuaiyun.com/m0_73620832/article/details/153982749</guid><author>m0_73620832</author><pubDate>Mon, 27 Oct 2025 21:19:15 +0800</pubDate><description><![CDATA[Java内存模型(JMM)与JVM内存模型解析：JMM定义多线程环境下共享内存的交互规则，解决原子性、可见性和有序性问题，通过Happens-Before规则平衡性能与安全；JVM内存模型则管理运行时数据区，包括堆(对象实例)、方法区(类信息)、虚拟机栈(方法调用)等。理解二者的区别与联系是掌握Java并发编程的关键，JMM关注&quot;如何安全交互&quot;，JVM关注&quot;数据存储位置&quot;。]]></description><category></category></item><item><title><![CDATA[SpringBoot常用注解]]></title><link>https://blog.youkuaiyun.com/m0_73620832/article/details/153932386</link><guid>https://blog.youkuaiyun.com/m0_73620832/article/details/153932386</guid><author>m0_73620832</author><pubDate>Sun, 26 Oct 2025 21:06:12 +0800</pubDate><description><![CDATA[本文总结了SpringBoot开发中常用的核心注解及其用途：1. 核心注解：@SpringBootApplication组合了@Configuration、@EnableAutoConfiguration和@ComponentScan 2. 请求处理：@RestController及各种HTTP方法注解（@GetMapping等），配合@RequestParam、@PathVariable等参数处理 3. 依赖注入：对比@Autowired（类型优先）和@Resource（名称优先）的使用场景 4. 参数校]]></description><category></category></item><item><title><![CDATA[MySQL事务隔离级别]]></title><link>https://blog.youkuaiyun.com/m0_73620832/article/details/153924340</link><guid>https://blog.youkuaiyun.com/m0_73620832/article/details/153924340</guid><author>m0_73620832</author><pubDate>Sun, 26 Oct 2025 15:47:30 +0800</pubDate><description><![CDATA[摘要：事务是关系型数据库的ACID特性操作单元，包含原子性、一致性、隔离性和持久性。并发事务可能产生脏读（读取未提交数据）、不可重复读（同一事务两次读取结果不同）和幻读（范围查询结果行数变化）问题。MySQL提供四种隔离级别：读未提交（可能脏读）、读已提交（避免脏读）、可重复读（默认级别，避免脏读和不可重复读）和串行化（最高隔离，避免所有并发问题）。不同级别在数据一致性和性能间权衡，MVCC机制可进一步优化并发控制。]]></description><category></category></item><item><title><![CDATA[Git查看及更改用户信息命令]]></title><link>https://blog.youkuaiyun.com/m0_73620832/article/details/153918915</link><guid>https://blog.youkuaiyun.com/m0_73620832/article/details/153918915</guid><author>m0_73620832</author><pubDate>Sun, 26 Oct 2025 11:36:46 +0800</pubDate><description><![CDATA[本文介绍了如何查看和修改Git全局配置中的用户信息。查看信息可使用git config --global --list查看全部配置，或通过git config --global user.name/email单独查看用户名和邮箱。修改信息则分别使用git config --global user.name、user.password和user.email命令更新用户名、密码和邮箱，后接新值即可。这些命令用于管理Git提交时关联的用户身份信息。]]></description><category></category></item><item><title><![CDATA[DBeaver如何导入.sql后缀文件]]></title><link>https://blog.youkuaiyun.com/m0_73620832/article/details/153833552</link><guid>https://blog.youkuaiyun.com/m0_73620832/article/details/153833552</guid><author>m0_73620832</author><pubDate>Fri, 24 Oct 2025 16:40:41 +0800</pubDate><description><![CDATA[本文介绍了两种在DBeaver中导入并执行SQL脚本的方法：1）先创建demo数据库后执行脚本：右键点击数据库→工具→执行脚本→配置路径→开始执行；2）先导入脚本再执行：通过文件菜单导入脚本→右键本地连接创建任务→选择脚本继续执行。两种方法均可成功执行，并支持查看脚本内容执行特定SQL语句。操作过程都包含选择脚本、配置路径和最终执行三个主要步骤。]]></description><category></category></item><item><title><![CDATA[常见加密算法有哪些]]></title><link>https://blog.youkuaiyun.com/m0_73620832/article/details/153820294</link><guid>https://blog.youkuaiyun.com/m0_73620832/article/details/153820294</guid><author>m0_73620832</author><pubDate>Fri, 24 Oct 2025 11:15:59 +0800</pubDate><description><![CDATA[本文介绍了五种常见加密算法： AES：对称加密标准，支持128/192/256位密钥，速度快适合大数据加密； RSA：非对称加密，基于大数分解难题，适用于SSL/数字签名等场景； CRC：循环冗余校验算法，用于快速数据校验； MD5：已被破解的128位哈希函数，仅适用于非安全场景； SHA-256：安全哈希算法，抗碰撞性强，广泛应用于区块链等领域； BCrypt：专为密码存储设计，内置加盐和慢哈希特性。 文中还对比了各算法的特点和安全适用场景，为技术选型提供参考。]]></description><category></category></item><item><title><![CDATA[Webstorm注释快捷键设置]]></title><link>https://blog.youkuaiyun.com/m0_73620832/article/details/147962710</link><guid>https://blog.youkuaiyun.com/m0_73620832/article/details/147962710</guid><author>m0_73620832</author><pubDate>Wed, 14 May 2025 20:48:15 +0800</pubDate><description><![CDATA[在WebStorm中，可以通过以下步骤创建并使用自定义代码注释模板：首先，打开WebStorm的设置，找到“Live Templates”选项并选择JavaScript。接着，添加一个新模板，设置快捷键为“///+Enter”以实现快速代码注释。然后，点击“Define”按钮，选择该模板适用的文件类型，这里选择JavaScript文件。最后，应用该模板后，只需在编辑器中输入“///”并按下Enter键，即可自动生成预设的代码注释。这一功能可以显著提高代码注释的效率，特别适合需要频繁添加注释的开发场景。
]]></description><category></category></item><item><title><![CDATA[IntelliJ IDEA使用技巧(json字符串格式化)]]></title><link>https://blog.youkuaiyun.com/m0_73620832/article/details/144619014</link><guid>https://blog.youkuaiyun.com/m0_73620832/article/details/144619014</guid><author>m0_73620832</author><pubDate>Fri, 20 Dec 2024 20:40:41 +0800</pubDate><description><![CDATA[IntelliJ IDEA使用技巧json字符串格式化]]></description><category></category></item><item><title><![CDATA[基于RabbitMQ实现延迟队列]]></title><link>https://blog.youkuaiyun.com/m0_73620832/article/details/140799846</link><guid>https://blog.youkuaiyun.com/m0_73620832/article/details/140799846</guid><author>m0_73620832</author><pubDate>Tue, 30 Jul 2024 17:01:52 +0800</pubDate><description><![CDATA[延迟队列是一种用来存放需要在指定时间之后或之前被处理的元素的队列。队列中的每个元素都指定了一个延迟时间，该时间表示元素应该在何时被取出并处理。在延迟时间到达之前，元素会保持在队列中，不会被消费者立即消费。]]></description><category></category></item><item><title><![CDATA[解决系统因为在此系统上禁止运行脚本（vue -v）报错、node.js问题]]></title><link>https://blog.youkuaiyun.com/m0_73620832/article/details/140406450</link><guid>https://blog.youkuaiyun.com/m0_73620832/article/details/140406450</guid><author>m0_73620832</author><pubDate>Sat, 13 Jul 2024 21:14:11 +0800</pubDate><description><![CDATA[vue : 无法加载文件 D:\develop\nodejs\vue.ps1，因为在此系统上禁止运行脚本。有关详细信息，请参阅 https:/go.microsoft.com/
fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ vue -v
+ ~~~
  + CategoryInfo     : SecurityError: (:) []，PSSecurityException
  + FullyQua]]></description><category></category></item><item><title><![CDATA[windows11自动更新解决]]></title><link>https://blog.youkuaiyun.com/m0_73620832/article/details/140377242</link><guid>https://blog.youkuaiyun.com/m0_73620832/article/details/140377242</guid><author>m0_73620832</author><pubDate>Fri, 12 Jul 2024 14:24:32 +0800</pubDate><description><![CDATA[解决windows11自动更新，本文介绍通过修改Windows注册表来延长系统更新的暂停时间。具体步骤：1.使用Win+R打开运行窗口，输入&quot;redegit&quot;启动注册表编辑器；2.导航至HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings路径；3.新建32位DWORD值并命名为FlightSettingsMaxPauseDays；4.设置完成后通过Win+i进入系统设置，可在Windows更新界面看到延长暂停效果…]]></description><category></category></item></channel></rss>