<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[抛砖引玉]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/EmperorWu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; EmperorWu]]></copyright><item><title><![CDATA[SpringBoot项目配置SpringDataRedis]]></title><link>https://blog.youkuaiyun.com/EmperorWu/article/details/137165502</link><guid>https://blog.youkuaiyun.com/EmperorWu/article/details/137165502</guid><author>EmperorWu</author><pubDate>Tue, 30 Apr 2024 07:29:44 +0800</pubDate><description><![CDATA[spring boot项目引入spring data redis的常规配置]]></description><category></category></item><item><title><![CDATA[SpringCloud微服务项目的api文档聚合]]></title><link>https://blog.youkuaiyun.com/EmperorWu/article/details/123932169</link><guid>https://blog.youkuaiyun.com/EmperorWu/article/details/123932169</guid><author>EmperorWu</author><pubDate>Sun, 03 Apr 2022 08:05:48 +0800</pubDate><description><![CDATA[目录原理简介首先，在网关中配置好路由Spring Cloud Gatway + Springfox第一步、在各项目里配置Springfox第二步、在网关中编写api文档资源路径注截止2022/4/3,spring boot 2.6以上的版本使用springfox会出现问题swagger 3.0不需要为每个路由配置过滤器StripPrefix=1，否则会出现：Fetch errorNot FoundSpring Cloud Gatway + Springdoc第一步、引入依赖第三步、springdoc中，我们]]></description><category></category></item><item><title><![CDATA[字符编码]]></title><link>https://blog.youkuaiyun.com/EmperorWu/article/details/106170221</link><guid>https://blog.youkuaiyun.com/EmperorWu/article/details/106170221</guid><author>EmperorWu</author><pubDate>Tue, 23 Feb 2021 19:52:07 +0800</pubDate><description><![CDATA[用2进制数为每个字符编码，便于计算机处理和存储。
1、ASCII 码
Unicode
Unicode 存储实现
UTF-8




标量值
第一字节
第二字节
第三字节
第四字节




00000000 0xxxxxxx
0xxxxxxx





00000yyy yyxxxxxx
110yyyyy
10xxxxxxx




zzzzyyyy yyxxxxxx
1110zzzz
10yyyyyy
10xxxxxx



000uuuuu zzzzyyyy yyxxxxxx
11110uuu
10uuz]]></description><category></category></item><item><title><![CDATA[使用Spring Cloud Gateway实现网关产品的功能。]]></title><link>https://blog.youkuaiyun.com/EmperorWu/article/details/107235663</link><guid>https://blog.youkuaiyun.com/EmperorWu/article/details/107235663</guid><author>EmperorWu</author><pubDate>Tue, 23 Feb 2021 17:08:24 +0800</pubDate><description><![CDATA[动态配置Route的方法
在网页端配置好api信息，将api信息传入网关路由转换方法。


构建RouteDefinition

构建PredicateDefinition

主要元素

predicate name
predicate 参数：map&lt;String,String&gt;:args




构建GatewayFilterDefinition

主要元素

过滤器name：Example
过滤器参数:map&lt;String,String&gt;:args


编写对应的过滤器工厂类：E]]></description><category></category></item><item><title><![CDATA[项目2、开源组件安全检测]]></title><link>https://blog.youkuaiyun.com/EmperorWu/article/details/106048599</link><guid>https://blog.youkuaiyun.com/EmperorWu/article/details/106048599</guid><author>EmperorWu</author><pubDate>Tue, 23 Feb 2021 15:14:25 +0800</pubDate><description><![CDATA[开源安全组件概况：
致命、高危、中危、低危
总组件数，已打标组件数
已检测工程、用户数
已检测组件、检测次数

安全检测列表

新建检测任务
根据项目名称搜索项目信息






]]></description><category></category></item><item><title><![CDATA[spring 框架中的注解]]></title><link>https://blog.youkuaiyun.com/EmperorWu/article/details/103577821</link><guid>https://blog.youkuaiyun.com/EmperorWu/article/details/103577821</guid><author>EmperorWu</author><pubDate>Tue, 23 Feb 2021 15:06:16 +0800</pubDate><description><![CDATA[传统MVC控制器与RESTful web服务控制器之间的一个关键区别是HTTP响应体的创建方式。这个rest式web服务控制器并不依赖于视图技术来将数据执行到HTML的服务器端呈现，而是简单地填充并返回一个对象。对象数据将直接以JSON的形式写入HTTP响应。
这段代码使用了Spring 4新的@RestController注释，该注释将该类标记为一个控制器，其中每个方法都返回一个域对象，而不是一...]]></description><category></category></item><item><title><![CDATA[SQL基础-数据库事务]]></title><link>https://blog.youkuaiyun.com/EmperorWu/article/details/103777268</link><guid>https://blog.youkuaiyun.com/EmperorWu/article/details/103777268</guid><author>EmperorWu</author><pubDate>Tue, 23 Feb 2021 15:05:30 +0800</pubDate><description><![CDATA[1 数据库事务
事务的定义：构成单个逻辑工作单元的操作集合，事务处理保证所有的事务都作为一个工作单元来执行，要么所有提交，要么整个事务回滚到最初状态。
数据库事务正确执行的4个基础要素ACID：原子性Atomicity、一致性Consistency、隔离性Isolation、持久性Durability。

原子性：整个事务操作，要么全部完成，要么全部不完成。
一致性：几个并行执行的事务，其执行结果...]]></description><category></category></item><item><title><![CDATA[SQL基础-连接表]]></title><link>https://blog.youkuaiyun.com/EmperorWu/article/details/104053162</link><guid>https://blog.youkuaiyun.com/EmperorWu/article/details/104053162</guid><author>EmperorWu</author><pubDate>Tue, 23 Feb 2021 15:04:46 +0800</pubDate><description><![CDATA[12 联接表
12.1 理解联接
SQL最强大的特性之一是能够在数据检索查询中动态地联接表。连接是使用SQL SELECT可以执行的最重要的操作之一，对连接和连接语法的良好理解是学习SQL极为重要的一部分。
在您可以有效地使用连接之前，您必须了解关系表和关系数据库设计的基础知识。下面的内容绝不是对这个主题的完整介绍，但应该足以让您开始工作。
理解相关联的表
理解关系表的最佳方法是查看一个真实的示例...]]></description><category></category></item><item><title><![CDATA[git 术语]]></title><link>https://blog.youkuaiyun.com/EmperorWu/article/details/107226626</link><guid>https://blog.youkuaiyun.com/EmperorWu/article/details/107226626</guid><author>EmperorWu</author><pubDate>Tue, 23 Feb 2021 13:16:32 +0800</pubDate><description><![CDATA[A
add
添加文件内容到index。
H
HEAD
当前分支
I
index
具有stat信息的文件集合，其内容存储为对象。索引是working tree的存储版本。事实上，它还可以包含第二个，甚至第三个版本的working tree，在merge时使用。
R
ref
以refs/开头（如refs/head/master）指向一个object name和另一个ref(后者被称为符号ref),为了方便起见，当将ref用作Git命令的参数时，有时可以将其缩写.refs存储在repository中。
ref命名]]></description><category></category></item><item><title><![CDATA[15、I/O]]></title><link>https://blog.youkuaiyun.com/EmperorWu/article/details/105937814</link><guid>https://blog.youkuaiyun.com/EmperorWu/article/details/105937814</guid><author>EmperorWu</author><pubDate>Tue, 23 Feb 2021 13:15:56 +0800</pubDate><description><![CDATA[1、Basic I/O
1.1、 Byte Streams
处理原始二进制数据的I/O.
程序使用字节流来执行8位字节的输入和输出。所有的字节流类都是InputStream和OutputStream的后代。
有许多字节流类。为了演示字节流是如何工作的，我们将重点介绍文件I/O字节流、FileInputStream和FileOutputStream。其他类型的字节流也以同样的方式使用;它们主要不同于...]]></description><category></category></item><item><title><![CDATA[设计模式-策略模式]]></title><link>https://blog.youkuaiyun.com/EmperorWu/article/details/107301308</link><guid>https://blog.youkuaiyun.com/EmperorWu/article/details/107301308</guid><author>EmperorWu</author><pubDate>Tue, 23 Feb 2021 13:15:10 +0800</pubDate><description><![CDATA[对代码的局部修改，不要影响到过多的代码。
利用继承来解决变化的东西，存在哪些缺点
软件开发，变化是常态。
设计原则1:将变化的和不变的东西分离
变化的部分分开，以实现改变变化的部分时，不会影响到不变的部分。
变化的部分以组合的方式
设计原则2：针对super class编程，而不是针对实现编程
利用多态的特性。
SuperClass super = new SubClass();
运行时才指定具体的实例化对象
设计原则3：多用组合，少用继承。
“有一个”比“是一个”更好。

...]]></description><category></category></item><item><title><![CDATA[堆和栈]]></title><link>https://blog.youkuaiyun.com/EmperorWu/article/details/107258056</link><guid>https://blog.youkuaiyun.com/EmperorWu/article/details/107258056</guid><author>EmperorWu</author><pubDate>Tue, 23 Feb 2021 13:14:46 +0800</pubDate><description><![CDATA[作为数据结构
作为内存分配
虚拟内存，物理内存，虚拟内存和物理内存的映射
栈
虚拟内存的组织形式是数据结构中的栈，连续，先入后出。

系统自动分配。在程序运行结束后系统释放。栈上的数据的生存周期只是在函数的运行过程中，运行后就释放掉，不可以再访问。
栈的空间有限，1M或2M，当栈的空间满了时，就会报stackoverflow的异常。由于栈的大小有限，所以用子函数还是有物理意义的，而不仅仅是逻辑意义。
栈区向地址减小的方向增长

堆
虚拟内存中组织形式是各个空闲区域通过链表构成的堆组织起来。

编程人员手动分]]></description><category></category></item><item><title><![CDATA[SQL基础-联接(join)]]></title><link>https://blog.youkuaiyun.com/EmperorWu/article/details/105793703</link><guid>https://blog.youkuaiyun.com/EmperorWu/article/details/105793703</guid><author>EmperorWu</author><pubDate>Mon, 23 Nov 2020 09:49:50 +0800</pubDate><description><![CDATA[1、Inner Join
基于两个表之间的相等性测试的连接，这种连接称为内连接。
SELECT ta.iten1, tb.item2, tc.item3
FORM table_a AS ta, table_b AS tb, table_c AS tc
WHERE ta.tb_id = tb.id 
AND tb.tc_id = tc.id

等价于
SELECT ta.iten1, tb.item...]]></description><category></category></item><item><title><![CDATA[16、字符串]]></title><link>https://blog.youkuaiyun.com/EmperorWu/article/details/106023082</link><guid>https://blog.youkuaiyun.com/EmperorWu/article/details/106023082</guid><author>EmperorWu</author><pubDate>Fri, 10 Jul 2020 15:22:42 +0800</pubDate><description><![CDATA[1、String
String 是不可变的，String 类中每一个看起来会修改 String 值的方法，实际上都是创建了一个全新的 String 对象，以包含修改后的字符串内容。而最初的 String 对象则丝毫未动。
对于一个方法而言，参数是为该方法提供信息的，而不是想让该方法改变自己的。
1.1、StringBuilder 与 + 重载的对比
使用StringBuilder的相关操作会更好，+内部也会使用StringBuilder
1.2 、
如果你真的想要打印对象的内存地址，应该调用 Object.]]></description><category></category></item><item><title><![CDATA[17、数组]]></title><link>https://blog.youkuaiyun.com/EmperorWu/article/details/106488709</link><guid>https://blog.youkuaiyun.com/EmperorWu/article/details/106488709</guid><author>EmperorWu</author><pubDate>Sat, 13 Jun 2020 20:37:14 +0800</pubDate><description><![CDATA[对象数组存储的是对象的引用，而基元数组则直接存储基本数据类型的值。
length 只能告诉你数组可以存储多少元素；这就是说，数组对象的大小并不是真正存储在数组中对象的个数
当你创建一个数组对象，其引用将自动初始化为 null，因此你可以通过检查特定数组元素中的引用是否为 null 来判断其中是否有对象。基元数组也有类似的机制，比如自动将数值类型初始化为 0，char 型初始化为 (char)0，布尔类型初始化为 false。
可以参数化数组本身的类型

...]]></description><category></category></item><item><title><![CDATA[信息安全术语摘录]]></title><link>https://blog.youkuaiyun.com/EmperorWu/article/details/106689832</link><guid>https://blog.youkuaiyun.com/EmperorWu/article/details/106689832</guid><author>EmperorWu</author><pubDate>Thu, 11 Jun 2020 16:40:33 +0800</pubDate><description><![CDATA[加密：对数据进行密码变换以产生密文的过程。一般包括一个变换集合，该变换使用一套算法和一套输入参量。输入参量通常被称为密钥。
加密鉴别机制（authenticated encryption mechanism）：一种用于保护数据的保密性并保证数据的原发地和数据完整性的密码学技术，由加密算法、解密算法、生成密钥方法三个分过程组成。
鉴别加密（authenticated encryption）:对某一数据串的加密，旨在保护数据保密性、数据完整性、数据原发鉴别。
鉴别码（authenticated encrypt.]]></description><category></category></item><item><title><![CDATA[HMAC:使用加密hash函数(cryptographic hash function)的消息认证机制]]></title><link>https://blog.youkuaiyun.com/EmperorWu/article/details/106252396</link><guid>https://blog.youkuaiyun.com/EmperorWu/article/details/106252396</guid><author>EmperorWu</author><pubDate>Tue, 02 Jun 2020 09:11:47 +0800</pubDate><description><![CDATA[本文档描述了HMAC，这是一种使用加密hash函数进行消息身份验证的机制。
HMAC可以与任何迭代加密哈希函数一起使用，例如MD5、SHA-1，并与一个秘密的共享密钥结合使用。
在开放计算和通信的世界中，提供一种方法来检查通过不可靠的介质传输或存储的信息的完整性是非常必要的。基于密钥提供这种完整性检查的机制通常称为“消息验证码”(MAC)。通常，消息身份验证代码在共享密钥的两方之间使用，以验证在这些方之间传输的信息。在本文中，我们提出了一种加密hash函数函数的MAC机制。这种机制称为HMAC
HMAC可以]]></description><category></category></item><item><title><![CDATA[14、异常]]></title><link>https://blog.youkuaiyun.com/EmperorWu/article/details/105653586</link><guid>https://blog.youkuaiyun.com/EmperorWu/article/details/105653586</guid><author>EmperorWu</author><pubDate>Fri, 24 Apr 2020 15:36:42 +0800</pubDate><description><![CDATA[Java 使用异常来提供一致的错误报告模型，使得构件能够与客户端代码可靠地沟通问题。
因为异常处理是 Java 中唯一官方的错误报告机制，并且通过编译器强制执行。
概念
用强制规定的形式来消除错误处理过程中随心所欲的因素。
问题出现了，你也许不清楚该如何处理，但你的确知道不应该置之不理，你要停下来，看看是不是有别人或在别的地方，能够处理这个问题。只是在当前的环境中还没有足够的信息来解决这个问题，所...]]></description><category></category></item><item><title><![CDATA[Java equal 和 hashcode]]></title><link>https://blog.youkuaiyun.com/EmperorWu/article/details/105677899</link><guid>https://blog.youkuaiyun.com/EmperorWu/article/details/105677899</guid><author>EmperorWu</author><pubDate>Wed, 22 Apr 2020 15:02:48 +0800</pubDate><description><![CDATA[1、public boolean equals​(Object obj)
指示某个其他对象是否“等于”这个对象。
equals方法实现了非空对象引用的等价关系:

It is reflexive（反身的）：对于任何非空的引用值x, x.equals(x)应该返回true。
对称性（symmetric）：对于任何非空的引用值x和y，当且仅当y.equals(x)返回true时，x.equals(y)...]]></description><category></category></item><item><title><![CDATA[lombok注解]]></title><link>https://blog.youkuaiyun.com/EmperorWu/article/details/105677017</link><guid>https://blog.youkuaiyun.com/EmperorWu/article/details/105677017</guid><author>EmperorWu</author><pubDate>Wed, 22 Apr 2020 11:30:16 +0800</pubDate><description><![CDATA[1、@Data
以下所有注解一起使用的简写
@ToString
@EqualsAndHashCode
对所有字段@Getter
对所有非static 字段@Setter
@RequiredArgsConstructor
2、@ToString
生成toString()方法的实现。默认情况下，它会打印您的类名，以及每个字段，按顺序，用逗号分隔。
默认情况下，将打印所有非静态字段。
@ToString...]]></description><category></category></item></channel></rss>