<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_42697271的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_42697271</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_42697271]]></copyright><item><title><![CDATA[Java后端底座从无到有的搭建（随笔）]]></title><link>https://blog.youkuaiyun.com/qq_42697271/article/details/136184357</link><guid>https://blog.youkuaiyun.com/qq_42697271/article/details/136184357</guid><author>qq_42697271</author><pubDate>Tue, 20 Feb 2024 16:36:39 +0800</pubDate><description><![CDATA[本文是笔者在初创公司，一年多来Java后端服务底座搭建过程的总结，如有不当之处，还请各位大大指正。]]></description><category></category></item><item><title><![CDATA[ZooKeeper（伪）集群搭建]]></title><link>https://blog.youkuaiyun.com/qq_42697271/article/details/125638782</link><guid>https://blog.youkuaiyun.com/qq_42697271/article/details/125638782</guid><author>qq_42697271</author><pubDate>Thu, 07 Jul 2022 14:43:33 +0800</pubDate><description><![CDATA[ZooKeeper集群搭建]]></description><category></category></item><item><title><![CDATA[ZooKeeper的权限控制--ACL]]></title><link>https://blog.youkuaiyun.com/qq_42697271/article/details/125560375</link><guid>https://blog.youkuaiyun.com/qq_42697271/article/details/125560375</guid><author>qq_42697271</author><pubDate>Fri, 01 Jul 2022 16:58:10 +0800</pubDate><description><![CDATA[ZooKeeper的权限控制--ACL]]></description><category></category></item><item><title><![CDATA[ZooKeeper永久监听]]></title><link>https://blog.youkuaiyun.com/qq_42697271/article/details/125544017</link><guid>https://blog.youkuaiyun.com/qq_42697271/article/details/125544017</guid><author>qq_42697271</author><pubDate>Thu, 30 Jun 2022 17:09:53 +0800</pubDate><description><![CDATA[ZooKeeper永久监听]]></description><category></category></item><item><title><![CDATA[Zookeeper的数据模型和节点类型]]></title><link>https://blog.youkuaiyun.com/qq_42697271/article/details/125541482</link><guid>https://blog.youkuaiyun.com/qq_42697271/article/details/125541482</guid><author>qq_42697271</author><pubDate>Thu, 30 Jun 2022 16:28:44 +0800</pubDate><description><![CDATA[ZooKeeper的数据模型和节点类型]]></description><category></category></item><item><title><![CDATA[ZooKeeper的简单使用]]></title><link>https://blog.youkuaiyun.com/qq_42697271/article/details/125539530</link><guid>https://blog.youkuaiyun.com/qq_42697271/article/details/125539530</guid><author>qq_42697271</author><pubDate>Thu, 30 Jun 2022 15:09:59 +0800</pubDate><description><![CDATA[zookeeper的简单使用]]></description><category></category></item><item><title><![CDATA[CAP&Base理论]]></title><link>https://blog.youkuaiyun.com/qq_42697271/article/details/125535464</link><guid>https://blog.youkuaiyun.com/qq_42697271/article/details/125535464</guid><author>qq_42697271</author><pubDate>Thu, 30 Jun 2022 11:15:41 +0800</pubDate><description><![CDATA[分布式系统的相关理论基础]]></description><category></category></item><item><title><![CDATA[Netty面试题]]></title><link>https://blog.youkuaiyun.com/qq_42697271/article/details/124877572</link><guid>https://blog.youkuaiyun.com/qq_42697271/article/details/124877572</guid><author>qq_42697271</author><pubDate>Fri, 20 May 2022 14:24:01 +0800</pubDate><description><![CDATA[目录一、Netty是如何解决JDK中Selector BUG的？二、如何让单机下基于Netty的应用程序支持几十万甚至百万的长链接？三、什么是水平触发（LT）和边缘触发（ET）?四、请说说浏览器中输入URL到返回页面的全过程五、请说说DNS域名解析的全过程





序号
内容
链接地址




1
JVM面试题
https://blog.youkuaiyun.com/qq_42697271/article/details/114156410


2
hibernate面试题
https://blog.youkuaiyun.com]]></description><category></category></item><item><title><![CDATA[redis集群的水平扩张与缩减]]></title><link>https://blog.youkuaiyun.com/qq_42697271/article/details/123816608</link><guid>https://blog.youkuaiyun.com/qq_42697271/article/details/123816608</guid><author>qq_42697271</author><pubDate>Tue, 29 Mar 2022 16:49:27 +0800</pubDate><description><![CDATA[文章目录一、redis集群的水平扩张1、启动新增的节点2、将游离节点加入集群3、给新加入的节点分配槽位4、给新增的主节点添加从节点二、redis集群的缩减1、从节点的删除2、主节点的删除


前言：本文是承接了笔者之前写的redis集群搭建模式的基础上进行的拓展，如果是零基础的同学，请从前文开始看起～

一、redis集群的水平扩张

水平扩张就是给原本的redis集群添加新的主从节点，让更多的redis节点来分担任务，下面是具体的操作步骤：

1、启动新增的节点

新增节点的启动和前文的启动方式别无二致，]]></description><category></category></item><item><title><![CDATA[mac redis搭建集群模式]]></title><link>https://blog.youkuaiyun.com/qq_42697271/article/details/123731134</link><guid>https://blog.youkuaiyun.com/qq_42697271/article/details/123731134</guid><author>qq_42697271</author><pubDate>Mon, 28 Mar 2022 17:10:27 +0800</pubDate><description><![CDATA[文章目录一、搭建环境二、

一、搭建环境

mac

二、

]]></description><category></category></item><item><title><![CDATA[mac redis搭建哨兵模式]]></title><link>https://blog.youkuaiyun.com/qq_42697271/article/details/123716974</link><guid>https://blog.youkuaiyun.com/qq_42697271/article/details/123716974</guid><author>qq_42697271</author><pubDate>Fri, 25 Mar 2022 11:18:28 +0800</pubDate><description><![CDATA[文章目录一、

一、

]]></description><category></category></item><item><title><![CDATA[mac 搭建redis主从模式]]></title><link>https://blog.youkuaiyun.com/qq_42697271/article/details/123713130</link><guid>https://blog.youkuaiyun.com/qq_42697271/article/details/123713130</guid><author>qq_42697271</author><pubDate>Thu, 24 Mar 2022 17:29:45 +0800</pubDate><description><![CDATA[文章目录一、搭建环境二、操作步骤1、使用brew指令安装redis2、建立从节点配置文件3、启动主从节点三、测试

一、搭建环境

mac book

二、操作步骤
1、使用brew指令安装redis
brew install redis

如果没有安装brew，link请点击此处
如果安装成功，输入如下指令，可查询配置信息
brew info redis

如下图：

2、建立从节点配置文件

从上图中可以看redis的配置文件所在目录是/usr/local/etc/，所以只需要将该文件夹下的redis.]]></description><category></category></item><item><title><![CDATA[高性能存储队列：Disruptor]]></title><link>https://blog.youkuaiyun.com/qq_42697271/article/details/121990656</link><guid>https://blog.youkuaiyun.com/qq_42697271/article/details/121990656</guid><author>qq_42697271</author><pubDate>Fri, 17 Dec 2021 15:58:05 +0800</pubDate><description><![CDATA[文章目录一、JUC包下队列的缺陷二、Disruptor为避免缺陷而设计的解决方案1、存储结构：环形数组、2、定位方式：位运算3、线程安全策略：CAS4、存储方式：缓存填充5、任务执行：事件监听机制三、Disruptor的针对数据覆盖的四种策略1、BlockingWaitStrategy:2、SleepingWaitStrategy:3、YieldingWaitStrategy:4、BusySpinWaitStrategy:四、Disruptor的简单使用1、构建消息载体（事件Event）2、构建消息（事件）]]></description><category></category></item><item><title><![CDATA[Future的缺陷｜CompletableFuture的简单使用]]></title><link>https://blog.youkuaiyun.com/qq_42697271/article/details/121989031</link><guid>https://blog.youkuaiyun.com/qq_42697271/article/details/121989031</guid><author>qq_42697271</author><pubDate>Fri, 17 Dec 2021 09:53:12 +0800</pubDate><description><![CDATA[文章目录一、Future的缺陷二、CompletableFuture简介和相关API三、CompletableFuture的简单使用

一、Future的缺陷


1、Future只提供了get方法来获取结果，并且是阻塞的。所以在并发情况下只能等待所有线程执行完后才能获取结果，除此之外别无它法；
2、无法对多个任务进行链式调用。也就是说不能让第二个任务获取第一个任务执行完成后的结果后再去执行，它的执行是无法指定先后顺序的；
3、无异常处理机制。Future接口中没有异常处理的方法，所以当Futrue中的任务]]></description><category></category></item><item><title><![CDATA[浅谈ForkJoin]]></title><link>https://blog.youkuaiyun.com/qq_42697271/article/details/121809507</link><guid>https://blog.youkuaiyun.com/qq_42697271/article/details/121809507</guid><author>qq_42697271</author><pubDate>Thu, 09 Dec 2021 15:55:27 +0800</pubDate><description><![CDATA[文章目录一、ForkJoin是什么？它能用来实现什么功能？二、ForkJoin的实现原理三、ForkJoin的简单使用

一、ForkJoin是什么？它能用来实现什么功能？

二、ForkJoin的实现原理

三、ForkJoin的简单使用
在这里插入代码片


...]]></description><category></category></item><item><title><![CDATA[浅谈ReentrantReadWriteLock]]></title><link>https://blog.youkuaiyun.com/qq_42697271/article/details/121565889</link><guid>https://blog.youkuaiyun.com/qq_42697271/article/details/121565889</guid><author>qq_42697271</author><pubDate>Mon, 29 Nov 2021 17:23:17 +0800</pubDate><description><![CDATA[这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题，有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能，丰富你的文章UML 图表FLowchart流程图导出与导入导出导入
欢迎使用Markdown编辑器
你好！ 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar]]></description><category></category></item><item><title><![CDATA[浅谈CyclicBarrier]]></title><link>https://blog.youkuaiyun.com/qq_42697271/article/details/121565997</link><guid>https://blog.youkuaiyun.com/qq_42697271/article/details/121565997</guid><author>qq_42697271</author><pubDate>Mon, 29 Nov 2021 10:24:38 +0800</pubDate><description><![CDATA[文章目录一、CyclicBarrier是什么？它的作用是什么？二、CyclicBarrier的实现原理是什么？三、CyclicBarrier和CountDownLatch有什么区别？四、CyclicBarrier的简单实现

一、CyclicBarrier是什么？它的作用是什么？

CyclicBarrier也是JUC包为处理多线程情况下的某些场景所创建的一个工具类。一般都将其译为：循环栅栏。它主要的功能是对多个线程进行阻塞，直至满足栅栏设定的阈值，才会对阻塞的所有线程进行唤醒放行操作。当然循环也是一个很重]]></description><category></category></item><item><title><![CDATA[浅谈Semaphore]]></title><link>https://blog.youkuaiyun.com/qq_42697271/article/details/121532496</link><guid>https://blog.youkuaiyun.com/qq_42697271/article/details/121532496</guid><author>qq_42697271</author><pubDate>Thu, 25 Nov 2021 11:31:40 +0800</pubDate><description><![CDATA[文章目录一、Semaphore是什么？主要作用是什么？二、Semaphore的实现原理是什么？三、Semaphore的简单使用

一、Semaphore是什么？主要作用是什么？

Semaphore简称信号量，它是JUC包下面对限流提供的一种解决方案。也就是说使用它后，可以保证在同一时间内只能有规定数量的任务可以执行，其它任务进入等待状态。

二、Semaphore的实现原理是什么？

Semaphore的阻塞原理和ReentrantLock的阻塞原理类似，主要区别的地方有两点：

1、Semaphore的]]></description><category></category></item><item><title><![CDATA[浅谈ReentrantLock]]></title><link>https://blog.youkuaiyun.com/qq_42697271/article/details/121476405</link><guid>https://blog.youkuaiyun.com/qq_42697271/article/details/121476405</guid><author>qq_42697271</author><pubDate>Tue, 23 Nov 2021 10:07:23 +0800</pubDate><description><![CDATA[文章目录一、ReentrantLock是用来做什么的？二、ReentrantLock的实现原理是什么？三、ReentrantLock对比于Synchronized有哪些优缺点？

一、ReentrantLock是用来做什么的？

二、ReentrantLock的实现原理是什么？

三、ReentrantLock对比于Synchronized有哪些优缺点？


...]]></description><category></category></item><item><title><![CDATA[浅谈synchronized]]></title><link>https://blog.youkuaiyun.com/qq_42697271/article/details/121271051</link><guid>https://blog.youkuaiyun.com/qq_42697271/article/details/121271051</guid><author>qq_42697271</author><pubDate>Thu, 11 Nov 2021 18:11:29 +0800</pubDate><description><![CDATA[文章目录一、synchronized的作用二、synchronized中的几种状态三、synchronized的锁升级原理四、锁升/降级的注意点

一、synchronized的作用

synchronized可以给方法和代码块加锁，保证该方法或者该断代码块同一时间智能有同一个线程访问，从而避免了线程安全问题。

二、synchronized中的几种状态

被synchronized加锁的对象中会有五种状态：

0（00）：轻量级锁状态，该状态下的线程只会进行cas自旋，而不会使用到monitor进行从用户]]></description><category></category></item></channel></rss>