<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[m0_50786325的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_50786325</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_50786325]]></copyright><item><title><![CDATA[You can‘t specify target table ‘person‘ for update in FROM clause]]></title><link>https://blog.youkuaiyun.com/m0_50786325/article/details/127165584</link><guid>https://blog.youkuaiyun.com/m0_50786325/article/details/127165584</guid><author>m0_50786325</author><pubDate>Tue, 04 Oct 2022 20:28:11 +0800</pubDate><description><![CDATA[SQL报错：You can’t specify target table ‘person’ for update in FROM clause]]></description><category></category></item><item><title><![CDATA[WARN:spring.jpa.open-in-view is enabled by default.]]></title><link>https://blog.youkuaiyun.com/m0_50786325/article/details/125023441</link><guid>https://blog.youkuaiyun.com/m0_50786325/article/details/125023441</guid><author>m0_50786325</author><pubDate>Sat, 28 May 2022 21:33:15 +0800</pubDate><description><![CDATA[spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning

Spring Data  Jpa，默认情况下，“在视图中打开”处于启用状态。因此，可以在视图渲染期间执行数据库查询。显式配置open-in-v]]></description><category></category></item><item><title><![CDATA[基于 session 的验证码登录原理]]></title><link>https://blog.youkuaiyun.com/m0_50786325/article/details/124787389</link><guid>https://blog.youkuaiyun.com/m0_50786325/article/details/124787389</guid><author>m0_50786325</author><pubDate>Fri, 20 May 2022 16:52:42 +0800</pubDate><description><![CDATA[基于 session 的验证码登录原理
业务流程
一、发送验证码

二、手机号验证码登录、注册

三、校验登录状态

]]></description><category></category></item><item><title><![CDATA[Redis值五大数据类型——SortedSet类型]]></title><link>https://blog.youkuaiyun.com/m0_50786325/article/details/124770128</link><guid>https://blog.youkuaiyun.com/m0_50786325/article/details/124770128</guid><author>m0_50786325</author><pubDate>Sat, 14 May 2022 19:06:33 +0800</pubDate><description><![CDATA[SortedSet 类型
简介
Redis 的 SortedSet 类型是 String 类型的有序不重复集合，与 Java 中的 TreeSet 有些类似，但是底层数据结构却差别很大。SortedSet 中的每个元素都维护着一个 score 属性，可以基于 score 属性对元素进行排序，底层实现是跳表 + 哈希表 。
应用场景
因为 SortedSet 类型的有序不重复的特点，经常被用来实现排行榜这样的功能。
常用命令
（1）zadd：向 SortedSet 中添加一个或多个元素

将下列学生得分信息存]]></description><category></category></item><item><title><![CDATA[Redis集群——主从配置]]></title><link>https://blog.youkuaiyun.com/m0_50786325/article/details/124766936</link><guid>https://blog.youkuaiyun.com/m0_50786325/article/details/124766936</guid><author>m0_50786325</author><pubDate>Sat, 14 May 2022 15:12:40 +0800</pubDate><description><![CDATA[配置一主二从




host
port
role




192.168.186.200
6379
master


192.168.186.201
6379
slave


192.168.186.202
6379
slave


第一步、配置 master
（1）进入 192.168.186.200，打开终端，在根目录下创建工作目录：/redis-master
cd /
mkdir /redis-master
cd /redis-master

（2）将 redis.conf 文件复制到 /redis]]></description><category></category></item><item><title><![CDATA[Spring——IOC]]></title><link>https://blog.youkuaiyun.com/m0_50786325/article/details/124743260</link><guid>https://blog.youkuaiyun.com/m0_50786325/article/details/124743260</guid><author>m0_50786325</author><pubDate>Sat, 14 May 2022 00:16:25 +0800</pubDate><description><![CDATA[IOC
控制反转：把创建对象的过程交给 Spring 进行管理

]]></description><category></category></item><item><title><![CDATA[VMware虚拟机中CentOS7配置静态IP和连接外网]]></title><link>https://blog.youkuaiyun.com/m0_50786325/article/details/124677353</link><guid>https://blog.youkuaiyun.com/m0_50786325/article/details/124677353</guid><author>m0_50786325</author><pubDate>Mon, 09 May 2022 23:42:26 +0800</pubDate><description><![CDATA[第一步，配置静态 IP 地址
（1）进入虚拟机，打开终端，切换到如下目录
# 切换目录
cd /etc/sysconfig/network-scripts

（2）通过 vim 编辑器打开 ifcfg-ens33 文件
# 打开文件
vim ifcfg-ens33

（3）文件打开后如下图所示，对文件做如下修改

说明：

1、将BOOTPROTO中的值修改为static
2、将ONBOOT的值修改为yes
3、设置我们自定义的IP地址，注意最后一个数必须在 [128,255) 这个区间，这边自行设定了20]]></description><category></category></item><item><title><![CDATA[Redis键的常用命令]]></title><link>https://blog.youkuaiyun.com/m0_50786325/article/details/124637628</link><guid>https://blog.youkuaiyun.com/m0_50786325/article/details/124637628</guid><author>m0_50786325</author><pubDate>Sat, 07 May 2022 19:47:46 +0800</pubDate><description><![CDATA[常用命令
keys *：查看当前库的所有键
127.0.0.1:6379&gt; keys *
1) "name"

exists：判断一个键是否存在
127.0.0.1:6379&gt; exists name
(integer) 1		# 存在
127.0.0.1:6379&gt; exists age
(integer) 0 	# 不存在

type：查看一个键对应值的数据类型
127.0.0.1:6379&gt; type name
string

del：删除一个键
127.0.0.1:6379&]]></description><category></category></item><item><title><![CDATA[Redis值的五大数据类型——Set类型]]></title><link>https://blog.youkuaiyun.com/m0_50786325/article/details/124608312</link><guid>https://blog.youkuaiyun.com/m0_50786325/article/details/124608312</guid><author>m0_50786325</author><pubDate>Fri, 06 May 2022 22:43:36 +0800</pubDate><description><![CDATA[Set类型
Redis的Set类型是String类型的无序不重复集合，底层是一个值为null的哈希表，添加、删除、查找时间复杂度都是O(1)。如果你希望某个键值对存储多个元素，又不希望出现重复元素时，Set类型是一个很好的选择。
常用命令
sadd：向一个集合中添加一个或者多个元素
127.0.0.1:6379&gt; sadd user:id "1001" "1002" "1003"
(integer) 3

smembers：获取集合中所有成员
127.0.0.1:6379&gt; smembers u]]></description><category></category></item><item><title><![CDATA[Redis值的五大数据类型——String类型]]></title><link>https://blog.youkuaiyun.com/m0_50786325/article/details/124595337</link><guid>https://blog.youkuaiyun.com/m0_50786325/article/details/124595337</guid><author>m0_50786325</author><pubDate>Thu, 05 May 2022 19:57:00 +0800</pubDate><description><![CDATA[String类型
Redis的String类型是二进制安全的，意味着String类型可以包含任何数据。比如图片或者序列化的对象。Redis的String类型的底层是动态字符数组，是可以扩容，可以修改的字符串，类似于Java的ArrayList，采用分配冗余空间的方式来减少内存的频繁分配。

如图所示，字符串实际分配的空间capacity大于实际的占用的空间len。要注意Redis的String类型最大占用512M的空间。
常用命令
set：添加键值对
127.0]]></description><category></category></item><item><title><![CDATA[什么是线程？]]></title><link>https://blog.youkuaiyun.com/m0_50786325/article/details/123533204</link><guid>https://blog.youkuaiyun.com/m0_50786325/article/details/123533204</guid><author>m0_50786325</author><pubDate>Wed, 16 Mar 2022 19:19:46 +0800</pubDate><description><![CDATA[线程（Thread）：轻量级进程，是操作系统进行调度的最小单位。一个线程是一个任务（一个程序段）的一次执行过程。线程不占有内存空间，它包括在进程的内存空间中。在同一个进程内，多个线程共享进程的资源。一个进程至少有一个线程。]]></description><category></category></item><item><title><![CDATA[进程与线程的区别]]></title><link>https://blog.youkuaiyun.com/m0_50786325/article/details/123473725</link><guid>https://blog.youkuaiyun.com/m0_50786325/article/details/123473725</guid><author>m0_50786325</author><pubDate>Mon, 14 Mar 2022 15:51:55 +0800</pubDate><description><![CDATA[进程（Process）：是操作系统进行资源分配的最小单位。每启动一个进程，操作系统就会为它分配一块独立的内存空间，用于存储PCB、数据段、程序段等资源。每个进程占有一块独立的内存空间。
线程（Thread）：轻量级进程，是操作系统进行调度的最小单位。线程不占有内存空间，它包括在进程的内存空间中，共享进程的资源，一个进程至少有一个线程。]]></description><category></category></item><item><title><![CDATA[什么是进程？]]></title><link>https://blog.youkuaiyun.com/m0_50786325/article/details/123436732</link><guid>https://blog.youkuaiyun.com/m0_50786325/article/details/123436732</guid><author>m0_50786325</author><pubDate>Sat, 12 Mar 2022 21:51:59 +0800</pubDate><description><![CDATA[进程（Process）：是操作系统进行资源分配的最小单位。一个进程是一个程序的一次执行过程。每启动一个进程，操作系统就会为它分配一块独立的内存空间，用于存储PCB、数据段、程序段等资源。每个进程占有一块独立的内存空间。]]></description><category></category></item><item><title><![CDATA[什么是稀疏数组？]]></title><link>https://blog.youkuaiyun.com/m0_50786325/article/details/123380487</link><guid>https://blog.youkuaiyun.com/m0_50786325/article/details/123380487</guid><author>m0_50786325</author><pubDate>Wed, 09 Mar 2022 22:38:20 +0800</pubDate><description><![CDATA[稀疏数组一般使用在一个二维数组存储着大量无效数据的场景中。举个例子：一个二维数组存储了100个数据，有效数据只有2个，这种情况就可以考虑使用稀疏数组来存储。]]></description><category></category></item><item><title><![CDATA[网络的分层体系结构]]></title><link>https://blog.youkuaiyun.com/m0_50786325/article/details/120393869</link><guid>https://blog.youkuaiyun.com/m0_50786325/article/details/120393869</guid><author>m0_50786325</author><pubDate>Mon, 20 Sep 2021 21:43:46 +0800</pubDate><description><![CDATA[网络的分层体系结构是从功能上描述网络的一种分层结构，每层遵守某些网络协议实现本层的功能。协议是“水平的”。任何一层都必须遵守本层协议，实现本层功能，向上层提供服务。任何一层需要使用下层服务，通过接口进行调用。服务是“垂直的”。]]></description><category></category></item></channel></rss>