<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[youxiaxiaomage的博客]]></title><description><![CDATA[小白一枚]]></description><link>https://blog.youkuaiyun.com/youxiaxiaomage</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; youxiaxiaomage]]></copyright><item><title><![CDATA[Linux多个虚拟机且同一个用户名，挂载磁盘的，无读写权限问题]]></title><link>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/149496929</link><guid>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/149496929</guid><author>youxiaxiaomage</author><pubDate>Mon, 21 Jul 2025 09:08:36 +0800</pubDate><description><![CDATA[由于生产临时更换服务器，比如原服务是基于普通用户，比如test用户启动的。但是新服务器我们创建了test用户，应用启动后，报无读写权限，操作被拒绝。理应相同用户应该读写权限一直才对。其实对于linux需要相同用户且ui相同才能读写权限保持一致。可以通过cmdb的用户管理信息列表来对生产的用户进行统一的uid规划。使用uid相同的用户启动，但是会出现uid相同但用户名不同的情况。发现test用户下对应的uid是不同的，从而出现上述问题。]]></description><category></category></item><item><title><![CDATA[Java开发常用工具类]]></title><link>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/144550973</link><guid>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/144550973</guid><author>youxiaxiaomage</author><pubDate>Wed, 18 Dec 2024 09:35:11 +0800</pubDate><description><![CDATA[数值型比较、最大值、最小值、BigDecimal转换、是否是数字等。对象深克隆，克隆的对象要实现Serializable接口。字符串判空、空串，截位，分割，替换，匹配，大小写转换等。后续遗漏的会不定期更新。]]></description><category></category></item><item><title><![CDATA[SpringBoot feign基于HttpStatus重试]]></title><link>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/144497298</link><guid>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/144497298</guid><author>youxiaxiaomage</author><pubDate>Mon, 16 Dec 2024 09:15:01 +0800</pubDate><description><![CDATA[基于springboot开发的项目，对接第三方，第三方的接口有限流策略，某个时间段内有调用频率限制，返回的状态码HttpStatus不是200，而HttpStatus是429。现基于HttpStatus我们发起的重试。]]></description><category></category></item><item><title><![CDATA[mybatisplus实体对象使用lombok @Builder导致查询报错问题分析]]></title><link>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/144128124</link><guid>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/144128124</guid><author>youxiaxiaomage</author><pubDate>Fri, 29 Nov 2024 10:20:03 +0800</pubDate><description><![CDATA[从这可以看出是因为使用@Builder的注解给咱们生成了全部字段的构造器，查询的字段不是按照这个顺序来的。但是我们没有去定义这种构造器，这我们就会联想到lombok，看一下编译后的类的class文件。才从这行代码分析可以看出，他是从当前resultType声明的构造器获取进行字段类型转换。从这边可以看出course字段实体对象定义的是字符串，反而他的类型转换器是Integer。保留@Builder，增加无参构造。实体对象，这边字段顺序与表不一致。不使用@Builder注解。]]></description><category></category></item><item><title><![CDATA[设计模式之模板方法模式]]></title><link>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139493148</link><guid>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139493148</guid><author>youxiaxiaomage</author><pubDate>Thu, 06 Jun 2024 10:25:40 +0800</pubDate><description><![CDATA[模板方法模式是一种行为设计模式，它在一个方法中定义了一个算法的骨架，并允许子类为一个或多个步骤提供实现。这可以让子类在不改变算法结构的情况下，重新定义算法的某些步骤。]]></description><category></category></item><item><title><![CDATA[设计模式之中介者模式]]></title><link>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139493114</link><guid>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139493114</guid><author>youxiaxiaomage</author><pubDate>Thu, 06 Jun 2024 10:24:47 +0800</pubDate><description><![CDATA[中介者模式是一种行为设计模式，它减少了类之间的通信复杂性。这种模式提供了一个中介类，该类通常处理所有的通信，并支持易维护的方式来协调多个类。]]></description><category></category></item><item><title><![CDATA[设计模式之建造者模式]]></title><link>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139493063</link><guid>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139493063</guid><author>youxiaxiaomage</author><pubDate>Thu, 06 Jun 2024 10:23:45 +0800</pubDate><description><![CDATA[建造者模式是一种创建型设计模式，它提供了一种封装一个对象的复杂构造过程的解决方案。在建造者模式中，我们将一个复杂对象的构建与其表示分离，使得同样的构建过程可以创建不同的表示。]]></description><category></category></item><item><title><![CDATA[设计模式之策略模式]]></title><link>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139492175</link><guid>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139492175</guid><author>youxiaxiaomage</author><pubDate>Thu, 06 Jun 2024 10:06:01 +0800</pubDate><description><![CDATA[策略模式是一种行为设计模式，它使你能在运行时改变对象的行为。在策略模式中，我们创建对象，它们表示各种策略，并且一个上下文对象，其行为根据其策略对象的行为而变化。策略对象改变上下文对象的执行算法。这种类型的设计模式属于行为模式。在策略模式中，我们创建了表示各种策略的对象和一个行为随其策略对象变化的上下文对象。策略对象改变上下文对象的执行算法。]]></description><category></category></item><item><title><![CDATA[设计模式之备忘录模式]]></title><link>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139469233</link><guid>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139469233</guid><author>youxiaxiaomage</author><pubDate>Wed, 05 Jun 2024 12:45:36 +0800</pubDate><description><![CDATA[备忘录模式（Memento Pattern）是一种行为设计模式，它提供了一种在不破坏封装性的前提下，捕获一个对象的内部状态，并在该对象之外保存这个状态，这样以后就可以将该对象恢复到原先保存的状态。Originator（发起人）：创建一个含有当前状态的备忘录对象，也可以使用备忘录对象恢复内部状态。Memento（备忘录）：存储发起人的状态信息，但对外部屏蔽了发起人状态的细节，防止外部对象对状态进行非法访问。]]></description><category></category></item><item><title><![CDATA[设计模式之命令模式]]></title><link>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139466456</link><guid>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139466456</guid><author>youxiaxiaomage</author><pubDate>Wed, 05 Jun 2024 10:56:38 +0800</pubDate><description><![CDATA[命令模式（Command Pattern）是一种行为设计模式，它将请求封装为一个对象，从而让你可以用不同的请求对客户进行参数化，队列化请求或者记录请求日志，以及支持可撤销的操作。命令接口（Command Interface）：定义执行操作的接口。具体命令（Concrete Command）：实现命令接口，负责具体的业务逻辑处理。接收者（Receiver）：真正执行操作的类，包含业务逻辑方法。调用者（Invoker）：持有命令对象，并调用其execute方法来执行命令。]]></description><category></category></item><item><title><![CDATA[设计模式之责任链模式]]></title><link>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139443914</link><guid>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139443914</guid><author>youxiaxiaomage</author><pubDate>Tue, 04 Jun 2024 15:12:45 +0800</pubDate><description><![CDATA[责任链模式（Chain of Responsibility Pattern）是一种行为设计模式，它允许你将请求沿着处理者链进行发送。收到请求后，每个处理者都可以处理请求或将其传递给链中的下一个处理者。这一模式简化了对象之间的相互连接，使得多个对象都有机会处理请求，从而避免了请求的发送者和接收者之间的耦合。处理请求的接口：定义处理请求的接口或抽象类。具体处理者：实现上述接口的具体类，可以处理请求，也可以选择将请求传递给链中的下一个处理者。责任链：管理处理者的链结构，可以决定请求的传递路径。]]></description><category></category></item><item><title><![CDATA[设计模式之迭代器模式]]></title><link>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139420945</link><guid>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139420945</guid><author>youxiaxiaomage</author><pubDate>Mon, 03 Jun 2024 17:45:50 +0800</pubDate><description><![CDATA[迭代器模式（Iterator Pattern）是行为设计模式之一，它提供了一种访问集合对象元素的方式，而不需要暴露集合的内部表示。迭代器模式可以让你顺序地访问集合中的每个元素，而无需知道集合的底层实现。这种方式支持对不同类型的集合进行统一的操作，增加了程序的灵活性和可扩展性。Iterable（Iterable Interface）: 定义了创建迭代器对象的接口。Iterator（Iterator Interface）: 定义了遍历集合元素所需的方法，如hasNext()和next()。]]></description><category></category></item><item><title><![CDATA[设计模式之状态模式]]></title><link>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139411783</link><guid>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139411783</guid><author>youxiaxiaomage</author><pubDate>Mon, 03 Jun 2024 12:58:09 +0800</pubDate><description><![CDATA[状态模式是一种行为设计模式，它允许对象在内部状态改变时改变其行为，看起来好像这个对象改变了它的类。这种模式常用于处理对象在不同状态下的不同行为，使得代码更加结构化和易于维护。Context（上下文）：持有一个State对象的引用，通常会有一个方法来设置或获取当前状态。State（状态）：定义了状态接口，声明了所有可能的操作。ConcreteState（具体状态）：实现了State接口，提供了具体的行为。]]></description><category></category></item><item><title><![CDATA[设计模式之委派(托)模式]]></title><link>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139401760</link><guid>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139401760</guid><author>youxiaxiaomage</author><pubDate>Mon, 03 Jun 2024 08:17:39 +0800</pubDate><description><![CDATA[委派模式（Delegate Pattern）是一种设计模式，它允许在运行时将责任或行为从一个对象传递给另一个对象。在这种模式中，一个对象（称为委托者）持有对另一个对象（称为被委托者或实际处理者）的引用，并将某些请求转发给这个被委托者来处理。委派模式提供了一种方式来扩展对象的功能，而无需修改对象的结构或实现。在某些编程语言中，如C#，delegate 关键字用于定义委托类型，这是一种引用类型，可以指向符合特定方法签名的任何方法。]]></description><category></category></item><item><title><![CDATA[设计模式之解释器模式]]></title><link>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139385230</link><guid>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139385230</guid><author>youxiaxiaomage</author><pubDate>Sun, 02 Jun 2024 09:41:37 +0800</pubDate><description><![CDATA[解释器模式（Interpreter Pattern）是一种行为设计模式，它提供了一种方式来表示语言或表达式的语法，并定义了如何解释这些表达式来执行特定任务。这种模式常用于小型语言或简单的表达式解析，例如配置文件、SQL查询构建器或者计算表达式等。Expression（表达式）: 抽象表达式接口，定义了一个interpret方法，用于解释表达式。AbstractExpression（抽象表达式）: 为所有具体表达式提供一个公共接口，通常包含interpret方法的实现。]]></description><category></category></item><item><title><![CDATA[设计模式之访问者模式]]></title><link>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139383946</link><guid>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139383946</guid><author>youxiaxiaomage</author><pubDate>Sun, 02 Jun 2024 09:20:37 +0800</pubDate><description><![CDATA[访问者模式（Visitor Pattern）是一种行为设计模式，它允许在不修改对象结构的前提下，为对象添加新的操作。这种模式将算法与数据结构分离，提供了对对象结构进行高层操作的方式，使得在不改变原有对象结构的情况下，可以对对象的行为进行扩展。访问者模式的核心思想是定义一个访问者接口，这个接口规定了可以对哪些元素进行操作。然后，让结构中的每个元素都接受这个访问者，并实现一个接受（visit）方法，该方法接受访问者作为参数，调用访问者中的相应操作。这样，访问者就可以遍历整个对象结构并执行特定的操作。]]></description><category></category></item><item><title><![CDATA[设计模式之观察者模式]]></title><link>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139383893</link><guid>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139383893</guid><author>youxiaxiaomage</author><pubDate>Sun, 02 Jun 2024 09:14:51 +0800</pubDate><description><![CDATA[观察者模式（Observer Pattern）是一种行为设计模式，它允许你定义一个订阅机制，可以在对象事件发生时通知多个“观察”该对象的其他对象。这种模式创建了一种一对多的依赖关系，当主题（Subject）的状态改变时，所有依赖于它的观察者（Observer）都会得到通知并自动更新。]]></description><category></category></item><item><title><![CDATA[2024最新VMware Workstation Pro下载教程]]></title><link>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139380099</link><guid>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139380099</guid><author>youxiaxiaomage</author><pubDate>Sat, 01 Jun 2024 21:49:25 +0800</pubDate><description><![CDATA[现在下载都需到博通注册对应的账号。登录后会跳转到博通的管理中心。自从2024年5月份之后，就不能直接在vm官网下载。登录邮箱输入对应的验证码。5. 个人使用选择个人版。]]></description><category></category></item><item><title><![CDATA[flowable常见操作]]></title><link>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139319619</link><guid>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139319619</guid><author>youxiaxiaomage</author><pubDate>Thu, 30 May 2024 11:31:24 +0800</pubDate><description><![CDATA[描述：A将任务转办给B，B审核完成就到下一个节点，不会再到A。描述：名词介绍：A将任务转办给B，B审核完成就再回到A。描述：业务数据的审核需要区别不同用户和委派任务的审核。]]></description><category></category></item><item><title><![CDATA[flowable工作流定制化修改]]></title><link>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139318856</link><guid>https://blog.youkuaiyun.com/youxiaxiaomage/article/details/139318856</guid><author>youxiaxiaomage</author><pubDate>Thu, 30 May 2024 11:11:21 +0800</pubDate><description><![CDATA[自定义用户任务拦截器@Slf4j@Override@Override源码中...@Override......= null) {......= null) {......// 这边去定制化各种验证校验器简单检查流程是否存在开始、结束节点@OverrideaddError(errors, "流程必须存在开始或结束节点", mainProcess, "流程必须存在开始或结束节点");]]></description><category></category></item></channel></rss>