<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[hyc2005的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/hyc2005</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hyc2005]]></copyright><item><title><![CDATA[ 支付宝+RocketMQ实现订单功能]]></title><link>https://blog.youkuaiyun.com/hyc2005/article/details/155037475</link><guid>https://blog.youkuaiyun.com/hyc2005/article/details/155037475</guid><author>hyc2005</author><pubDate>Wed, 19 Nov 2025 22:37:40 +0800</pubDate><description><![CDATA[当用户在购物车页面点击结算按钮时后端调用支付宝进行支付宝支付请求，同时将用户填写的订单数据录入到数据库中，并且向RocketMQ的Borker中发送一个半事务消息，但此时消费者消费不了这个消息，进行事务判断，如果判断结果都符合则标记为“成功”消息，提交事务，进行物流发货，清空购物车，修改库存信息，修改订单信息等操作，如果判定结果不符合则标记为“失败”则回滚事务，发送广播消息至Borker，当注册的监听器收到消息，则进行退款和取消订单操作。]]></description><category></category></item><item><title><![CDATA[基于JWT的RESTful登录系统实现]]></title><link>https://blog.youkuaiyun.com/hyc2005/article/details/154093026</link><guid>https://blog.youkuaiyun.com/hyc2005/article/details/154093026</guid><author>hyc2005</author><pubDate>Wed, 29 Oct 2025 23:18:27 +0800</pubDate><description><![CDATA[本文介绍了如何使用JWT实现RESTful API的用户登录功能。JWT是一种由Header、Payload和Signature三部分组成的令牌，具有无状态、自包含和安全性高等特点。文章详细说明了JWT的工作原理、优势以及与Session的对比，并提供了完整的后端实现代码，包括Spring Boot配置、MySQL数据库创建、JWT工具类编写等。前端部分展示了Vue实现的登录页面和首页跳转逻辑，通过Axios与后端交互，实现令牌验证和用户认证。整个方案采用RESTful架构风格，体现了现代Web应用的安全认]]></description><category></category></item><item><title><![CDATA[Redis概述]]></title><link>https://blog.youkuaiyun.com/hyc2005/article/details/153578433</link><guid>https://blog.youkuaiyun.com/hyc2005/article/details/153578433</guid><author>hyc2005</author><pubDate>Tue, 28 Oct 2025 21:22:28 +0800</pubDate><description><![CDATA[持久性是指将数据写⼊持久存储，例如固态磁盘 ( SSD )。Redis 本身提供了⼀系列持久化选项： RDB （ Redis 数据库）： RDB 持久性以指定的时间间隔执⾏数据集的时间点快照。AOF （ Append Only File ）： AOF 持久化记录服务器接收到的每个写操作，在服务器启动时再次播放，重 建原始数据集。命令使⽤与 Redis 协议本身相同的格式以仅附加⽅式记录。当⽇志变得太⼤时， Redis 能 够在后台重写⽇志。]]></description><category></category></item><item><title><![CDATA[Redis和MySQL的数据同步]]></title><link>https://blog.youkuaiyun.com/hyc2005/article/details/152513692</link><guid>https://blog.youkuaiyun.com/hyc2005/article/details/152513692</guid><author>hyc2005</author><pubDate>Sat, 04 Oct 2025 17:32:29 +0800</pubDate><description><![CDATA[于是我们在查询学生信息的时候将查到的学生信息挨个放入redis缓存之前，先将他们的序号id记录在新的集合中，再将他们的数据保存在另外一个集合之中，以保留的id作为他们的键值，他们之间相互对应，在需要修改redis缓存中的学生信息时就能通过他们保留的id直接修改他们的信息。普通的查询学生信息只会将学生的信息直接扔入redis缓存中，他们共用一个键值，当我们对MySQL数据库的数据进行修改后，不能对redis缓存中的单个学生信息进行准确修改，导致redis和MySQL中的数据不能同步。]]></description><category></category></item><item><title><![CDATA[Linux 概述]]></title><link>https://blog.youkuaiyun.com/hyc2005/article/details/151903209</link><guid>https://blog.youkuaiyun.com/hyc2005/article/details/151903209</guid><author>hyc2005</author><pubDate>Sun, 21 Sep 2025 19:42:45 +0800</pubDate><description><![CDATA[本文介绍了Linux系统的基础知识与常用操作，主要包括：1. 虚拟化技术原理及VMware安装配置，包括桥接和NAT两种网络模式；2. CentOS 7安装及源配置；3. Linux内核与发行版的关系，常用命令及VI/VIM编辑器使用；4. 常用软件安装（Java、Tomcat、MySQL、Redis）的详细步骤；5. 用户和组管理，包括增删改查及权限设置；6. 文件权限管理，讲解chmod和chown命令的使用方法。文章提供了从Linux环境搭建到系统管理的完整指南。]]></description><category></category></item><item><title><![CDATA[SpringBoot 学习]]></title><link>https://blog.youkuaiyun.com/hyc2005/article/details/151656884</link><guid>https://blog.youkuaiyun.com/hyc2005/article/details/151656884</guid><author>hyc2005</author><pubDate>Sat, 20 Sep 2025 19:45:38 +0800</pubDate><description><![CDATA[SpringBoot 帮我们简单、快速地创建⼀个独立的、生产级别的 Spring 应用，大多数 SpringBoot 应用只需要编写少量配置即可快速整合 Spring 平台以及第三方技术！SpringBoot 的主要目标是：为所有 Spring 开发提供更快速、可广泛访问的入门体验。开箱即用，设置合理的默认值，但是也可以根据需求进行适当的调整。提供⼀系列⼤型项目通用的非功能性程序（如嵌入式服务器、安全性、指标、运行检查等）。约定大于配置，基本不需要主动编写配置类、也不需要 XML 配置文件。]]></description><category></category></item><item><title><![CDATA[Java ArrayList+手撕源代码]]></title><link>https://blog.youkuaiyun.com/hyc2005/article/details/147099197</link><guid>https://blog.youkuaiyun.com/hyc2005/article/details/147099197</guid><author>hyc2005</author><pubDate>Wed, 09 Apr 2025 18:33:33 +0800</pubDate><description><![CDATA[ArrayList 类是一个可以动态修改的数组，与普通数组的区别就是它是没有固定大小的限制，我们可以添加或删除元素。ArrayList 继承了 AbstractList ，并实现了 List 接口。ArrayList 是一个数组队列，提供了相关的添加、删除、修改、遍历等功能。]]></description><category></category></item><item><title><![CDATA[Java 集合框架]]></title><link>https://blog.youkuaiyun.com/hyc2005/article/details/146778555</link><guid>https://blog.youkuaiyun.com/hyc2005/article/details/146778555</guid><author>hyc2005</author><pubDate>Sun, 30 Mar 2025 21:51:07 +0800</pubDate><description><![CDATA[Java集合框架为程序员提供了预先包装的数据结构和算法来操纵他们。集合是一个对象，可容纳其他对象的引用。集合接口声明对每一种类型的集合可以执行的操作。集合框架的类和接口均在java.util包中。任何对象加入集合类后，自动转变为Object类型，所以在取出的时候，需要进行强制类型转换。]]></description><category></category></item><item><title><![CDATA[Java 数据结构]]></title><link>https://blog.youkuaiyun.com/hyc2005/article/details/146572659</link><guid>https://blog.youkuaiyun.com/hyc2005/article/details/146572659</guid><author>hyc2005</author><pubDate>Thu, 27 Mar 2025 22:25:42 +0800</pubDate><description><![CDATA[Java 提供了丰富的数据结构来处理和组织数据。Java 的 java.util 包中提供了许多这些数据结构的实现，可以根据需要选择合适的类。]]></description><category></category></item><item><title><![CDATA[Java 接口]]></title><link>https://blog.youkuaiyun.com/hyc2005/article/details/146456785</link><guid>https://blog.youkuaiyun.com/hyc2005/article/details/146456785</guid><author>hyc2005</author><pubDate>Thu, 27 Mar 2025 00:30:00 +0800</pubDate><description><![CDATA[基本概念：接口（英文：Interface），在JAVA编程语言中是一个抽象类型，是抽象方法的集合，接口通常以interface来声明。一个类通过继承接口的方式，从而来继承接口的抽象方法。接口并不是类，编写接口的方式和类很相似，但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。除非实现接口的类是抽象类，否则该类要定义接口中的所有方法。接口无法被实例化，但是可以被实现。一个实现接口的类，必须实现接口内所描述的所有方法，否则就必须声明为抽象类。]]></description><category></category></item><item><title><![CDATA[Java 反射（Reflection）]]></title><link>https://blog.youkuaiyun.com/hyc2005/article/details/146542586</link><guid>https://blog.youkuaiyun.com/hyc2005/article/details/146542586</guid><author>hyc2005</author><pubDate>Wed, 26 Mar 2025 22:19:29 +0800</pubDate><description><![CDATA[Java 反射（Reflection）是一个强大的特性，它允许程序在运行时查询、访问和修改类、接口、字段和方法的信息。反射提供了一种动态地操作类的能力，这在很多框架和库中被广泛使用，例如Spring框架的依赖注入。]]></description><category></category></item><item><title><![CDATA[Java 包(package)]]></title><link>https://blog.youkuaiyun.com/hyc2005/article/details/146514847</link><guid>https://blog.youkuaiyun.com/hyc2005/article/details/146514847</guid><author>hyc2005</author><pubDate>Tue, 25 Mar 2025 22:52:38 +0800</pubDate><description><![CDATA[为了更好地组织类，Java 提供了包机制，用于区别类名的命名空间。]]></description><category></category></item><item><title><![CDATA[Java 多态]]></title><link>https://blog.youkuaiyun.com/hyc2005/article/details/146445933</link><guid>https://blog.youkuaiyun.com/hyc2005/article/details/146445933</guid><author>hyc2005</author><pubDate>Tue, 25 Mar 2025 00:00:00 +0800</pubDate><description><![CDATA[多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口，使用不同的实例而执行不同操作，如图所示：多态性是对象多种表现形式的体现。同一个事件发生在不同的对象上会产生不同的结果。]]></description><category></category></item><item><title><![CDATA[Java 枚举(enum)]]></title><link>https://blog.youkuaiyun.com/hyc2005/article/details/146486092</link><guid>https://blog.youkuaiyun.com/hyc2005/article/details/146486092</guid><author>hyc2005</author><pubDate>Mon, 24 Mar 2025 21:17:06 +0800</pubDate><description><![CDATA[Java 枚举是一个特殊的类，一般表示一组常量，比如一年的 4 个季节，一年的 12 个月份，一个星期的 7 天，方向有东南西北等。Java 枚举类使用 enum 关键字来定义，各个常量使用逗号 , 来分割。例如定义一个颜色的枚举类。以上枚举类 Color 颜色常量有 RED, GREEN, BLUE，分别表示红色，绿色，蓝色。执行以上代码输出结果为：RED。]]></description><category></category></item><item><title><![CDATA[Java 重写(Override)与重载(Overload)]]></title><link>https://blog.youkuaiyun.com/hyc2005/article/details/146444516</link><guid>https://blog.youkuaiyun.com/hyc2005/article/details/146444516</guid><author>hyc2005</author><pubDate>Mon, 24 Mar 2025 00:00:00 +0800</pubDate><description><![CDATA[方法的重写(Overriding)和重载(Overloading)是java多态性的不同表现，重写是父类与子类之间多态性的一种表现，重载可以理解成多态的具体表现形式。(1)方法重载是一个类中定义了多个方法名相同,而他们的参数的数量不同或数量相同而类型和次序不同,则称为方法的重载(Overloading)。(2)方法重写是在子类存在方法与父类的方法的名字相同,而且参数的个数与类型一样,返回值也一样的方法,就称为重写(Overriding)。]]></description><category></category></item><item><title><![CDATA[Java 封装]]></title><link>https://blog.youkuaiyun.com/hyc2005/article/details/146453459</link><guid>https://blog.youkuaiyun.com/hyc2005/article/details/146453459</guid><author>hyc2005</author><pubDate>Sun, 23 Mar 2025 15:22:28 +0800</pubDate><description><![CDATA[在面向对象程式设计方法中，封装（英语：Encapsulation）是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。封装可以被认为是一个保护屏障，防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据，必须通过严格的接口控制。封装最主要的功能在于我们能修改自己的实现代码，而不用修改那些调用我们代码的程序片段。适当的封装可以让程式码更容易理解与维护，也加强了程式码的安全性。]]></description><category></category></item><item><title><![CDATA[Java 构造方法]]></title><link>https://blog.youkuaiyun.com/hyc2005/article/details/146439687</link><guid>https://blog.youkuaiyun.com/hyc2005/article/details/146439687</guid><author>hyc2005</author><pubDate>Sun, 23 Mar 2025 00:00:00 +0800</pubDate><description><![CDATA[在 Java 中，构造方法（Constructor）是用于创建类的对象的特殊方法。当使用 new 关键字创建对象时，构造方法会自动调用，用来初始化对象的属性。：构造方法的名称必须与类名完全一致，包括大小写。这是构造方法的一个基本要求。：构造方法没有返回类型声明，即使是void也不写。这使得它与普通方法区分开来。：每次使用new创建对象时，构造方法会自动调用，以初始化对象的属性和状态。：构造方法只能通过new关键字在创建对象时调用，不能像普通方法那样直接调用。]]></description><category></category></item><item><title><![CDATA[Java 抽象类]]></title><link>https://blog.youkuaiyun.com/hyc2005/article/details/146446038</link><guid>https://blog.youkuaiyun.com/hyc2005/article/details/146446038</guid><author>hyc2005</author><pubDate>Sat, 22 Mar 2025 20:49:00 +0800</pubDate><description><![CDATA[1. 抽象类不能被实例化(初学者很容易犯的错)，如果被实例化，就会报错，编译无法通过。只有抽象类的非抽象子类可以创建对象。2. 抽象类中不一定包含抽象方法，但是有抽象方法的类必定是抽象类。3. 抽象类中的抽象方法只是声明，不包含方法体，就是不给出方法的具体实现也就是方法的具体功能。4. 构造方法，类方法（用 static 修饰的方法）不能声明为抽象方法。5. 抽象类的子类必须给出抽象类中的抽象方法的具体实现，除非该子类也是抽象类。]]></description><category></category></item><item><title><![CDATA[JAVA异常处理]]></title><link>https://blog.youkuaiyun.com/hyc2005/article/details/146117044</link><guid>https://blog.youkuaiyun.com/hyc2005/article/details/146117044</guid><author>hyc2005</author><pubDate>Sat, 22 Mar 2025 11:51:11 +0800</pubDate><description><![CDATA[在 Java 中你可以自定义异常。编写自己的异常类时需要记住下面的几点。所有异常都必须是 Throwable 的子类。如果希望写一个检查性异常类，则需要继承 Exception 类。如果你想写一个运行时异常类，那么需要继承 RuntimeException 类。只继承Exception 类来创建的异常类是检查性异常类。下面的 InsufficientFundsException 类是用户定义的异常类，它继承自 Exception。一个异常类和其它任何类一样，包含有变量和方法。]]></description><category></category></item><item><title><![CDATA[Java SE 学习（面向对象）]]></title><link>https://blog.youkuaiyun.com/hyc2005/article/details/145229933</link><guid>https://blog.youkuaiyun.com/hyc2005/article/details/145229933</guid><author>hyc2005</author><pubDate>Sat, 18 Jan 2025 17:30:01 +0800</pubDate><description><![CDATA[继承是java面向对象编程技术的一块基石，因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为，使得子类对象（实例）具有父类的实例域和方法，或子类从父类继承方法，使得子类具有父类相同的行为。]]></description><category></category></item></channel></rss>