<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Azure_xw的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Azure_xw</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Azure_xw]]></copyright><item><title><![CDATA[DBeaver Public Key Retrieval is not allowed解决]]></title><link>https://blog.youkuaiyun.com/Azure_xw/article/details/126254898</link><guid>https://blog.youkuaiyun.com/Azure_xw/article/details/126254898</guid><author>Azure_xw</author><pubDate>Tue, 09 Aug 2022 20:20:02 +0800</pubDate><description><![CDATA[记录日常mysql开发]]></description><category></category></item><item><title><![CDATA[redis (error) NOAUTH Authentication required 问题分析解决]]></title><link>https://blog.youkuaiyun.com/Azure_xw/article/details/126151083</link><guid>https://blog.youkuaiyun.com/Azure_xw/article/details/126151083</guid><author>Azure_xw</author><pubDate>Thu, 04 Aug 2022 00:03:35 +0800</pubDate><description><![CDATA[记录 redis 日常开发学习]]></description><category></category></item><item><title><![CDATA[Mybatis 调试查看执行的 SQL 语句]]></title><link>https://blog.youkuaiyun.com/Azure_xw/article/details/125826676</link><guid>https://blog.youkuaiyun.com/Azure_xw/article/details/125826676</guid><author>Azure_xw</author><pubDate>Sat, 16 Jul 2022 23:34:04 +0800</pubDate><description><![CDATA[记录 mybatis 开发问题定位，持续补充...]]></description><category></category></item><item><title><![CDATA[Ubantu 安装 Oracle JDK]]></title><link>https://blog.youkuaiyun.com/Azure_xw/article/details/125814394</link><guid>https://blog.youkuaiyun.com/Azure_xw/article/details/125814394</guid><author>Azure_xw</author><pubDate>Sat, 16 Jul 2022 00:23:32 +0800</pubDate><description><![CDATA[记录一次 Ubantu 安装 Oracle JDK 的操作步骤，后续有更新继续补充]]></description><category></category></item><item><title><![CDATA[Redis 梳理]]></title><link>https://blog.youkuaiyun.com/Azure_xw/article/details/125186743</link><guid>https://blog.youkuaiyun.com/Azure_xw/article/details/125186743</guid><author>Azure_xw</author><pubDate>Wed, 08 Jun 2022 16:14:16 +0800</pubDate><description><![CDATA[redis 常见知识点梳理汇总，持续更新。。。]]></description><category></category></item><item><title><![CDATA[RabbitMQ 笔记]]></title><link>https://blog.youkuaiyun.com/Azure_xw/article/details/124843649</link><guid>https://blog.youkuaiyun.com/Azure_xw/article/details/124843649</guid><author>Azure_xw</author><pubDate>Wed, 18 May 2022 15:32:55 +0800</pubDate><description><![CDATA[延迟队列实现原理
a. 死信的来源
ⅰ. 消息 TTL 过期
ⅱ. 队列已经达到了最大长度(队列满了，无法添加消息到 MQ 中)
ⅲ. 消息被拒绝
b. 延迟队列：不就想要消息延迟多久被处理，TTL 则刚好能让消息在延迟多久之后成为死信，成为死信的消息都会被投递到死信队列里，这样只需要消费者一直消费死信队列里的消息就完事了，因为里面的消息都是希望被立即处理的消息
c. 存在的问题：
ⅰ. RabbitMQ 只会检查第一个消息是否过期，过期则投递到死信队列中，
ⅱ. 如果第一消息的延时时长很长，而第二个消息.]]></description><category></category></item><item><title><![CDATA[适配器(Adapter)]]></title><link>https://blog.youkuaiyun.com/Azure_xw/article/details/124078419</link><guid>https://blog.youkuaiyun.com/Azure_xw/article/details/124078419</guid><author>Azure_xw</author><pubDate>Sun, 10 Apr 2022 15:02:11 +0800</pubDate><description><![CDATA[适配器模式说明

适配器模式(Adapter) 通常也被称为转换器，当一个对象或类的接口不能匹配用户所期待的接口时，适配器就充当中间转换的角色，以达到兼容用户接口的目的，同时适配器也实现了客户端与接口的解耦，提高了组件的可复用性

充当一个适配、兼容的工作

例子

两插脚的电子设备如何使用三孔插座实现通电，开启电视

● Target（目标接口）：客户端要使用的目标接口标准，对应本章例程中的三相插孔接口TriplePin。

● Adapter（适配器）：实现了目标接口，负责适配（转换）被适配者的接口sp]]></description><category></category></item><item><title><![CDATA[观察者模式(Observer)]]></title><link>https://blog.youkuaiyun.com/Azure_xw/article/details/124077302</link><guid>https://blog.youkuaiyun.com/Azure_xw/article/details/124077302</guid><author>Azure_xw</author><pubDate>Sun, 10 Apr 2022 14:08:43 +0800</pubDate><description><![CDATA[发布/订阅

现实中的观察者（Observer）往往是主动方，这是由于目标主题（Subject）缺乏主观能动性造成的，其状态的更新并不能主动地通知观察者，这就造成观察行为的持续往复。而在软件设计中我们可以将目标主题作为主动方角色，将观察者反转为被动方角色，建立反向驱动式的消息响应机制，以此来避免做无用功，优化软件效率

作为一种发布/订阅（publish/subscribe）式模型，观察者模式被大量应用于具有一对多关系对象结构的场景，它支持多个观察者订阅一个目标主题。一旦目标主题的状态发生变化，目标对象..]]></description><category></category></item><item><title><![CDATA[装饰器模式(Decorator)]]></title><link>https://blog.youkuaiyun.com/Azure_xw/article/details/124070512</link><guid>https://blog.youkuaiyun.com/Azure_xw/article/details/124070512</guid><author>Azure_xw</author><pubDate>Sat, 09 Apr 2022 23:32:10 +0800</pubDate><description><![CDATA[装饰器模式说明

装饰器模式（Decorator）能够在运行时动态地为原始对象增加一些额外的功能，使其变得更加强大

类似俄罗斯套娃

需要明白两个概念：装饰器和装饰者

装饰者：大男孩， 实现了行为接口，具备了基本的行为

行为接口：

装饰器抽象类：对装饰器的抽象，并实现了行为接口

-装饰器实现类：调用装饰器父类构造器，注入装饰者，如“好看的皮囊”、“有趣的灵魂”

实例代码


package com.azure.design.decorator;

/**
 *  人类行为
 */
public ]]></description><category></category></item><item><title><![CDATA[模板模式(Template)]]></title><link>https://blog.youkuaiyun.com/Azure_xw/article/details/124069553</link><guid>https://blog.youkuaiyun.com/Azure_xw/article/details/124069553</guid><author>Azure_xw</author><pubDate>Sat, 09 Apr 2022 22:29:46 +0800</pubDate><description><![CDATA[模板模式说明

模板是对多种事物的结构、形式、行为的模式化总结，而模板方法模式（Template Method）则是对一系列类行为（方法）的模式化

基类定义了一套模板（不可变），供子类继承，子类可以扩展（可变），丰富自己的业务场景

当然，对于基类模板中的步骤方法并不是必须要用抽象方法，而是完全可以用实体方法去实现一些通用的操作，灵活设计，如果子类需要个性化就对其进行重写变更，不需要就直接继承。根据场景进行适当的变通，才能对设计模式更灵活、更恰当的运用。

...]]></description><category></category></item><item><title><![CDATA[单例模式(Singleton)]]></title><link>https://blog.youkuaiyun.com/Azure_xw/article/details/124069010</link><guid>https://blog.youkuaiyun.com/Azure_xw/article/details/124069010</guid><author>Azure_xw</author><pubDate>Sat, 09 Apr 2022 21:57:07 +0800</pubDate><description><![CDATA[Singleton（单例）：

包含一个自己的类实例的属性，并把构造方法用private关键字隐藏起来，对外只提供getInstance()方法以获得这个单例对象

除了“饿汉”与“懒汉”这2种单例模式，其实还有其他的实现方式。但万变不离其宗，它们统统都是由这2种模式发展、衍生而来的

饿汉示例代码：


/**
 * 饿汉模式
 */
public class HungerSingleton {

    private static final HungerSinglet...]]></description><category></category></item><item><title><![CDATA[sqlplus(数据泵)导入导出dmp实践使用]]></title><link>https://blog.youkuaiyun.com/Azure_xw/article/details/124029222</link><guid>https://blog.youkuaiyun.com/Azure_xw/article/details/124029222</guid><author>Azure_xw</author><pubDate>Thu, 07 Apr 2022 23:12:13 +0800</pubDate><description><![CDATA[准备工作

source~/.profile:加载环境变量

切换 oracle 用户

导出 dmp 文件

先进入，然后创建文件路径，不能直接在命令行写绝对路径

①.进入 sqlplus

sqlplus as sysdba

②.创建导出文件存在路径，即执行路径

create directory directory_name as '/home/oracle';

or

create directorydirectory_name as '/ora_data';

create director]]></description><category></category></item><item><title><![CDATA[门面模式(Facade)]]></title><link>https://blog.youkuaiyun.com/Azure_xw/article/details/124029027</link><guid>https://blog.youkuaiyun.com/Azure_xw/article/details/124029027</guid><author>Azure_xw</author><pubDate>Thu, 07 Apr 2022 22:57:56 +0800</pubDate><description><![CDATA[门面模式说明

它能将多个不同的子系统接口封装起来，并对外提供统一的高层接口，使复杂的子系统变得更易使用

为了达到高效、便捷的目的，门店会统一对子系统进行整合与调度

外观门面类内部封装了大量的子系统资源

在实际场景中可能还会包含一些更加复杂的逻辑

实际业务场景

业务逻辑层（Service层）对数据访问层（DAO层）的调用可能包含多个步骤，除此之外还要进行事务处理，最终统一对外提供一个update()方法，如此一来上层（...]]></description><category></category></item><item><title><![CDATA[原型模式(Prototype)]]></title><link>https://blog.youkuaiyun.com/Azure_xw/article/details/124002721</link><guid>https://blog.youkuaiyun.com/Azure_xw/article/details/124002721</guid><author>Azure_xw</author><pubDate>Wed, 06 Apr 2022 23:03:03 +0800</pubDate><description><![CDATA[原型模式的各角色定义如下

● Prototype（原型接口）：声明克隆方法，对应本例程代码中的Cloneable接口。

● ConcretePrototype（原型实现）：原型接口的实现类，实现方法中调用super.clone()即可得到新克隆的对象。

● Client（客户端）：客户端只需调用实现此接口的原型对象方法clone()，便可轻松地得到一个全新的实例对象。



从类到对象叫做“创建”， 从实例对象到副本对象叫做“克隆”

使用场景

当需要创建多个类似的复杂对象时，可以考虑原型模式，克隆]]></description><category></category></item><item><title><![CDATA[mybatis 笔记]]></title><link>https://blog.youkuaiyun.com/Azure_xw/article/details/123962843</link><guid>https://blog.youkuaiyun.com/Azure_xw/article/details/123962843</guid><author>Azure_xw</author><pubDate>Mon, 04 Apr 2022 23:20:13 +0800</pubDate><description><![CDATA[Mybatis 基础

mybatis 配置文件配置 mapper 映射文件配置 resultType 类型别名
a. 单个类，属性可指定别名，不指定即为类名，不区分大小写
b. 包引入，属性可指定别名，不指定即为类名，不区分大小写
mybatis 配置文件引入项目映射文件mapper.xml 文件
a. 单个mapper 映射文件
b. 包引入
ⅰ. mapper 接口所在的包要和映射文件所在的包一致
ⅱ. mapper 接口要和映射文件的名字一致
idea Resource 创建多级包目录： /home]]></description><category></category></item><item><title><![CDATA[Git 日常开发常用命令]]></title><link>https://blog.youkuaiyun.com/Azure_xw/article/details/123931111</link><guid>https://blog.youkuaiyun.com/Azure_xw/article/details/123931111</guid><author>Azure_xw</author><pubDate>Sat, 02 Apr 2022 23:28:30 +0800</pubDate><description><![CDATA[小记：记录日常工作中使用到的git 命令

git remote -v // 查看远程仓库状态

git status //查看本地分支状态

git init //变成 git 仓库

git add . //将项目添加到本地仓库

git commit -m '备注'

git push -u origin master //将本地仓库内容推送到远程仓库

git checkout 分支名 //切换分支

git branch -a //查看当前分支和所有远程分支

git push -f origin]]></description><category></category></item><item><title><![CDATA[Oracle 日常开发记录]]></title><link>https://blog.youkuaiyun.com/Azure_xw/article/details/123857836</link><guid>https://blog.youkuaiyun.com/Azure_xw/article/details/123857836</guid><author>Azure_xw</author><pubDate>Wed, 30 Mar 2022 21:39:11 +0800</pubDate><description><![CDATA[记录日常开发中经常使用到的数据库脚本命令]]></description><category></category></item><item><title><![CDATA[java 杂记]]></title><link>https://blog.youkuaiyun.com/Azure_xw/article/details/121641770</link><guid>https://blog.youkuaiyun.com/Azure_xw/article/details/121641770</guid><author>Azure_xw</author><pubDate>Tue, 30 Nov 2021 20:49:57 +0800</pubDate><description><![CDATA[记录平时开发过程中的一下零散知识点、开发小技巧以及平时读书做的笔记，已备后续方便查找，查漏补缺



基本准则和通用方法

1、重载：方法名相同，参数类型或数量不同

2、编译器最短路径原则：如果能够在本类中查找到的变量、常量、方法，就不会到其他包或父类、接口中查找，以确保本类中的属性、方法优先



基本类型

1、int 超过临界最大值为负数，参与运算时为负反向计算

2、基本类型的包装类型参与运算时要做null 值校验

3、创建的 Integer 整型包装对象值如果落在 -128 - 127 之间.]]></description><category></category></item><item><title><![CDATA[idea 创建 spring 配置文件]]></title><link>https://blog.youkuaiyun.com/Azure_xw/article/details/121592301</link><guid>https://blog.youkuaiyun.com/Azure_xw/article/details/121592301</guid><author>Azure_xw</author><pubDate>Sun, 28 Nov 2021 15:38:29 +0800</pubDate><description><![CDATA[搭建基于 spring 框架工程, 按照基于 xml 文件配置当然少不了 spring配置, 记录使用 idea 创建spring 配置文件过程


1.创建 springMVC.xml 配置文件

方式一: 右键工程 Add Frameworks Support 窗口, 在左边菜单会有Spring 选项选择要创建的 spring 配置文件



方式二: 在指定的资源文件夹右键 New -&gt;XML Configuration File -&gt; Spring Config




...]]></description><category></category></item><item><title><![CDATA[Idea 创建 web.xml 文件]]></title><link>https://blog.youkuaiyun.com/Azure_xw/article/details/121588208</link><guid>https://blog.youkuaiyun.com/Azure_xw/article/details/121588208</guid><author>Azure_xw</author><pubDate>Sun, 28 Nov 2021 10:57:56 +0800</pubDate><description><![CDATA[以下记录 idea 生成 web.xml 的创建过程，记录下来方便后续查找

1.点击工程 WEB-INF 目录，若目录不存在创建之， 选择WEB-INF 目标， 点击左上角 file 菜单，弹出如下界面， 选择红框中 Project Structure...菜单



2. 选择Project Structure... 菜单之后出现以下视图，按步骤操作

3.需要设置将生成的 web.xml 文件放置的路径 ，一般为 src\webapp\WEB-INF\web.xml

4.点击 Apply 按...]]></description><category></category></item></channel></rss>