<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[super1223的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/super1223</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; super1223]]></copyright><item><title><![CDATA[Java8新特性-Optional类]]></title><link>https://blog.youkuaiyun.com/super1223/article/details/120429005</link><guid>https://blog.youkuaiyun.com/super1223/article/details/120429005</guid><author>super1223</author><pubDate>Thu, 23 Sep 2021 10:00:35 +0800</pubDate><description><![CDATA[Optional
Optional类是Java8为了解决null值判断问题，借鉴google guava类库的Optional类而引入的一个同名Optional类，使用Optional类可以避免显式的null值判断（null的防御性检查），避免null导致的NPE（NullPointerException）。
如果我们需要检查一个对象是否为null，我们一般逻辑是这样的。
public class Java8Tester {

    public static void main(String[] arg]]></description><category></category></item><item><title><![CDATA[Java8新特性-Stream流]]></title><link>https://blog.youkuaiyun.com/super1223/article/details/120428895</link><guid>https://blog.youkuaiyun.com/super1223/article/details/120428895</guid><author>super1223</author><pubDate>Thu, 23 Sep 2021 09:58:21 +0800</pubDate><description><![CDATA[目录StreamStreamAPI经典接口注意
Stream
java8新添加了一个特性：流Stream。Stream让开发者能够以一种声明的方式处理数据源（集合、数组等），它专注于对数据源进行各种高效的聚合操作（aggregate operation）和大批量数据操作 (bulk data operation)。

Stream API将处理的数据源看做一种Stream（流），Stream（流）在Pipeline（管道）中传输和运算，支持的运算包含筛选、排序、聚合等，当到达终点后便得到最终的处理结果。

]]></description><category></category></item><item><title><![CDATA[Java8新特性-Lambda表达式与方法引用]]></title><link>https://blog.youkuaiyun.com/super1223/article/details/120428803</link><guid>https://blog.youkuaiyun.com/super1223/article/details/120428803</guid><author>super1223</author><pubDate>Thu, 23 Sep 2021 09:53:23 +0800</pubDate><description><![CDATA[目录Lambda表达式forEach函数式接口经典函数式接口方法引用
Lambda表达式
如果一个接口只有一个能够代表它的一个抽象方法，那么我们可以使用lambda表达式将这个类的实现表示出来


可选类型声明:  无需声明参数类型，编译器即可自动识别


可选的参数圆括号: 仅有一个参数时圆括号可以省略


可选的大括号：主体只包含一个语句时可省略大括号


可选的返回关键字：主体只包含一个表达式返回值并省略大括号时，编译器会自动return返回值；有大括号时，需要显式指定表达式return了一个数值

]]></description><category></category></item><item><title><![CDATA[docker技术（一）]]></title><link>https://blog.youkuaiyun.com/super1223/article/details/120428675</link><guid>https://blog.youkuaiyun.com/super1223/article/details/120428675</guid><author>super1223</author><pubDate>Thu, 23 Sep 2021 09:47:55 +0800</pubDate><description><![CDATA[doker

]]></description><category></category></item><item><title><![CDATA[面试官：你是怎么进行MySQL优化的？]]></title><link>https://blog.youkuaiyun.com/super1223/article/details/119614989</link><guid>https://blog.youkuaiyun.com/super1223/article/details/119614989</guid><author>super1223</author><pubDate>Wed, 11 Aug 2021 19:28:29 +0800</pubDate><description><![CDATA[目录数据库设计数据表结构数据字段优化恰当建立索引数据库拓展数据库集群配置分库分表SQL语句优化
数据库优化的方向

数据库设计：数据表设计遵循三范式，使用合适的数据类型，使用合适的存储引擎
适当创建索引
数据库扩展：数据库的分表分库，读写分离等
SQL语句优化等


数据库设计
数据表结构
第一范式1NF：字段原子性
所有的字段都需要细分到不能再分的地步，如在一个地址字段中包含很多信息，如一个字段中包含省市两个信息，必须对他进行再次细分。

第二范式2NF： 每一列都要与主键相关，且不存在部分依赖
MySQ]]></description><category></category></item><item><title><![CDATA[索引详解（从Hash索引到B+树数据结构）]]></title><link>https://blog.youkuaiyun.com/super1223/article/details/119614943</link><guid>https://blog.youkuaiyun.com/super1223/article/details/119614943</guid><author>super1223</author><pubDate>Wed, 11 Aug 2021 19:25:50 +0800</pubDate><description><![CDATA[目录索引索引的数据结构Hash索引二叉树红黑树B树B+树索引的分类索引的使用全文索引的使用百万数据级别的搜索对比
索引
MySQL官方对索引的定义为：索引（Index）是帮助MySQL高效获取数据的数据结构。提取句子主干，就可以得到索引的本质：索引是一种特殊数据结构。
索引实际上是将某个被使用频繁的字段抽取出来，建立一种单独的数据组织结构。就像一本字典，我们把他们的首字母抽取出来，组成一个目录，我们查询时直接查询目录，可以大大的减少我们的查询速度。提高查询速度的同时，当我们需要对数据修改时，修改的的速度也会]]></description><category></category></item><item><title><![CDATA[MySQL事务详解（读写锁+MVCC）]]></title><link>https://blog.youkuaiyun.com/super1223/article/details/119614900</link><guid>https://blog.youkuaiyun.com/super1223/article/details/119614900</guid><author>super1223</author><pubDate>Wed, 11 Aug 2021 19:23:34 +0800</pubDate><description><![CDATA[目录事务的四大特性ACID事务的隔离级别MVVC+读写锁读写锁两种读取数据方法隔离级别的实现InnoDB的中MVVC原理使用事务
在数据库中，我们将我们的指定的一些操作设置为一个事务。
事务的四大特性ACID

Atomocity：原子性，一个事务中的所有操作，要么全部完成，要么全部失败。
Consistency：一致性，一个或多个事务执行后，原来一致的数据和数据库仍然是一致的。银行转账前后，金额的总额不改变。
Lsolation：隔离性，数据库开启一个事务时，不会受到其他事务对数据操纵导致数据不一致。多个]]></description><category></category></item><item><title><![CDATA[Java基础扫盲]]></title><link>https://blog.youkuaiyun.com/super1223/article/details/119452531</link><guid>https://blog.youkuaiyun.com/super1223/article/details/119452531</guid><author>super1223</author><pubDate>Fri, 06 Aug 2021 13:03:42 +0800</pubDate><description><![CDATA[目录面向对象基本类型与引用类型接口与继承static关键字final关键字代码块接口和抽象类java四大引用类型
面向对象
面向对象编程的三特性
继承：使用现有的类对其所有属性和功能，在无需重新编写原来的类的基础上对其扩展。
继承作为面向对象编程的特性，可以大大的减少代码的冗余，实现代码的复用，继承了父类的子类可以继承其所有的属性和功能，并且可以对其进行拓展。实现其也要注意一些事项



public和protected属性或者方法，可以直接继承并使用。


private权限的属性和方法不可被继承。


]]></description><category></category></item><item><title><![CDATA[Redis整合使用]]></title><link>https://blog.youkuaiyun.com/super1223/article/details/119207542</link><guid>https://blog.youkuaiyun.com/super1223/article/details/119207542</guid><author>super1223</author><pubDate>Thu, 29 Jul 2021 11:33:56 +0800</pubDate><description><![CDATA[目录Jedis的API使用测试Jedis建立连接与测试Jedis常用APIjedis事务测试Redis与Springboot的整合
Jedis的API使用测试
Jedis是官方指定的Redis连接工具，如果想在java中使用Redis，应该和MySQL一样需要有类似jdbc一样的工具来建立连接并且操作。而Jedis的作用就类似于jdbc。在数据库连接和操作中是必不可少的。
Jedis建立连接与测试


导入依赖
&lt;dependency&gt;
    &lt;groupId&gt;redis.clie]]></description><category></category></item><item><title><![CDATA[血肝一天，C站最详细的Redis主从复制！！！]]></title><link>https://blog.youkuaiyun.com/super1223/article/details/119118686</link><guid>https://blog.youkuaiyun.com/super1223/article/details/119118686</guid><author>super1223</author><pubDate>Mon, 26 Jul 2021 21:20:14 +0800</pubDate><description><![CDATA[目录Redis主从复制与集群主从复制原理Redis的主从复制实现方案一主一从实现方案一主多从实现方案Redis集群实现方案（多主多从）Redis哨兵模式实现高可用链式结构平级关系哨兵模式实现高可用配置哨兵模式sentinel的配置相关

Redis主从复制与集群
主从复制，是指将一台Redis服务器的数据，复制到其他的Redis服务器。前者称为主结点(master/leader)，后者称为从节点(slave/follower)；数据的复制是单向的，只能由主节点到从节点。Master以写为主，Slave 以读]]></description><category></category></item><item><title><![CDATA[Redis发布订阅]]></title><link>https://blog.youkuaiyun.com/super1223/article/details/119089834</link><guid>https://blog.youkuaiyun.com/super1223/article/details/119089834</guid><author>super1223</author><pubDate>Sun, 25 Jul 2021 23:14:27 +0800</pubDate><description><![CDATA[目录发布订阅的实现订阅发布原理解析


Redis 发布订阅(pub/sub)是一种消息通信模式：发送者(pub)发送消息，订阅者(sub)接收消息。


订阅者可以订阅任意数量的频道。


Redis被广泛用于构建即时通信应用，比如网络聊天室(chatroom)和实时广播、实时提醒等。



发布订阅的常用指令




序号
命令及描述




1
subscribe channel [channel ...] 订阅给定的一个或多个频道的信息。


2
psubscribe pattern [patter]]></description><category></category></item><item><title><![CDATA[Redis事务]]></title><link>https://blog.youkuaiyun.com/super1223/article/details/119089778</link><guid>https://blog.youkuaiyun.com/super1223/article/details/119089778</guid><author>super1223</author><pubDate>Sun, 25 Jul 2021 23:10:08 +0800</pubDate><description><![CDATA[目录事务执行的多种情况使用watch

Redis的事务本质是一组命令的集合，当事务开启期间，所有的命令都按原有的顺序暂时存入一个缓存队列中，并对其命令进行序列化；当事务被执行时，缓存队列中所有的命令按实际情况进行执行。
所以缓存队列具有一次性，顺序性，排他性的特点。
Redis事务不具有隔离性概念
特别注意，因为Redis是一种基于乐观锁来保证数据一致性的机制。在其事务开启期间，所有的命令都被存入缓存队列中，命令并没有被执行，相当于不存在修改这一过程，所以也不存在各事务相互隔离的概念，所有的事务互不影响。]]></description><category></category></item><item><title><![CDATA[Redis持久化操作]]></title><link>https://blog.youkuaiyun.com/super1223/article/details/119089634</link><guid>https://blog.youkuaiyun.com/super1223/article/details/119089634</guid><author>super1223</author><pubDate>Sun, 25 Jul 2021 22:59:31 +0800</pubDate><description><![CDATA[目录RDBAOF总结
Redis 是内存数据库，它是基于内存进行读写的，这也是它效率高的重要原因之一。
如果不将它的数据设置过期，那么它将会一直保存在内存中，除非手动将其移除或者手动关闭redis服务进程。数据才会从内存中消失。这个时候如果没有对数据进行持久化操作，我们的数据将会永久性的丢失。所以redis为我们提供了数据的持久化方式，这样当我们的reids服务器在不可逆情况下产生宕机时，重启后数据仍能够被重新读取到redis服务中。
Redis提供了两种数据持久化的方式

RDB（Redis DataBa]]></description><category></category></item><item><title><![CDATA[Redis.conf配置详解]]></title><link>https://blog.youkuaiyun.com/super1223/article/details/119060113</link><guid>https://blog.youkuaiyun.com/super1223/article/details/119060113</guid><author>super1223</author><pubDate>Sat, 24 Jul 2021 16:19:59 +0800</pubDate><description><![CDATA[Redis.conf配置详解
redis的配置文件是实现redis进一步了解的重要基石，通过对配置文件的深入了解，我们可以弄清redis的部分工作原理依据，可以实现对redis数据库的按需配置，可以更加适应实际开发的需要。
如下对一份原生的redis配置文件一些基本配置进行说明：
# Redis configuration file example.
#
# Note that in order to read the configuration file, Redis must be
# started ]]></description><category></category></item><item><title><![CDATA[Redis的八大数据类型]]></title><link>https://blog.youkuaiyun.com/super1223/article/details/119058441</link><guid>https://blog.youkuaiyun.com/super1223/article/details/119058441</guid><author>super1223</author><pubDate>Sat, 24 Jul 2021 14:53:08 +0800</pubDate><description><![CDATA[目录通用型方法五大基本类型字符串String列表List集合Set哈希Hash有序集合Zset三种特殊类型Geo地理位置HyperLogLogBitMap位图
Redis共有五大基本类型和三大特殊类型。
但是Redis本质上是NoSQL的键值对类型数据库，所以不管什么类型，本质上仍然基于键值对来存储的，只是各种数据类型的一些函数方法不同。
通用型方法
# key * 查看所有键值
127.0.0.1:6379&gt; keys *
1) "age"
2) "name"
3) "addr"

# exists]]></description><category></category></item><item><title><![CDATA[Redis入门与安装]]></title><link>https://blog.youkuaiyun.com/super1223/article/details/119058396</link><guid>https://blog.youkuaiyun.com/super1223/article/details/119058396</guid><author>super1223</author><pubDate>Sat, 24 Jul 2021 14:50:54 +0800</pubDate><description><![CDATA[目录Redis单线程下高效的原因Redis在windows下的安装Redis在Linux下的安装Redis拓展压力测试工具 `redis-benchmark`数据库基础知识
Redis（Remote Dictionary Server )，即远程字典服务，是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库，并提供多种语言的API
Redis 的作用：

内存存储、持久化（RDB 和 AOF）
效率高，可以用于高速缓存
发布订阅系统，队列
地图信息分析
计数]]></description><category></category></item><item><title><![CDATA[NoSQL的简要概述]]></title><link>https://blog.youkuaiyun.com/super1223/article/details/119058298</link><guid>https://blog.youkuaiyun.com/super1223/article/details/119058298</guid><author>super1223</author><pubDate>Sat, 24 Jul 2021 14:48:28 +0800</pubDate><description><![CDATA[目录关系型数据库的架构演变NoSQL简述NoSQL和RDBMSNoSQL的四大分类
关系型数据库的架构演变


单机mysql
在低数据量的访问时，我们使用单个的MySQL就可以满足我们的数据访问要求。
比如个人博客系统，后台管理系统等，我们同时在线使用的人数不多并且并发访问数量极低。
而且我们存储的数据量少，一个简单的MySQL服务已经足够满足我们的需求。


缓存+业务垂直分离
随着访问量的增加，高并发下的数据访问量使得我们单一的应用无法支撑高流量下的并发访问，同时，对数据库的频繁访问导致数据库性能满足]]></description><category></category></item><item><title><![CDATA[关系型数据库的架构演变]]></title><link>https://blog.youkuaiyun.com/super1223/article/details/119002782</link><guid>https://blog.youkuaiyun.com/super1223/article/details/119002782</guid><author>super1223</author><pubDate>Thu, 22 Jul 2021 16:36:14 +0800</pubDate><description><![CDATA[关系型数据库的架构演变
单机mysql
在低数据量的访问时，我们使用单个的MySQL就可以满足我们的数据访问要求。
比如个人博客系统，后台管理系统等，我们同时在线使用的人数不多并且并发访问数量极低。
而且我们存储的数据量少，一个简单的MySQL服务已经足够满足我们的需求。
缓存+业务垂直分离
随着访问量的增加，高并发下的数据访问量使得我们单一的应用无法支撑高流量下的并发访问，同时，对数据库的频繁访问导致数据库性能满足不了业务需求。
为了解决应用程序上的瓶颈，将业务进行模块化开发，分别部署在不同的服务器上对业]]></description><category></category></item><item><title><![CDATA[Dubbo服务治理之服务降级]]></title><link>https://blog.youkuaiyun.com/super1223/article/details/118785367</link><guid>https://blog.youkuaiyun.com/super1223/article/details/118785367</guid><author>super1223</author><pubDate>Fri, 16 Jul 2021 09:46:08 +0800</pubDate><description><![CDATA[目录可视化服务降级处理集群容错整合hystrix实现服务降级细处理
可视化服务降级处理
当短时间内服务出现网络故障时，或者我们希望让程序以最大的算力去保证核心业务的运行，对于非核心业务暂时屏蔽调用，我们可以采用服务降级的方式来实现这一服务治理。
屏蔽：表示消费方对该服务的方法调用都直接返回 null 值，不发起远程调用。用来屏蔽不重要服务不可用时对调用方的影响。
容错 ：表示消费方对该服务的方法调用在失败后，再返回 null 值，不抛异常。用来容忍不重要服务不稳定时对调用方的影响。
禁止： 表示消费方服务直]]></description><category></category></item><item><title><![CDATA[Dubbo服务治理之负载均衡]]></title><link>https://blog.youkuaiyun.com/super1223/article/details/118785304</link><guid>https://blog.youkuaiyun.com/super1223/article/details/118785304</guid><author>super1223</author><pubDate>Fri, 16 Jul 2021 09:43:34 +0800</pubDate><description><![CDATA[dubbo负载均衡
服务治理作为服务治理的一项功能，不管是在分布式治理dubbo上还是分布式微服务springcloud上都有着举足轻重的功能，也是服务治理的核心功能之一。
在集群负载均衡时，Dubbo 提供了多种均衡策略，缺省为 random 随机调用。如果想要自行定义负载均衡策略，也可以采用继承接口的方式来进行。
dubbo提供的四种负载均衡策略。


Random LoadBalance

随机，按权重设置随机概率。
在一个截面上碰撞的概率高，但调用量越大分布越均匀，而且按概率使用权重后也比较均匀，有]]></description><category></category></item></channel></rss>