<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[weixin_43299321的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/weixin_43299321</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weixin_43299321]]></copyright><item><title><![CDATA[IDEA 2021.1 的 Win 和 Mac 快捷键]]></title><link>https://blog.youkuaiyun.com/weixin_43299321/article/details/117652570</link><guid>https://blog.youkuaiyun.com/weixin_43299321/article/details/117652570</guid><author>weixin_43299321</author><pubDate>Mon, 07 Jun 2021 10:41:47 +0800</pubDate><description><![CDATA[IntelliJ IDEA 快捷键大全 Win 版

Ctrl 快捷键

Ctrl + F 在当前文件进行文本查找 （必备）

Ctrl + R 在当前文件进行文本替换 （必备）

Ctrl + Z 撤销 （必备）

Ctrl + Y 删除光标所在行 或 删除选中的行 （必备）

Ctrl + X 剪切光标所在行 或 剪切选择内容

Ctrl + C 复制光标所在行 或 复制选择内容

Ctrl + D 复制光标所在行 或 复制选择内容，并把复制内容插入光标位置下面 （必备）

Ctrl + W 递进式选择]]></description><category></category></item><item><title><![CDATA[git命令记录]]></title><link>https://blog.youkuaiyun.com/weixin_43299321/article/details/117284020</link><guid>https://blog.youkuaiyun.com/weixin_43299321/article/details/117284020</guid><author>weixin_43299321</author><pubDate>Wed, 26 May 2021 10:55:02 +0800</pubDate><description><![CDATA[#####拉取master分支
git pull origin master
######当前分支合并  分支名称
git merge origin 分支名称
#####打新分支
1.git checkout -b 分支名称
2.推送到远端  git push origin 分支名称
3.绑定更新关系 git branch --set-upstream-to origin/分支名称  分支名称

...]]></description><category></category></item><item><title><![CDATA[多线程知识点方便面试]]></title><link>https://blog.youkuaiyun.com/weixin_43299321/article/details/109225407</link><guid>https://blog.youkuaiyun.com/weixin_43299321/article/details/109225407</guid><author>weixin_43299321</author><pubDate>Sat, 24 Oct 2020 16:58:40 +0800</pubDate><description><![CDATA[线程、进程、管程的区别
	线程的状态
	线程状态如何流转
	说说你知道的线程池
	线程池的原理
	线程池的参数
	ThreadLocal
	Java中Runnable和Callable有什么不同
	Thread 类中的start() 和 run() 方法有什么区别？
	如何在Java中实现线程
	如何停止一个线程
	如何在两个线程间共享数
	为什么wait, notify 和 notifyAll这些方法不在thread类里面
	Java中interrupted 和 isInterruptedd方法的区别？
]]></description><category></category></item><item><title><![CDATA[Redis试卷]]></title><link>https://blog.youkuaiyun.com/weixin_43299321/article/details/109155066</link><guid>https://blog.youkuaiyun.com/weixin_43299321/article/details/109155066</guid><author>weixin_43299321</author><pubDate>Mon, 19 Oct 2020 18:28:05 +0800</pubDate><description><![CDATA[Redis为什么那么快
	谈谈i/o复用模型和reactor设计模式
	Redis的线程模型
	设计redis的key时要注意什么
	Redis的数据结构，各种结构特点和用途
	Redis的数据结构的底层实现
	redis的事务
	Redis内存都有什么
	内存回收策略
	内存溢出控制策略
	简单谈谈redisObject
	Redis的对象类型
	Redis 内存如何优化
	RDB文件，如何写入，写入格式
	AOF文件，如何写入，写入格式，如何优化，文件缓存策略
	RDB和AOF的优缺点
	主从复制数据如]]></description><category></category></item><item><title><![CDATA[mysql试卷]]></title><link>https://blog.youkuaiyun.com/weixin_43299321/article/details/109083010</link><guid>https://blog.youkuaiyun.com/weixin_43299321/article/details/109083010</guid><author>weixin_43299321</author><pubDate>Thu, 15 Oct 2020 08:56:42 +0800</pubDate><description><![CDATA[1.mysl存储引擎有什么 区别在哪里

2.mysql的索引有哪些

3.B树和B+树有什么不同

4.索引优化

5.索引的优点

6.索引的使用条件

7.sql优化

8.谈谈explain

9.事物特性及隔离级别

10.事物实现原理

11.mysql的锁有哪些

12.谈谈MVCC原理

13.锁算法

14.如何避免幻读

15.主从延时如何处理

16.分库分表如何实现的

17.数据主从复制原理

18.读写分离实现，若有延时如何处理

19.事物特性是如何实现的

20.查询语句的.]]></description><category></category></item><item><title><![CDATA[JVM试卷]]></title><link>https://blog.youkuaiyun.com/weixin_43299321/article/details/109070007</link><guid>https://blog.youkuaiyun.com/weixin_43299321/article/details/109070007</guid><author>weixin_43299321</author><pubDate>Wed, 14 Oct 2020 13:47:08 +0800</pubDate><description><![CDATA[JVM内存模型都有什么？都是干什么的
	对象的访问定位的方式，有什么好处。
	JAVA内存溢出都有什么？如何解决
	如何判断一个对象是否要回收
	Java的4种引用
	垃圾回收的算法及其优缺点
	说说你知道的垃圾回收器及其区别
	垃圾回收器的执行过程
	Java对象内存如何分配
	如何查看GC日志
	jvm的监控工具
	jvm调优方案+情况
	类加载六层
	对类进行初始化的时机
	类加载器
	什么是双亲委派












JVM内存模型都有什么？都是干什么的

程序计数器：每个线程都有...]]></description><category></category></item><item><title><![CDATA[Spring Cloud-RIBBON负载均衡算法解析]]></title><link>https://blog.youkuaiyun.com/weixin_43299321/article/details/108501095</link><guid>https://blog.youkuaiyun.com/weixin_43299321/article/details/108501095</guid><author>weixin_43299321</author><pubDate>Wed, 09 Sep 2020 22:56:49 +0800</pubDate><description><![CDATA[Ribbon 负载均衡算法 IRule
Ribbon 提供了多种负载均衡策略算法，例如轮询算法、随机算法、响应时间加权算法等。

默认采用的是轮询算法。当然，我们也可以指定 Ribbon 所要采用的负载均衡算法。


public interface IRule{
    /*
     * choose one alive server from lb.allServers or
     * lb.upServers according to key
     * 
     * @return cho]]></description><category></category></item><item><title><![CDATA[2020-09-04]]></title><link>https://blog.youkuaiyun.com/weixin_43299321/article/details/108403117</link><guid>https://blog.youkuaiyun.com/weixin_43299321/article/details/108403117</guid><author>weixin_43299321</author><pubDate>Fri, 04 Sep 2020 14:46:16 +0800</pubDate><description><![CDATA[数据类型

全文搜索引擎很好的支持非结构化数据的搜索，可以更好地快速搜索大量存在的任何单词非结构化文本。例如Google，百度类的网站搜索，它们都是根据网页中的关键字生成索引，我们在搜索的时候输入关键字，它们会将该关键字即索引匹配到的所有网页返回；还有常见的项目中应用日志的搜索等等。对于这些非结构化的数据文本，关系型数据库搜索不是很好的支持。

搜索性能

如果使用MySQL做索引，比如有个player表，这个表有user_name这个字段，我们要查找出user_name以james开头的球员，和含有jam]]></description><category></category></item><item><title><![CDATA[微服务基础入门-注册中心]]></title><link>https://blog.youkuaiyun.com/weixin_43299321/article/details/108278173</link><guid>https://blog.youkuaiyun.com/weixin_43299321/article/details/108278173</guid><author>weixin_43299321</author><pubDate>Fri, 28 Aug 2020 15:18:00 +0800</pubDate><description><![CDATA[在落地注册中心的过程中，我们需要解决一系列的问题，包括 如何存储服务信息、如何注册节点、如何反注册、如何查询节点信息以及如何订阅服务变更等。

注册中心如何存储服务信息

注册中心既然是用来存储服务信息的，那么服务信息都包含哪些内容呢?

一般包含三部分内容：

分组、
	服务名
	节点信息，又包括节点地址和节点其他信息
一般是按照“服务 - 分组 - 节点信息”三层结构来存储，Service 代表服务的具体分组，Cluster 代表服务的接口名，节点信息用 KV 存储。



搞清楚了注册中心存储服务信息]]></description><category></category></item><item><title><![CDATA[微服务入门基础]]></title><link>https://blog.youkuaiyun.com/weixin_43299321/article/details/108246102</link><guid>https://blog.youkuaiyun.com/weixin_43299321/article/details/108246102</guid><author>weixin_43299321</author><pubDate>Fri, 28 Aug 2020 11:01:59 +0800</pubDate><description><![CDATA[解决什么问题
单体应用
	部署效率低下
	团队协作开发成本高
	系统高可用性差
	线上发布变慢。
什么是服务化?

服务化就是把 传统的单机应用中通过 JAR 包依赖产生的本地方法调用，改造成通过 RPC 接口产生的远程 方法调用

什么是微服务?

在我看来，可以总结为以下四点:

服务拆分粒度更细。微服务可以说是更细维度的服务化，小到一个子模块，只要该模块依 赖的资源与其他模块都没有关系，那么就可以拆分为一个微服务。
	服务独立部署。每个微服务都严格遵循独立打包部署的准则，互不影响。比如一台物理机 上.]]></description><category></category></item><item><title><![CDATA[Zab协议]]></title><link>https://blog.youkuaiyun.com/weixin_43299321/article/details/108127002</link><guid>https://blog.youkuaiyun.com/weixin_43299321/article/details/108127002</guid><author>weixin_43299321</author><pubDate>Thu, 20 Aug 2020 20:49:35 +0800</pubDate><description><![CDATA[一、什么是Zab协议

ZAB协议 的全称是Zookeeper Atomic Broadcast（Zookeeper原子广播）。
ZAB 协议是为分布式协调服务ZooKeeper专门设计的一种支持崩溃恢复的一致性协议。基于该协议，ZooKeeper 实现了一种主从模式的系统架构来保持集群中各个副本之间的数据一致性。

话说在分布式系统中一般使用主从系统架构模型，指的是一台leader服务器负责外部客户端的写请求。然后其他的都是follower服务器。leader服务器将客户端的写操作数据同步到所有的fo..]]></description><category></category></item><item><title><![CDATA[kafka整理]]></title><link>https://blog.youkuaiyun.com/weixin_43299321/article/details/107774711</link><guid>https://blog.youkuaiyun.com/weixin_43299321/article/details/107774711</guid><author>weixin_43299321</author><pubDate>Wed, 05 Aug 2020 22:45:49 +0800</pubDate><description><![CDATA[1.kafka的作用

削峰填谷、异步、解耦

2.消息

2.1 传输出去。常见的有两种方法：

点对点模型：也叫消息队列模型。如果拿上面那个“民间版”的定义来说，那么系统 A 发送的消息只能被系统 B 接收，其他任何系统都不能读取 A 发送的消息。
	发布 / 订阅模型：与上面不同的是，它有一个主题（Topic）的概念，你可以理解成逻辑语义相近的消息容器。该模型也有发送方和接收方，只不过提法不同。发送方也称为发布者（Publisher），接收方称为订阅者（Subscriber）。和点对点模型不同的是，这]]></description><category></category></item><item><title><![CDATA[ZooKeeper知识点整理]]></title><link>https://blog.youkuaiyun.com/weixin_43299321/article/details/107589895</link><guid>https://blog.youkuaiyun.com/weixin_43299321/article/details/107589895</guid><author>weixin_43299321</author><pubDate>Sun, 26 Jul 2020 13:32:31 +0800</pubDate><description><![CDATA[1. 什么是ZooKeeper

ZooKeeper是一个分布式的，开放源码的分布式应用程序协调服务，是Google的Chubby一个开源的实现，是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件，提供的功能包括：配置维护、域名服务、分布式同步、组服务等。

2. ZooKeeper能做什么

数据订阅与发布
	负载均衡
	命名服务
	分布式协调/通知
	master选举
	分布式锁
	分布式队列
3. 基础知识

ZooKeeper能做的事情不少，稍后对上面说的7条进行详细说明]]></description><category></category></item><item><title><![CDATA[redis 哨兵+cluster]]></title><link>https://blog.youkuaiyun.com/weixin_43299321/article/details/107187373</link><guid>https://blog.youkuaiyun.com/weixin_43299321/article/details/107187373</guid><author>weixin_43299321</author><pubDate>Wed, 08 Jul 2020 16:04:25 +0800</pubDate><description><![CDATA[一、redis的哨兵

它主要提供的功能是

1.集群监控

2.消息通知

3.故障转移

4.配置中心，通知client客户端新的master地址



必要点

哨兵必须要3个实例才可以

不会保证数据不丢失



哨兵是如何工作的

1.哨兵ping一个master，若没有ping通就认为这个master主观宕机了

2.上面那个哨兵通过 pus/sub感知和发送信息给其他哨兵，若其他哨兵也认为该master宕机了，则是客观宕机，当master是客观宕机的时候就认为master是真宕机了

3...]]></description><category></category></item><item><title><![CDATA[Java多线程——CountDownLatch]]></title><link>https://blog.youkuaiyun.com/weixin_43299321/article/details/103969101</link><guid>https://blog.youkuaiyun.com/weixin_43299321/article/details/103969101</guid><author>weixin_43299321</author><pubDate>Tue, 14 Jan 2020 11:37:48 +0800</pubDate><description><![CDATA[1.例子


public  void testCountDownLatch() throws InterruptedException {
        CountDownLatch contDownLatch = new CountDownLatch( 10);
        for(int i=0;i&lt;10;i++){
            String name = "这是第"...]]></description><category></category></item><item><title><![CDATA[java多线程——Condition源码解析]]></title><link>https://blog.youkuaiyun.com/weixin_43299321/article/details/103957577</link><guid>https://blog.youkuaiyun.com/weixin_43299321/article/details/103957577</guid><author>weixin_43299321</author><pubDate>Mon, 13 Jan 2020 16:53:02 +0800</pubDate><description><![CDATA[简介

 condition可以通俗的理解为条件队列。当一个线程在调用了await方法以后，直到线程等待的某个条件为真的时候才会被唤醒。这种方式为线程提供了更加简单的等待/通知模式。Condition必须要配合锁一起使用，因为对共享状态变量的访问发生在多线程环境下。一个Condition的实例必须与一个Lock绑定，因此Condition一般都是作为Lock的内部实现。

condi...]]></description><category></category></item><item><title><![CDATA[java多线程——ReentrantLock源码解析]]></title><link>https://blog.youkuaiyun.com/weixin_43299321/article/details/103905725</link><guid>https://blog.youkuaiyun.com/weixin_43299321/article/details/103905725</guid><author>weixin_43299321</author><pubDate>Thu, 09 Jan 2020 20:30:11 +0800</pubDate><description><![CDATA[简介

jdk中独占锁的实现除了使用关键字synchronized外,还可以使用ReentrantLock。虽然在性能上ReentrantLock和synchronized没有什么区别，但ReentrantLock相比synchronized而言功能更加丰富，使用起来更为灵活，也更适合复杂的并发场景。

这个类有2个构造方法：


/**
     * Creates an instance of...]]></description><category></category></item><item><title><![CDATA[Java多线程——CyclicBarrier源码解析]]></title><link>https://blog.youkuaiyun.com/weixin_43299321/article/details/103901312</link><guid>https://blog.youkuaiyun.com/weixin_43299321/article/details/103901312</guid><author>weixin_43299321</author><pubDate>Thu, 09 Jan 2020 09:20:44 +0800</pubDate><description><![CDATA[简介

CyclicBarrier可以使一定数量的线程反复地在栅栏位置处汇集。当线程到达栅栏位置时将调用await方法，这个方法将阻塞直到所有线程都到达栅栏位置。如果所有线程都到达栅栏位置，那么栅栏将打开，此时所有的线程都将被释放，而栅栏将被重置以便下次使用。

CyclicBarrier源码解析

它有两个构造函数：


public CyclicBarrier(int parties, Run...]]></description><category></category></item><item><title><![CDATA[Java中的IO]]></title><link>https://blog.youkuaiyun.com/weixin_43299321/article/details/103888005</link><guid>https://blog.youkuaiyun.com/weixin_43299321/article/details/103888005</guid><author>weixin_43299321</author><pubDate>Wed, 08 Jan 2020 11:23:46 +0800</pubDate><description><![CDATA[java IO

1.IO相关概念

1.1什么是IO

所谓IO即input和output的缩写，是对数据的流入和流出的一种抽象，编程中很常见的一个概念。

1.2什么是流

体会一下这几个词：水流（静止的水想必没人会叫水流），物流，人流（此人流非彼人流 = =！），可以发现流的特点：动态的，可转移

的，从一处到另一处的

1.3 java io

java为了我们调用方便，而屏蔽输入/输出源...]]></description><category></category></item><item><title><![CDATA[Redis数据结构—字典]]></title><link>https://blog.youkuaiyun.com/weixin_43299321/article/details/103589290</link><guid>https://blog.youkuaiyun.com/weixin_43299321/article/details/103589290</guid><author>weixin_43299321</author><pubDate>Tue, 17 Dec 2019 23:25:08 +0800</pubDate><description><![CDATA[字典，又称为符号表、关联数组 、或映射，是一种用于保存键值对的抽象数据结构。在字典中每个键都是独一无二的。

字典在redis中的应用相当广泛比如redis的数据库就是使用字典来作为底层实现的。

字典的实现

redis的字典使用哈希表作为底层实现，一个哈希表里面可以有多个哈希节点，而每个哈希表节点就保存了字典中的一个键值对。

哈希表


typedef struct dictht {

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