<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[mountain9527的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/mountain9527</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; mountain9527]]></copyright><item><title><![CDATA[Java Timer 实现原理]]></title><link>https://blog.youkuaiyun.com/mountain9527/article/details/148673870</link><guid>https://blog.youkuaiyun.com/mountain9527/article/details/148673870</guid><author>mountain9527</author><pubDate>Sun, 15 Jun 2025 18:56:59 +0800</pubDate><description><![CDATA[特性Timer线程数量1（单线程）调度方式优先队列 + sleep/wait任务异常处理会终止整个线程并发任务能力不支持替代方案。]]></description><category></category></item><item><title><![CDATA[为什么抛出InterruptedException要清除线程中断状态？]]></title><link>https://blog.youkuaiyun.com/mountain9527/article/details/148542945</link><guid>https://blog.youkuaiyun.com/mountain9527/article/details/148542945</guid><author>mountain9527</author><pubDate>Mon, 09 Jun 2025 21:07:45 +0800</pubDate><description><![CDATA[你在餐厅次饭，你需要叫服务员，这时候你按了桌子上的呼叫按钮，按钮变亮。1.先灭灯，表示已经收到了你的请求，避免其他服务员重复服务。2.然后再走过来，帮你处理需求。]]></description><category></category></item><item><title><![CDATA[【手摸手】教你实现自己的 Java Future]]></title><link>https://blog.youkuaiyun.com/mountain9527/article/details/148516640</link><guid>https://blog.youkuaiyun.com/mountain9527/article/details/148516640</guid><author>mountain9527</author><pubDate>Sun, 08 Jun 2025 18:55:31 +0800</pubDate><description><![CDATA[你终于鼓起勇气，发了条微信表白：“小美，其实，我喜欢你很久了，你可以做我女朋友吗？”（提交任务，等待女神回复）。你知道她可能不会立刻回复，于是你继续敲代码、改bug。（主线程继续干活）。你决定放弃：不打算做舔狗了。（任务超时超时 or 取消）你是一位痴情的程序员（主线程），你有一位喜欢的女神（任务目标）。你忐忑不安，你偶尔偷瞄手机看看有没有回复。你迫不及待，点开女神的聊天界面等待回复消息（女神说你是好人但不合适：表白失败（任务异常）女神被别人追到手，被截胡。]]></description><category></category></item><item><title><![CDATA[Java的线程中断机制]]></title><link>https://blog.youkuaiyun.com/mountain9527/article/details/148499890</link><guid>https://blog.youkuaiyun.com/mountain9527/article/details/148499890</guid><author>mountain9527</author><pubDate>Sat, 07 Jun 2025 19:59:29 +0800</pubDate><description><![CDATA[Java 的线程中断是一种“你告诉我停，我自己决定怎么停”的协作机制，核心是设置和检测中断标志，而不是强制终止线程。]]></description><category></category></item><item><title><![CDATA[Kafka是怎么保证消息不丢失的?]]></title><link>https://blog.youkuaiyun.com/mountain9527/article/details/148435944</link><guid>https://blog.youkuaiyun.com/mountain9527/article/details/148435944</guid><author>mountain9527</author><pubDate>Wed, 04 Jun 2025 22:10:34 +0800</pubDate><description><![CDATA[阶段机制作用Produceracks=all + retries + 幂等性避免生产消息丢失、重复Broker多副本同步 + 持久化 + 禁止脏选主保证消息可靠落盘Consumer手动提交 offset + 幂等处理避免消费丢失/重复。]]></description><category></category></item><item><title><![CDATA[什么是 Kafka 的 高水位（High Watermark, HW）？]]></title><link>https://blog.youkuaiyun.com/mountain9527/article/details/148315998</link><guid>https://blog.youkuaiyun.com/mountain9527/article/details/148315998</guid><author>mountain9527</author><pubDate>Thu, 29 May 2025 18:50:12 +0800</pubDate><description><![CDATA[Kafka 中，每个 partition 的消息都有一个（偏移量），代表消息在该 partition 中的顺序编号。]]></description><category></category></item><item><title><![CDATA[雪花算法-实现分布式Id]]></title><link>https://blog.youkuaiyun.com/mountain9527/article/details/148290269</link><guid>https://blog.youkuaiyun.com/mountain9527/article/details/148290269</guid><author>mountain9527</author><pubDate>Wed, 28 May 2025 19:23:18 +0800</pubDate><description><![CDATA[最早由 Twitter 提出，旨在高性能、高可用环境下生成全局唯一、有序的 64 位整型 ID。有多种实现方式，我们采用hutool的IdUtil。Snowflake 是一种经典的。怎么样是不是很简单。]]></description><category></category></item><item><title><![CDATA[替代 Docker Desktop！我为什么推荐 Orbstack？]]></title><link>https://blog.youkuaiyun.com/mountain9527/article/details/148284253</link><guid>https://blog.youkuaiyun.com/mountain9527/article/details/148284253</guid><author>mountain9527</author><pubDate>Wed, 28 May 2025 14:55:50 +0800</pubDate><description><![CDATA[是一款专为 macOS 打造的 Docker 与 Linux 虚拟机引擎，主打。它兼顾了 Docker Desktop 的完整功能与 WSL 的高性能体验，可视为二者的融合体，真正做到了为开发者而生。]]></description><category></category></item><item><title><![CDATA[Spring的事务传播行为简述]]></title><link>https://blog.youkuaiyun.com/mountain9527/article/details/148227643</link><guid>https://blog.youkuaiyun.com/mountain9527/article/details/148227643</guid><author>mountain9527</author><pubDate>Mon, 26 May 2025 12:49:32 +0800</pubDate><description><![CDATA[事务传播行为（）是指当一个方法在一个事务上下文中被调用时，它该如何“”或“”的策略。]]></description><category></category></item><item><title><![CDATA[Java正则表达式快速入门]]></title><link>https://blog.youkuaiyun.com/mountain9527/article/details/148143187</link><guid>https://blog.youkuaiyun.com/mountain9527/article/details/148143187</guid><author>mountain9527</author><pubDate>Thu, 22 May 2025 15:48:00 +0800</pubDate><description><![CDATA[贪婪模式是正则表达式默认的匹配方式。它会尝试匹配尽可能多的字符，直到整个表达式无法再匹配更长字符串为止。它满足匹配条件后不会停止，而是尽量往后多匹配。量词符号（贪婪）量词含义0 次或多次1 次或多次?0 次或 1 次{n,}至少 n 次例子css复制编辑regex复制编辑<.*>.*是贪婪匹配，尽可能多匹配。匹配结果是：css复制编辑整个字符串从第一个到最后一个都被匹配了。模式匹配原则示例匹配结果贪婪模式尽可能多匹配非贪婪模式尽可能少匹配<div>和<div>]]></description><category></category></item><item><title><![CDATA[Java参数传递是值传递还是引用传递?]]></title><link>https://blog.youkuaiyun.com/mountain9527/article/details/148096942</link><guid>https://blog.youkuaiyun.com/mountain9527/article/details/148096942</guid><author>mountain9527</author><pubDate>Tue, 20 May 2025 19:10:29 +0800</pubDate><description><![CDATA[类型Java传递方式能否修改原值基本类型值的副本❌引用类型引用的副本✅（内容可变），❌（引用不可变）]]></description><category></category></item><item><title><![CDATA[Docker安装mysql]]></title><link>https://blog.youkuaiyun.com/mountain9527/article/details/124657743</link><guid>https://blog.youkuaiyun.com/mountain9527/article/details/124657743</guid><author>mountain9527</author><pubDate>Mon, 09 May 2022 00:25:28 +0800</pubDate><description><![CDATA[查询指定的版本
https://hub.docker.com/_/mysql?tab=tags
找到你想要下载的版本
docker pull mysql:8.0.29-oracle

复制命令执行

检查下载的镜像
[root@localhost ~]# docker images
REPOSITORY             TAG          IMAGE ID       CREATED         SIZE
mysql                  8.0-oracle   4a7183]]></description><category></category></item><item><title><![CDATA[CentOS 安装Docker教程]]></title><link>https://blog.youkuaiyun.com/mountain9527/article/details/124639776</link><guid>https://blog.youkuaiyun.com/mountain9527/article/details/124639776</guid><author>mountain9527</author><pubDate>Sat, 07 May 2022 21:25:50 +0800</pubDate><description><![CDATA[准备工作
1.检查内核版本
docker 要求Cent OS内核版本高于3.10。
通过 uname -r 命令查看你当前的内核版本
[root@localhost ~]# uname -r
3.10.0-693.el7.x86_64

2.更新yum
使用root权限登录centos 确保yum包更新到最新
sudo yum update

3.如果之前已经安装过Docker，卸载旧版本
sudo yum remove docker \
                docker-client \
  ]]></description><category></category></item><item><title><![CDATA[Linux免密登录]]></title><link>https://blog.youkuaiyun.com/mountain9527/article/details/124621581</link><guid>https://blog.youkuaiyun.com/mountain9527/article/details/124621581</guid><author>mountain9527</author><pubDate>Fri, 06 May 2022 23:56:00 +0800</pubDate><description><![CDATA[需求
在开发中我们每次ssh到linux服务器都需要输入密码，似乎有点麻烦。有没有什么办法？
原理

在机器A上生成一对公私钥
A将公钥拷贝给B，在B中重命名为authorized_keys（放在当前用户目录下的.ssh目录下）
A向B发送一个登录链接请求
B得到A的登录请求信息后，在authorized_keys中查找，如果有相应的用户名和IP，则随机生成一个字符串string_text，并且使用A的公钥加密，随后发送给A
A接收到B发送过来的消息后，使用自己的私钥解密，然后将解密后的字符串发送给B
B接]]></description><category></category></item><item><title><![CDATA[Mac WMware Fusion 虚拟机nat网络配置]]></title><link>https://blog.youkuaiyun.com/mountain9527/article/details/121758508</link><guid>https://blog.youkuaiyun.com/mountain9527/article/details/121758508</guid><author>mountain9527</author><pubDate>Mon, 06 Dec 2021 23:06:47 +0800</pubDate><description><![CDATA[Mac WMware Fusion 虚拟机NAt网络配置
WMware Fusion配置
1.VMware Fusion 偏好设置
2.选择网络
3.点击解锁按钮 点击加号新增一个网络连接
4.配置子网ip（可以和主机IP不在一网段）和子网掩码
5.最后别忘了点击应用哦

主机配置
1.打开终端
2.执行命令
cd /Library/Preferences/VMware Fusion
sudo vim /Library/Preferences/VMware\ Fusion/networking

3.配置与]]></description><category></category></item><item><title><![CDATA[CAP定理]]></title><link>https://blog.youkuaiyun.com/mountain9527/article/details/120619878</link><guid>https://blog.youkuaiyun.com/mountain9527/article/details/120619878</guid><author>mountain9527</author><pubDate>Tue, 05 Oct 2021 23:38:23 +0800</pubDate><description><![CDATA[什么是CAP定理？
1998年，加州大学的计算机科学家 Eric Brewer 提出，分布式系统有三个指标。它们的第一个字母分别是 C（consistency）、A（availability）、P（partition tolerance）。Eric Brewer 说，这三个指标不可能同时做到。这个结论就叫做 CAP 定理。
CAP具体含义如下：

一致性（consistency）：保证有所节点在同一时刻具有相同的、逻辑一致的数据，等同于所有节点同时访问到一致的（最新的）的副本。比如，向节点1写入数据V0，.]]></description><category></category></item><item><title><![CDATA[Java实现常见的负载均衡]]></title><link>https://blog.youkuaiyun.com/mountain9527/article/details/119960229</link><guid>https://blog.youkuaiyun.com/mountain9527/article/details/119960229</guid><author>mountain9527</author><pubDate>Fri, 27 Aug 2021 20:41:40 +0800</pubDate><description><![CDATA[Java实现常见的负载均衡算法
什么是负载均衡？

负载平衡（Load balancing）是一种电子计算机技术，用来在多个计算机（计算机集群）、网络连接、CPU、磁盘驱动器或其他资源中分配负载，以达到优化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。 使用带有负载平衡的多个服务器组件，取代单一的组件，可以通过冗余提高可靠性。负载平衡服务通常是由专用软件和硬件来完成。 主要作用是将大量作业合理地分摊到多个操作单元上进行执行，用于解决互联网架构中的高并发和高可用的问题。
常见的负载均衡算法

1]]></description><category></category></item><item><title><![CDATA[延迟队列DelayQueue]]></title><link>https://blog.youkuaiyun.com/mountain9527/article/details/114955790</link><guid>https://blog.youkuaiyun.com/mountain9527/article/details/114955790</guid><author>mountain9527</author><pubDate>Tue, 23 Mar 2021 21:31:07 +0800</pubDate><description><![CDATA[1.什么是延时队列
延时队列：
delayed元素的**无限制阻塞队列**，在该队列中，仅当元素的延迟到期时才可以使用该元素。 队列的开头是该Delayed元素，其延迟在过去最远的时间到期。 如果没有延迟，则没有头， poll将返回null 。 当元素getDelay(TimeUnit.NANOSECONDS)方法返回小于或等于零的值时，就会发生过期。 即使未到期的元素无法使用take或poll删除，它们也被视为普通元素。 例如， size方法返回过期和未过期元素的计数。 此队列不允许使用null元素。

]]></description><category></category></item><item><title><![CDATA[我得第一篇博客]]></title><link>https://blog.youkuaiyun.com/mountain9527/article/details/114953882</link><guid>https://blog.youkuaiyun.com/mountain9527/article/details/114953882</guid><author>mountain9527</author><pubDate>Wed, 17 Mar 2021 22:40:02 +0800</pubDate><description><![CDATA[以后要坚持写文章呀。

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