<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[satoshiCC的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/satoshiCC</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; satoshiCC]]></copyright><item><title><![CDATA[Redis应用问题解决(必看！]]></title><link>https://blog.youkuaiyun.com/satoshiCC/article/details/117422647</link><guid>https://blog.youkuaiyun.com/satoshiCC/article/details/117422647</guid><author>satoshiCC</author><pubDate>Tue, 01 Jun 2021 16:58:30 +0800</pubDate><description><![CDATA[1.缓存穿透：
描述：
解决方案：


2.缓存击穿
描述
某一Key对应的数据存在，但在Redis中过期，此时若有大量并发请求过来，这些请求发现缓存过期一般会从后端数据库加载数据并回设到缓存，这个时候大并发的请求可能会瞬间吧数据库压垮。

解决方案：


使用锁 肯定会降低效率

3.缓存雪崩：
问题描述：在极少时间段内，大量key的集中过期

解决方案：



...]]></description><category></category></item><item><title><![CDATA[Redis集群（详细版）]]></title><link>https://blog.youkuaiyun.com/satoshiCC/article/details/117406904</link><guid>https://blog.youkuaiyun.com/satoshiCC/article/details/117406904</guid><author>satoshiCC</author><pubDate>Mon, 31 May 2021 17:18:34 +0800</pubDate><description><![CDATA[什么是集群：


]]></description><category></category></item><item><title><![CDATA[Redis6主从复制(简洁版]]></title><link>https://blog.youkuaiyun.com/satoshiCC/article/details/117379644</link><guid>https://blog.youkuaiyun.com/satoshiCC/article/details/117379644</guid><author>satoshiCC</author><pubDate>Sun, 30 May 2021 21:59:41 +0800</pubDate><description><![CDATA[Redis6的主从复制
：主机数据更新后根据配置和策略，自动同步到备机的master/slaver机制，master以写为主，slaver以读为主.

配置一主多从:


]]></description><category></category></item><item><title><![CDATA[Redis持久化操作]]></title><link>https://blog.youkuaiyun.com/satoshiCC/article/details/117364819</link><guid>https://blog.youkuaiyun.com/satoshiCC/article/details/117364819</guid><author>satoshiCC</author><pubDate>Fri, 28 May 2021 17:00:47 +0800</pubDate><description><![CDATA[Redis提供了2个不同形式的持久化操作
1.RDB

如何执行的？
：

save与bgsave：

flushall：
会产生dump.rdb文件，但里面是空的 无意义
Fork
：
RDB的备份：

RDB的优势：

劣势：

2.AOF
AOF即(append only file)

AOF持久化流程：


AOF默认不开启

若RDB与AOF同时开启，系统默认取AOF的数据（数据不会存在丢失）
AOF的恢复


异常恢复：

AOF同步频率设置：

Rewrite压缩：



重写流程：

AOF]]></description><category></category></item><item><title><![CDATA[Redis事务操作和锁机制]]></title><link>https://blog.youkuaiyun.com/satoshiCC/article/details/117159430</link><guid>https://blog.youkuaiyun.com/satoshiCC/article/details/117159430</guid><author>satoshiCC</author><pubDate>Fri, 28 May 2021 15:32:15 +0800</pubDate><description><![CDATA[什么是Redis的事务：

Multi, Exec, discard:



解决事务冲突问题：
悲观锁：

乐观锁：
例如抢票问题

watch Key

unwatch

Redis事务的三特性：


]]></description><category></category></item><item><title><![CDATA[Redis入门详解（必看）！！！]]></title><link>https://blog.youkuaiyun.com/satoshiCC/article/details/116857253</link><guid>https://blog.youkuaiyun.com/satoshiCC/article/details/116857253</guid><author>satoshiCC</author><pubDate>Sat, 22 May 2021 09:54:15 +0800</pubDate><description><![CDATA[NoSQL可以减少CPU以及IO的压力，直接通过内存进行读取
NoSQL作为缓存使用，提高访问速度，减少IO的读操作

]]></description><category></category></item><item><title><![CDATA[Swagger入门基础(必看)]]></title><link>https://blog.youkuaiyun.com/satoshiCC/article/details/116543356</link><guid>https://blog.youkuaiyun.com/satoshiCC/article/details/116543356</guid><author>satoshiCC</author><pubDate>Sun, 09 May 2021 11:12:59 +0800</pubDate><description><![CDATA[什么是Swagger?

:Swagger 是一个规范和完整的框架，用于生成、描述、调用和可视化 RESTful 风格的 Web
服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法，参数和模型紧密集成到服务器端的代码，允许API来始终保持同步

优势：

Swagger主要项目：



Swagger-tools:提供各种与Swagger进行集成和交互的工具。例如模式检验、Swagger 1.2文档转换成Swagger 2.0文档等功能。


Swagger-core: 用于Java]]></description><category></category></item><item><title><![CDATA[初识JWT（JSON Web Token）]]></title><link>https://blog.youkuaiyun.com/satoshiCC/article/details/116483116</link><guid>https://blog.youkuaiyun.com/satoshiCC/article/details/116483116</guid><author>satoshiCC</author><pubDate>Fri, 07 May 2021 10:24:52 +0800</pubDate><description><![CDATA[什么是JWT？

：JSON Web Token (JWT)是一个开放标准(RFC
7519)，它定义了一种紧凑的、自包含的方式，用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任，因为它是数字签名的

优点：

1 因为json的通用性，所以JWT是可以进行跨语言支持的，像JAVA,JavaScript,NodeJS,PHP等很多语言都可以使用。
2 因为有了payload部分，所以JWT可以在自身存储一些其他业务逻辑所必要的非敏感信息。
3 便于传输，jwt的构成非常简单，字节占用很小]]></description><category></category></item><item><title><![CDATA[Java的IO机制]]></title><link>https://blog.youkuaiyun.com/satoshiCC/article/details/115701067</link><guid>https://blog.youkuaiyun.com/satoshiCC/article/details/115701067</guid><author>satoshiCC</author><pubDate>Wed, 14 Apr 2021 17:13:25 +0800</pubDate><description><![CDATA[输入流：只能从中读数据
输出流：只能向文件中写数据

字节流和字符流的用法几乎完成全一样，区别在于字节流和字符流所操作的数据单元不同，字节流操作的单元是数据单元是8位的字节，字符流操作的是数据单元为16位的字符。

BIO：

交互的方式是同步、阻塞方式，也就是说在读入输入流或者输出流时，在读写动作完成之前，线程会一直阻塞在那里，它们之间的调用时可靠的线性顺序。它的有点就是代码比较简单、直观；缺点就是 IO 的效率和扩展性很低，容易成为应用性能瓶颈。
NIO:

可以构建多路复用的、同步非阻塞 IO 程序，]]></description><category></category></item><item><title><![CDATA[Linux基础及 实用指令(常用)]]></title><link>https://blog.youkuaiyun.com/satoshiCC/article/details/112528657</link><guid>https://blog.youkuaiyun.com/satoshiCC/article/details/112528657</guid><author>satoshiCC</author><pubDate>Thu, 14 Jan 2021 21:10:21 +0800</pubDate><description><![CDATA[指定运行级别:
一共七个运行级别，0：关机
1：单用户(找回丢失的密码)
2:   多用户无网络服务
3:    多用户有网络服务
4：保留
5：图形界面
6：重启
运行级别配置文件
/etc/inittab

指令：
init  X(0,1,2 ,3,5,6)

帮助指令：
当我们对某个指令不熟悉时，可以使用帮助指令，

文件目录类：

















...]]></description><category></category></item><item><title><![CDATA[SpringBoot精简二(日志)]]></title><link>https://blog.youkuaiyun.com/satoshiCC/article/details/109842691</link><guid>https://blog.youkuaiyun.com/satoshiCC/article/details/109842691</guid><author>satoshiCC</author><pubDate>Tue, 24 Nov 2020 16:49:03 +0800</pubDate><description><![CDATA[市面上的日志框架：
JUL,JCl,Jboss-logging,
logback,log4j,log4j2,slf4j…



]]></description><category></category></item><item><title><![CDATA[SpringBoot精简一(配置)]]></title><link>https://blog.youkuaiyun.com/satoshiCC/article/details/109669586</link><guid>https://blog.youkuaiyun.com/satoshiCC/article/details/109669586</guid><author>satoshiCC</author><pubDate>Fri, 20 Nov 2020 10:40:01 +0800</pubDate><description><![CDATA[1.简化Spring应用开发的一个框架
2.整个Spring技术栈的一个整合
3.JavaEE一站式解决方案
优点：

微服务简介：
一个应用应该是一组小型服务；可以通过HTTP的方式进行互通
每一个功能元素最终都是一个可独立替换和独立升级的软件单元




...]]></description><category></category></item><item><title><![CDATA[Spring框架(基础)]]></title><link>https://blog.youkuaiyun.com/satoshiCC/article/details/108170009</link><guid>https://blog.youkuaiyun.com/satoshiCC/article/details/108170009</guid><author>satoshiCC</author><pubDate>Tue, 22 Sep 2020 10:05:36 +0800</pubDate><description><![CDATA[Spring:


]]></description><category></category></item><item><title><![CDATA[动态代理简易解析！]]></title><link>https://blog.youkuaiyun.com/satoshiCC/article/details/108528501</link><guid>https://blog.youkuaiyun.com/satoshiCC/article/details/108528501</guid><author>satoshiCC</author><pubDate>Fri, 11 Sep 2020 10:41:02 +0800</pubDate><description><![CDATA[动态代理
1.基于接口的动态代理
2.基于子类的动态代理
1.基于接口的动态代理：


2.基于子类的动态代理
首先导入依赖：




]]></description><category></category></item><item><title><![CDATA[！！MyBatis(基础)！！]]></title><link>https://blog.youkuaiyun.com/satoshiCC/article/details/108077605</link><guid>https://blog.youkuaiyun.com/satoshiCC/article/details/108077605</guid><author>satoshiCC</author><pubDate>Sat, 22 Aug 2020 15:21:57 +0800</pubDate><description><![CDATA[表现层
业务层
持久层

Mybatis:是java的持久层框架，用java编写。
它封装了jdbc的很多细节，使开发者只用关注SQL语句本身，而无需关注注册驱动，创建连接等繁杂过程
它使用了ORM思想实现了结果集的封装
ORM：对象关系映射，即把数据库中的表和实体类，实体类的属性对应起来使我们可以通过操作实体类就实现操作数据库。
Mybatis环境搭建：


...]]></description><category></category></item><item><title><![CDATA[Filter！ThreadLocal！]]></title><link>https://blog.youkuaiyun.com/satoshiCC/article/details/107938433</link><guid>https://blog.youkuaiyun.com/satoshiCC/article/details/107938433</guid><author>satoshiCC</author><pubDate>Thu, 13 Aug 2020 11:00:24 +0800</pubDate><description><![CDATA[1.是JAVAWEB的三大组件之一：Servlet程序，listener监听器,Filter过滤器.
2.Filter过滤器是JAVAEE的规范，也就是接口。
3.Filter过滤器它的作用是：拦截请求，过滤响应。
拦截请求的常用应用场景：
1权限检查，
2日记操作，
3事务管理等等。

...]]></description><category></category></item><item><title><![CDATA[Cookie与Session的简单原理！]]></title><link>https://blog.youkuaiyun.com/satoshiCC/article/details/107782588</link><guid>https://blog.youkuaiyun.com/satoshiCC/article/details/107782588</guid><author>satoshiCC</author><pubDate>Wed, 05 Aug 2020 15:52:05 +0800</pubDate><description><![CDATA[什么是Cookie？
是服务器通知客户端保存键值对的一种技术。
客户端有了cookie后每次请求都会发送给服务器。
每个cookie的大小不能超过4kb.


]]></description><category></category></item><item><title><![CDATA[HashMap的底层实现!!!]]></title><link>https://blog.youkuaiyun.com/satoshiCC/article/details/106031640</link><guid>https://blog.youkuaiyun.com/satoshiCC/article/details/106031640</guid><author>satoshiCC</author><pubDate>Sun, 10 May 2020 16:05:22 +0800</pubDate><description><![CDATA[JDK7：
HashMap map=new HashMap();
在实例化之后，底层创建了长度为为16的Entry[ ] table。
map.put(key1,value1);
首先，调用key1所在类的hashcode()方法得出key1的哈希值，此哈希值经过某种算法运算获得在Entry数组中的存放位置。
如果此位置为空，此时Entry添加成功。
如果此位置不为空（意味着此位置上有一个或多个数据（以链表形式存在）），比较key1与当前位置上数据的哈希值，
如果1：key1的哈希值与已经存在数据的哈希值都]]></description><category></category></item><item><title><![CDATA[Map接口理论]]></title><link>https://blog.youkuaiyun.com/satoshiCC/article/details/106019784</link><guid>https://blog.youkuaiyun.com/satoshiCC/article/details/106019784</guid><author>satoshiCC</author><pubDate>Sat, 09 May 2020 15:37:37 +0800</pubDate><description><![CDATA[Map中的Key是无序的，不可重复的，使用Set存储所有的Key。
Map中的value是无序的，可重复的，使用collection存储所有的value。
一个键值对构成了一个（key-value）—&gt;Entry对象
Map中的Entry是无序的，不可重复的，用Set存储

...]]></description><category></category></item><item><title><![CDATA[Set接口知识点]]></title><link>https://blog.youkuaiyun.com/satoshiCC/article/details/106013379</link><guid>https://blog.youkuaiyun.com/satoshiCC/article/details/106013379</guid><author>satoshiCC</author><pubDate>Sat, 09 May 2020 12:13:39 +0800</pubDate><description><![CDATA[无序性 ：不等于随机性，存储数据在底层中并非按照数组的索引的顺序添加，而是根据数据的哈希值的决定的。
不可重复性： 相同的元素只能添加一个

HashSet的底层是数组+链表的形式，底层即为HashMap

散列码即为哈希值
对于频繁的遍历操作，使用LinkedHashSet比HashSet效率要高
向TreeSet中添加的数据要求是同一个类的对象

...]]></description><category></category></item></channel></rss>