<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Nicksxs&#39;s Blog</title>
  <icon>https://nicksxs.me/icon.png</icon>
  <subtitle>What hurts more, the pain of hard work or the pain of regret?</subtitle>
  <link href="/atom.xml" rel="self"/>
  
  <link href="https://nicksxs.me/"/>
  <updated>2020-09-13T15:39:01.118Z</updated>
  <id>https://nicksxs.me/</id>
  
  <author>
    <name>Nicksxs</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>在老丈人家的小工记三</title>
    <link href="https://nicksxs.me/2020/09/13/%E5%9C%A8%E8%80%81%E4%B8%88%E4%BA%BA%E5%AE%B6%E7%9A%84%E5%B0%8F%E5%B7%A5%E8%AE%B0%E4%B8%89/"/>
    <id>https://nicksxs.me/2020/09/13/%E5%9C%A8%E8%80%81%E4%B8%88%E4%BA%BA%E5%AE%B6%E7%9A%84%E5%B0%8F%E5%B7%A5%E8%AE%B0%E4%B8%89/</id>
    <published>2020-09-13T15:37:21.000Z</published>
    <updated>2020-09-13T15:39:01.118Z</updated>
    
    <summary type="html">
    
      
      
        
        
          &lt;h2 id=&quot;小工记三&quot;&gt;&lt;a href=&quot;#小工记三&quot; class=&quot;headerlink&quot;
        
      
    
    </summary>
    
    
      <category term="生活" scheme="https://nicksxs.me/categories/%E7%94%9F%E6%B4%BB/"/>
    
      <category term="运动" scheme="https://nicksxs.me/categories/%E7%94%9F%E6%B4%BB/%E8%BF%90%E5%8A%A8/"/>
    
      <category term="跑步" scheme="https://nicksxs.me/categories/%E7%94%9F%E6%B4%BB/%E8%BF%90%E5%8A%A8/%E8%B7%91%E6%AD%A5/"/>
    
      <category term="干活" scheme="https://nicksxs.me/categories/%E7%94%9F%E6%B4%BB/%E8%BF%90%E5%8A%A8/%E8%B7%91%E6%AD%A5/%E5%B9%B2%E6%B4%BB/"/>
    
    
      <category term="生活" scheme="https://nicksxs.me/tags/%E7%94%9F%E6%B4%BB/"/>
    
      <category term="运动" scheme="https://nicksxs.me/tags/%E8%BF%90%E5%8A%A8/"/>
    
      <category term="减肥" scheme="https://nicksxs.me/tags/%E5%87%8F%E8%82%A5/"/>
    
      <category term="跑步" scheme="https://nicksxs.me/tags/%E8%B7%91%E6%AD%A5/"/>
    
      <category term="干活" scheme="https://nicksxs.me/tags/%E5%B9%B2%E6%B4%BB/"/>
    
      <category term="小技巧" scheme="https://nicksxs.me/tags/%E5%B0%8F%E6%8A%80%E5%B7%A7/"/>
    
  </entry>
  
  <entry>
    <title>mybatis 的 $ 和 # 是有啥区别</title>
    <link href="https://nicksxs.me/2020/09/06/mybatis-%E7%9A%84-%E5%92%8C-%E6%98%AF%E6%9C%89%E5%95%A5%E5%8C%BA%E5%88%AB/"/>
    <id>https://nicksxs.me/2020/09/06/mybatis-%E7%9A%84-%E5%92%8C-%E6%98%AF%E6%9C%89%E5%95%A5%E5%8C%BA%E5%88%AB/</id>
    <published>2020-09-06T15:14:50.000Z</published>
    <updated>2020-09-06T15:18:32.309Z</updated>
    
    <summary type="html">
    
      
      
        
        
          &lt;p&gt;这个问题也是面试中常被问到的，就抽空来了解下这个，跳过一大段前面初始化的逻辑，&lt;br&gt;对于一条&lt;code&gt;select * from t1 where id = #{id}&lt;/code&gt;这样的 sql，在初始化扫描 mapper 的xml文件的时候会根据是否是
        
      
    
    </summary>
    
    
      <category term="Java" scheme="https://nicksxs.me/categories/Java/"/>
    
      <category term="Mybatis" scheme="https://nicksxs.me/categories/Java/Mybatis/"/>
    
      <category term="Mysql" scheme="https://nicksxs.me/categories/Mysql/"/>
    
      <category term="Sql注入" scheme="https://nicksxs.me/categories/Mysql/Sql%E6%B3%A8%E5%85%A5/"/>
    
      <category term="Spring" scheme="https://nicksxs.me/categories/Spring/"/>
    
      <category term="Mybatis" scheme="https://nicksxs.me/categories/Spring/Mybatis/"/>
    
    
      <category term="Java" scheme="https://nicksxs.me/tags/Java/"/>
    
      <category term="Mysql" scheme="https://nicksxs.me/tags/Mysql/"/>
    
      <category term="Mybatis" scheme="https://nicksxs.me/tags/Mybatis/"/>
    
      <category term="Sql注入" scheme="https://nicksxs.me/tags/Sql%E6%B3%A8%E5%85%A5/"/>
    
  </entry>
  
  <entry>
    <title>这周末我又在老丈人家打了天小工</title>
    <link href="https://nicksxs.me/2020/08/30/%E8%BF%99%E5%91%A8%E6%9C%AB%E6%88%91%E5%8F%88%E5%9C%A8%E8%80%81%E4%B8%88%E4%BA%BA%E5%AE%B6%E6%89%93%E4%BA%86%E5%A4%A9%E5%B0%8F%E5%B7%A5/"/>
    <id>https://nicksxs.me/2020/08/30/%E8%BF%99%E5%91%A8%E6%9C%AB%E6%88%91%E5%8F%88%E5%9C%A8%E8%80%81%E4%B8%88%E4%BA%BA%E5%AE%B6%E6%89%93%E4%BA%86%E5%A4%A9%E5%B0%8F%E5%B7%A5/</id>
    <published>2020-08-30T15:22:57.000Z</published>
    <updated>2020-08-30T15:31:08.939Z</updated>
    
    <summary type="html">
    
      
      
        
        
          &lt;p&gt;因为活实在比较多，也不太好叫大工(活比较杂散)，相比上一次我跟 LD
        
      
    
    </summary>
    
    
      <category term="生活" scheme="https://nicksxs.me/categories/%E7%94%9F%E6%B4%BB/"/>
    
      <category term="运动" scheme="https://nicksxs.me/categories/%E7%94%9F%E6%B4%BB/%E8%BF%90%E5%8A%A8/"/>
    
      <category term="跑步" scheme="https://nicksxs.me/categories/%E7%94%9F%E6%B4%BB/%E8%BF%90%E5%8A%A8/%E8%B7%91%E6%AD%A5/"/>
    
      <category term="干活" scheme="https://nicksxs.me/categories/%E7%94%9F%E6%B4%BB/%E8%BF%90%E5%8A%A8/%E8%B7%91%E6%AD%A5/%E5%B9%B2%E6%B4%BB/"/>
    
    
      <category term="生活" scheme="https://nicksxs.me/tags/%E7%94%9F%E6%B4%BB/"/>
    
      <category term="运动" scheme="https://nicksxs.me/tags/%E8%BF%90%E5%8A%A8/"/>
    
      <category term="减肥" scheme="https://nicksxs.me/tags/%E5%87%8F%E8%82%A5/"/>
    
      <category term="跑步" scheme="https://nicksxs.me/tags/%E8%B7%91%E6%AD%A5/"/>
    
      <category term="干活" scheme="https://nicksxs.me/tags/%E5%B9%B2%E6%B4%BB/"/>
    
  </entry>
  
  <entry>
    <title>Filter, Interceptor, Aop, 啥, 啥, 啥? 这些都是啥?</title>
    <link href="https://nicksxs.me/2020/08/22/Filter-Intercepter-Aop-%E5%95%A5-%E5%95%A5-%E5%95%A5-%E8%BF%99%E4%BA%9B%E9%83%BD%E6%98%AF%E5%95%A5/"/>
    <id>https://nicksxs.me/2020/08/22/Filter-Intercepter-Aop-%E5%95%A5-%E5%95%A5-%E5%95%A5-%E8%BF%99%E4%BA%9B%E9%83%BD%E6%98%AF%E5%95%A5/</id>
    <published>2020-08-22T12:44:32.000Z</published>
    <updated>2020-08-23T15:10:23.155Z</updated>
    
    <summary type="html">
    
      
      
        
        
          &lt;p&gt;本来是想取个像现在那些公众号转了又转的文章标题，”面试官再问你xxxxx，就把这篇文章甩给他看”这种标题，但是觉得实在太 low
        
      
    
    </summary>
    
    
      <category term="Java" scheme="https://nicksxs.me/categories/Java/"/>
    
      <category term="Spring" scheme="https://nicksxs.me/categories/Spring/"/>
    
      <category term="Filter" scheme="https://nicksxs.me/categories/Filter/"/>
    
      <category term="Interceptor - AOP" scheme="https://nicksxs.me/categories/Interceptor-AOP/"/>
    
      <category term="Servlet" scheme="https://nicksxs.me/categories/Spring/Servlet/"/>
    
      <category term="Interceptor" scheme="https://nicksxs.me/categories/Spring/Servlet/Interceptor/"/>
    
      <category term="AOP" scheme="https://nicksxs.me/categories/Spring/Servlet/Interceptor/AOP/"/>
    
    
      <category term="Java" scheme="https://nicksxs.me/tags/Java/"/>
    
      <category term="Filter" scheme="https://nicksxs.me/tags/Filter/"/>
    
      <category term="Interceptor" scheme="https://nicksxs.me/tags/Interceptor/"/>
    
      <category term="AOP" scheme="https://nicksxs.me/tags/AOP/"/>
    
      <category term="Spring" scheme="https://nicksxs.me/tags/Spring/"/>
    
      <category term="Tomcat" scheme="https://nicksxs.me/tags/Tomcat/"/>
    
      <category term="Servlet" scheme="https://nicksxs.me/tags/Servlet/"/>
    
      <category term="Web" scheme="https://nicksxs.me/tags/Web/"/>
    
  </entry>
  
  <entry>
    <title>周末我在老丈人家打了天小工</title>
    <link href="https://nicksxs.me/2020/08/16/%E5%91%A8%E6%9C%AB%E6%88%91%E5%9C%A8%E8%80%81%E4%B8%88%E4%BA%BA%E5%AE%B6%E6%89%93%E4%BA%86%E5%A4%A9%E5%B0%8F%E5%B7%A5/"/>
    <id>https://nicksxs.me/2020/08/16/%E5%91%A8%E6%9C%AB%E6%88%91%E5%9C%A8%E8%80%81%E4%B8%88%E4%BA%BA%E5%AE%B6%E6%89%93%E4%BA%86%E5%A4%A9%E5%B0%8F%E5%B7%A5/</id>
    <published>2020-08-16T15:01:09.000Z</published>
    <updated>2020-08-16T15:48:08.194Z</updated>
    
    <summary type="html">
    
      
      
        
        
          &lt;p&gt;这周回家提前约好了要去老丈人家帮下忙，因为在翻修下老房子，活不是特别整的那种，所以大部分都是自己干，或者找个大工临时干几天（我们这那种比较专业的泥工匠叫做大工），像我这样去帮忙的，就是干点小工（把给大工帮忙的，干些偏体力活的叫做小工）的活。从大学毕业以后真的蛮少帮家里干活了
        
      
    
    </summary>
    
    
      <category term="生活" scheme="https://nicksxs.me/categories/%E7%94%9F%E6%B4%BB/"/>
    
      <category term="运动" scheme="https://nicksxs.me/categories/%E7%94%9F%E6%B4%BB/%E8%BF%90%E5%8A%A8/"/>
    
      <category term="跑步" scheme="https://nicksxs.me/categories/%E7%94%9F%E6%B4%BB/%E8%BF%90%E5%8A%A8/%E8%B7%91%E6%AD%A5/"/>
    
      <category term="干活" scheme="https://nicksxs.me/categories/%E7%94%9F%E6%B4%BB/%E8%BF%90%E5%8A%A8/%E8%B7%91%E6%AD%A5/%E5%B9%B2%E6%B4%BB/"/>
    
    
      <category term="生活" scheme="https://nicksxs.me/tags/%E7%94%9F%E6%B4%BB/"/>
    
      <category term="运动" scheme="https://nicksxs.me/tags/%E8%BF%90%E5%8A%A8/"/>
    
      <category term="减肥" scheme="https://nicksxs.me/tags/%E5%87%8F%E8%82%A5/"/>
    
      <category term="跑步" scheme="https://nicksxs.me/tags/%E8%B7%91%E6%AD%A5/"/>
    
      <category term="干活" scheme="https://nicksxs.me/tags/%E5%B9%B2%E6%B4%BB/"/>
    
  </entry>
  
  <entry>
    <title>Linux 下 grep 命令的一点小技巧</title>
    <link href="https://nicksxs.me/2020/08/06/Linux-%E4%B8%8B-grep-%E5%91%BD%E4%BB%A4%E7%9A%84%E4%B8%80%E7%82%B9%E5%B0%8F%E6%8A%80%E5%B7%A7/"/>
    <id>https://nicksxs.me/2020/08/06/Linux-%E4%B8%8B-grep-%E5%91%BD%E4%BB%A4%E7%9A%84%E4%B8%80%E7%82%B9%E5%B0%8F%E6%8A%80%E5%B7%A7/</id>
    <published>2020-08-06T09:07:17.000Z</published>
    <updated>2020-08-06T13:30:26.239Z</updated>
    
    <summary type="html">
    
      
      
        
        
          &lt;p&gt;用了比较久的 grep 命令，其实都只是用了最最基本的功能来查日志，&lt;/p&gt;
&lt;p&gt;譬如&lt;/p&gt;
&lt;figure class=&quot;highlight shell&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span
        
      
    
    </summary>
    
    
      <category term="Linux" scheme="https://nicksxs.me/categories/Linux/"/>
    
      <category term="命令" scheme="https://nicksxs.me/categories/Linux/%E5%91%BD%E4%BB%A4/"/>
    
      <category term="grep" scheme="https://nicksxs.me/categories/Linux/%E5%91%BD%E4%BB%A4/grep/"/>
    
      <category term="小技巧" scheme="https://nicksxs.me/categories/%E5%B0%8F%E6%8A%80%E5%B7%A7/"/>
    
      <category term="grep" scheme="https://nicksxs.me/categories/%E5%B0%8F%E6%8A%80%E5%B7%A7/grep/"/>
    
      <category term="查日志" scheme="https://nicksxs.me/categories/%E5%B0%8F%E6%8A%80%E5%B7%A7/grep/%E6%9F%A5%E6%97%A5%E5%BF%97/"/>
    
    
      <category term="linux" scheme="https://nicksxs.me/tags/linux/"/>
    
      <category term="grep" scheme="https://nicksxs.me/tags/grep/"/>
    
      <category term="转义" scheme="https://nicksxs.me/tags/%E8%BD%AC%E4%B9%89/"/>
    
  </entry>
  
  <entry>
    <title>聊聊 Java 自带的那些&quot;逆天&quot;工具</title>
    <link href="https://nicksxs.me/2020/08/02/%E8%81%8A%E8%81%8A-Java-%E8%87%AA%E5%B8%A6%E7%9A%84%E9%82%A3%E4%BA%9B%E9%80%86%E5%A4%A9%E5%B7%A5%E5%85%B7/"/>
    <id>https://nicksxs.me/2020/08/02/%E8%81%8A%E8%81%8A-Java-%E8%87%AA%E5%B8%A6%E7%9A%84%E9%82%A3%E4%BA%9B%E9%80%86%E5%A4%A9%E5%B7%A5%E5%85%B7/</id>
    <published>2020-08-02T13:13:59.000Z</published>
    <updated>2020-08-02T15:17:35.776Z</updated>
    
    <summary type="html">
    
      
      
        
        
          &lt;p&gt;原谅我的标题党，其实这些工具的确很厉害，之前其实介绍过一点相关的，是从我一次问题排查的过程中用到的，但是最近又有碰到一次排查问题，发现其实用 idea 直接 &lt;code&gt;dump thread&lt;/code&gt; 是不现实的，毕竟服务器环境的没法这么操作，那就得用 Java
        
      
    
    </summary>
    
    
      <category term="Java" scheme="https://nicksxs.me/categories/Java/"/>
    
      <category term="Thread dump" scheme="https://nicksxs.me/categories/Thread-dump/"/>
    
      <category term="问题排查" scheme="https://nicksxs.me/categories/%E9%97%AE%E9%A2%98%E6%8E%92%E6%9F%A5/"/>
    
      <category term="工具" scheme="https://nicksxs.me/categories/%E5%B7%A5%E5%85%B7/"/>
    
    
      <category term="Java" scheme="https://nicksxs.me/tags/Java/"/>
    
      <category term="JPS" scheme="https://nicksxs.me/tags/JPS/"/>
    
      <category term="JStack" scheme="https://nicksxs.me/tags/JStack/"/>
    
      <category term="JMap" scheme="https://nicksxs.me/tags/JMap/"/>
    
  </entry>
  
  <entry>
    <title>我是如何走上跑步这条不归路的</title>
    <link href="https://nicksxs.me/2020/07/26/%E6%88%91%E6%98%AF%E5%A6%82%E4%BD%95%E8%B5%B0%E4%B8%8A%E8%B7%91%E6%AD%A5%E8%BF%99%E6%9D%A1%E4%B8%8D%E5%BD%92%E8%B7%AF%E7%9A%84/"/>
    <id>https://nicksxs.me/2020/07/26/%E6%88%91%E6%98%AF%E5%A6%82%E4%BD%95%E8%B5%B0%E4%B8%8A%E8%B7%91%E6%AD%A5%E8%BF%99%E6%9D%A1%E4%B8%8D%E5%BD%92%E8%B7%AF%E7%9A%84/</id>
    <published>2020-07-26T15:32:55.000Z</published>
    <updated>2020-07-26T15:34:01.230Z</updated>
    
    <summary type="html">
    
      
      
        
        
          &lt;p&gt;这周因为没有准备技术方面的内容加之之前有想分享下我和跑步的一些事情，我从小学开始就是个体育渣，因为体重大非常胖，小学的时候要做仰卧起坐，基本是一个都起不来，然后那时候跑步也是要我命那种，跟另外一个比较胖的同学在跑步队尾苟延残喘，只有立定跳远还行。&lt;/p&gt;
&lt;p&gt;时光飞逝，我
        
      
    
    </summary>
    
    
      <category term="生活" scheme="https://nicksxs.me/categories/%E7%94%9F%E6%B4%BB/"/>
    
      <category term="运动" scheme="https://nicksxs.me/categories/%E7%94%9F%E6%B4%BB/%E8%BF%90%E5%8A%A8/"/>
    
      <category term="跑步" scheme="https://nicksxs.me/categories/%E7%94%9F%E6%B4%BB/%E8%BF%90%E5%8A%A8/%E8%B7%91%E6%AD%A5/"/>
    
    
      <category term="生活" scheme="https://nicksxs.me/tags/%E7%94%9F%E6%B4%BB/"/>
    
      <category term="运动" scheme="https://nicksxs.me/tags/%E8%BF%90%E5%8A%A8/"/>
    
      <category term="减肥" scheme="https://nicksxs.me/tags/%E5%87%8F%E8%82%A5/"/>
    
      <category term="跑步" scheme="https://nicksxs.me/tags/%E8%B7%91%E6%AD%A5/"/>
    
  </entry>
  
  <entry>
    <title>聊聊 RocketMQ 的 Broker 源码</title>
    <link href="https://nicksxs.me/2020/07/19/%E8%81%8A%E8%81%8A-RocketMQ-%E7%9A%84-Broker-%E6%BA%90%E7%A0%81/"/>
    <id>https://nicksxs.me/2020/07/19/%E8%81%8A%E8%81%8A-RocketMQ-%E7%9A%84-Broker-%E6%BA%90%E7%A0%81/</id>
    <published>2020-07-19T13:48:48.000Z</published>
    <updated>2020-07-19T13:49:39.193Z</updated>
    
    <summary type="html">
    
      
      
        
        
          &lt;p&gt;broker 的启动形式有点类似于 NameServer，都是服务类型的，跟 Consumer 差别比较大，&lt;/p&gt;
&lt;p&gt;首先是org.apache.rocketmq.broker.BrokerStartup中的 main
        
      
    
    </summary>
    
    
      <category term="MQ" scheme="https://nicksxs.me/categories/MQ/"/>
    
      <category term="RocketMQ" scheme="https://nicksxs.me/categories/RocketMQ/"/>
    
      <category term="消息队列" scheme="https://nicksxs.me/categories/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97/"/>
    
      <category term="RocketMQ" scheme="https://nicksxs.me/categories/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97/RocketMQ/"/>
    
      <category term="中间件" scheme="https://nicksxs.me/categories/%E4%B8%AD%E9%97%B4%E4%BB%B6/"/>
    
      <category term="RocketMQ" scheme="https://nicksxs.me/categories/%E4%B8%AD%E9%97%B4%E4%BB%B6/RocketMQ/"/>
    
    
      <category term="MQ" scheme="https://nicksxs.me/tags/MQ/"/>
    
      <category term="消息队列" scheme="https://nicksxs.me/tags/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97/"/>
    
      <category term="RocketMQ" scheme="https://nicksxs.me/tags/RocketMQ/"/>
    
      <category term="削峰填谷" scheme="https://nicksxs.me/tags/%E5%89%8A%E5%B3%B0%E5%A1%AB%E8%B0%B7/"/>
    
      <category term="中间件" scheme="https://nicksxs.me/tags/%E4%B8%AD%E9%97%B4%E4%BB%B6/"/>
    
      <category term="源码解析" scheme="https://nicksxs.me/tags/%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90/"/>
    
      <category term="Broker" scheme="https://nicksxs.me/tags/Broker/"/>
    
  </entry>
  
  <entry>
    <title>2020年中总结</title>
    <link href="https://nicksxs.me/2020/07/11/2020%E5%B9%B4%E4%B8%AD%E6%80%BB%E7%BB%93/"/>
    <id>https://nicksxs.me/2020/07/11/2020%E5%B9%B4%E4%B8%AD%E6%80%BB%E7%BB%93/</id>
    <published>2020-07-11T15:20:38.000Z</published>
    <updated>2020-07-11T15:21:22.299Z</updated>
    
    <summary type="html">
    
      
      
        
        
          &lt;p&gt;很快2020
        
      
    
    </summary>
    
    
      <category term="生活" scheme="https://nicksxs.me/categories/%E7%94%9F%E6%B4%BB/"/>
    
      <category term="年中总结" scheme="https://nicksxs.me/categories/%E7%94%9F%E6%B4%BB/%E5%B9%B4%E4%B8%AD%E6%80%BB%E7%BB%93/"/>
    
      <category term="2020" scheme="https://nicksxs.me/categories/%E7%94%9F%E6%B4%BB/%E5%B9%B4%E4%B8%AD%E6%80%BB%E7%BB%93/2020/"/>
    
    
      <category term="生活" scheme="https://nicksxs.me/tags/%E7%94%9F%E6%B4%BB/"/>
    
      <category term="年中总结" scheme="https://nicksxs.me/tags/%E5%B9%B4%E4%B8%AD%E6%80%BB%E7%BB%93/"/>
    
      <category term="2020" scheme="https://nicksxs.me/tags/2020/"/>
    
  </entry>
  
  <entry>
    <title>聊一下 RocketMQ 的 NameServer 源码</title>
    <link href="https://nicksxs.me/2020/07/05/%E8%81%8A%E4%B8%80%E4%B8%8B-RocketMQ-%E7%9A%84-NameServer-%E6%BA%90%E7%A0%81/"/>
    <id>https://nicksxs.me/2020/07/05/%E8%81%8A%E4%B8%80%E4%B8%8B-RocketMQ-%E7%9A%84-NameServer-%E6%BA%90%E7%A0%81/</id>
    <published>2020-07-05T13:01:47.000Z</published>
    <updated>2020-07-05T13:03:29.036Z</updated>
    
    <summary type="html">
    
      
      
        
        
          &lt;p&gt;前面介绍了，nameserver相当于dubbo的注册中心，用与管理broker，broker会在启动的时候注册到nameserver，并且会发送心跳给namaserver，nameserver负责保存活跃的broker，包括master和slave，同时保存topic和t
        
      
    
    </summary>
    
    
      <category term="MQ" scheme="https://nicksxs.me/categories/MQ/"/>
    
      <category term="RocketMQ" scheme="https://nicksxs.me/categories/RocketMQ/"/>
    
      <category term="消息队列" scheme="https://nicksxs.me/categories/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97/"/>
    
      <category term="RocketMQ" scheme="https://nicksxs.me/categories/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97/RocketMQ/"/>
    
      <category term="中间件" scheme="https://nicksxs.me/categories/%E4%B8%AD%E9%97%B4%E4%BB%B6/"/>
    
      <category term="RocketMQ" scheme="https://nicksxs.me/categories/%E4%B8%AD%E9%97%B4%E4%BB%B6/RocketMQ/"/>
    
    
      <category term="MQ" scheme="https://nicksxs.me/tags/MQ/"/>
    
      <category term="消息队列" scheme="https://nicksxs.me/tags/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97/"/>
    
      <category term="RocketMQ" scheme="https://nicksxs.me/tags/RocketMQ/"/>
    
      <category term="削峰填谷" scheme="https://nicksxs.me/tags/%E5%89%8A%E5%B3%B0%E5%A1%AB%E8%B0%B7/"/>
    
      <category term="中间件" scheme="https://nicksxs.me/tags/%E4%B8%AD%E9%97%B4%E4%BB%B6/"/>
    
      <category term="NameServer" scheme="https://nicksxs.me/tags/NameServer/"/>
    
      <category term="源码解析" scheme="https://nicksxs.me/tags/%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90/"/>
    
  </entry>
  
  <entry>
    <title>聊一下 RocketMQ 的 DefaultMQPushConsumer 源码</title>
    <link href="https://nicksxs.me/2020/06/26/%E8%81%8A%E4%B8%80%E4%B8%8B-RocketMQ-%E7%9A%84-Consumer/"/>
    <id>https://nicksxs.me/2020/06/26/%E8%81%8A%E4%B8%80%E4%B8%8B-RocketMQ-%E7%9A%84-Consumer/</id>
    <published>2020-06-26T14:21:20.000Z</published>
    <updated>2020-07-05T13:03:52.441Z</updated>
    
    <summary type="html">
    
      
      
        
        
          &lt;p&gt;首先看下官方的小 demo&lt;/p&gt;
&lt;figure class=&quot;highlight java&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span
        
      
    
    </summary>
    
    
      <category term="MQ" scheme="https://nicksxs.me/categories/MQ/"/>
    
      <category term="RocketMQ" scheme="https://nicksxs.me/categories/RocketMQ/"/>
    
      <category term="消息队列" scheme="https://nicksxs.me/categories/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97/"/>
    
      <category term="RocketMQ" scheme="https://nicksxs.me/categories/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97/RocketMQ/"/>
    
      <category term="中间件" scheme="https://nicksxs.me/categories/%E4%B8%AD%E9%97%B4%E4%BB%B6/"/>
    
      <category term="RocketMQ" scheme="https://nicksxs.me/categories/%E4%B8%AD%E9%97%B4%E4%BB%B6/RocketMQ/"/>
    
    
      <category term="MQ" scheme="https://nicksxs.me/tags/MQ/"/>
    
      <category term="消息队列" scheme="https://nicksxs.me/tags/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97/"/>
    
      <category term="RocketMQ" scheme="https://nicksxs.me/tags/RocketMQ/"/>
    
      <category term="削峰填谷" scheme="https://nicksxs.me/tags/%E5%89%8A%E5%B3%B0%E5%A1%AB%E8%B0%B7/"/>
    
      <category term="中间件" scheme="https://nicksxs.me/tags/%E4%B8%AD%E9%97%B4%E4%BB%B6/"/>
    
      <category term="源码解析" scheme="https://nicksxs.me/tags/%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90/"/>
    
      <category term="DefaultMQPushConsumer" scheme="https://nicksxs.me/tags/DefaultMQPushConsumer/"/>
    
  </entry>
  
  <entry>
    <title>介绍一下 RocketMQ</title>
    <link href="https://nicksxs.me/2020/06/21/%E4%BB%8B%E7%BB%8D%E4%B8%80%E4%B8%8B-RocketMQ/"/>
    <id>https://nicksxs.me/2020/06/21/%E4%BB%8B%E7%BB%8D%E4%B8%80%E4%B8%8B-RocketMQ/</id>
    <published>2020-06-21T13:25:22.000Z</published>
    <updated>2020-06-21T13:35:12.826Z</updated>
    
    <summary type="html">
    
      
      
        
        
          &lt;p&gt;说起消息队列一般Web后端做过一段时间开发的肯定会用过，在前司的时候用的是改良版的 NSQ，有点像 NOSQL 的简写版🙄，其实是个go 语言写的消息队列，&lt;a href=&quot;https://github.com/nsqio/nsq&quot; target=&quot;_blank&quot;
        
      
    
    </summary>
    
    
      <category term="MQ" scheme="https://nicksxs.me/categories/MQ/"/>
    
      <category term="RocketMQ" scheme="https://nicksxs.me/categories/RocketMQ/"/>
    
      <category term="消息队列" scheme="https://nicksxs.me/categories/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97/"/>
    
      <category term="RocketMQ" scheme="https://nicksxs.me/categories/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97/RocketMQ/"/>
    
      <category term="中间件" scheme="https://nicksxs.me/categories/%E4%B8%AD%E9%97%B4%E4%BB%B6/"/>
    
      <category term="RocketMQ" scheme="https://nicksxs.me/categories/%E4%B8%AD%E9%97%B4%E4%BB%B6/RocketMQ/"/>
    
    
      <category term="MQ" scheme="https://nicksxs.me/tags/MQ/"/>
    
      <category term="消息队列" scheme="https://nicksxs.me/tags/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97/"/>
    
      <category term="RocketMQ" scheme="https://nicksxs.me/tags/RocketMQ/"/>
    
      <category term="削峰填谷" scheme="https://nicksxs.me/tags/%E5%89%8A%E5%B3%B0%E5%A1%AB%E8%B0%B7/"/>
    
      <category term="中间件" scheme="https://nicksxs.me/tags/%E4%B8%AD%E9%97%B4%E4%BB%B6/"/>
    
  </entry>
  
  <entry>
    <title>聊聊一次 brew update 引发的血案</title>
    <link href="https://nicksxs.me/2020/06/13/%E8%81%8A%E8%81%8A%E4%B8%80%E6%AC%A1-brew-update-%E5%BC%95%E5%8F%91%E7%9A%84%E8%A1%80%E6%A1%88/"/>
    <id>https://nicksxs.me/2020/06/13/%E8%81%8A%E8%81%8A%E4%B8%80%E6%AC%A1-brew-update-%E5%BC%95%E5%8F%91%E7%9A%84%E8%A1%80%E6%A1%88/</id>
    <published>2020-06-13T14:28:56.000Z</published>
    <updated>2020-06-13T14:31:35.522Z</updated>
    
    <summary type="html">
    
      
      
        
        
          &lt;p&gt;熟悉我的人（谁熟悉你啊🙄）知道我以前写过 PHP，虽然现在在工作中没用到了，但是自己的一些小工具还是会用 PHP 来写，但是在 Mac 碰到了一个环境相关的问题，因为我也是个更新狂魔，用了 brew 之后因为 gfw
        
      
    
    </summary>
    
    
      <category term="Mac" scheme="https://nicksxs.me/categories/Mac/"/>
    
      <category term="PHP" scheme="https://nicksxs.me/categories/PHP/"/>
    
      <category term="Homebrew" scheme="https://nicksxs.me/categories/Mac/Homebrew/"/>
    
      <category term="icu4c" scheme="https://nicksxs.me/categories/PHP/icu4c/"/>
    
    
      <category term="Mac" scheme="https://nicksxs.me/tags/Mac/"/>
    
      <category term="PHP" scheme="https://nicksxs.me/tags/PHP/"/>
    
      <category term="Homebrew" scheme="https://nicksxs.me/tags/Homebrew/"/>
    
      <category term="icu4c" scheme="https://nicksxs.me/tags/icu4c/"/>
    
      <category term="zsh" scheme="https://nicksxs.me/tags/zsh/"/>
    
  </entry>
  
  <entry>
    <title>聊聊 Dubbo 的 SPI 续之自适应拓展</title>
    <link href="https://nicksxs.me/2020/06/06/%E8%81%8A%E8%81%8A-Dubbo-%E7%9A%84-SPI-%E7%BB%AD%E4%B9%8B%E8%87%AA%E9%80%82%E5%BA%94%E6%8B%93%E5%B1%95/"/>
    <id>https://nicksxs.me/2020/06/06/%E8%81%8A%E8%81%8A-Dubbo-%E7%9A%84-SPI-%E7%BB%AD%E4%B9%8B%E8%87%AA%E9%80%82%E5%BA%94%E6%8B%93%E5%B1%95/</id>
    <published>2020-06-06T14:39:38.000Z</published>
    <updated>2020-06-06T14:48:09.324Z</updated>
    
    <summary type="html">
    
      
      
        
        
          &lt;h2 id=&quot;Adaptive&quot;&gt;&lt;a href=&quot;#Adaptive&quot; class=&quot;headerlink&quot; title=&quot;Adaptive&quot;&gt;&lt;/a&gt;Adaptive&lt;/h2&gt;&lt;p&gt;这个应该是 Dubbo SPI
        
      
    
    </summary>
    
    
      <category term="Java" scheme="https://nicksxs.me/categories/Java/"/>
    
      <category term="Dubbo - RPC - SPI" scheme="https://nicksxs.me/categories/Dubbo-RPC-SPI/"/>
    
      <category term="Dubbo" scheme="https://nicksxs.me/categories/Dubbo/"/>
    
      <category term="SPI" scheme="https://nicksxs.me/categories/Dubbo/SPI/"/>
    
      <category term="Adaptive" scheme="https://nicksxs.me/categories/Dubbo/SPI/Adaptive/"/>
    
    
      <category term="Java" scheme="https://nicksxs.me/tags/Java/"/>
    
      <category term="Dubbo" scheme="https://nicksxs.me/tags/Dubbo/"/>
    
      <category term="RPC" scheme="https://nicksxs.me/tags/RPC/"/>
    
      <category term="SPI" scheme="https://nicksxs.me/tags/SPI/"/>
    
      <category term="Adaptive" scheme="https://nicksxs.me/tags/Adaptive/"/>
    
      <category term="自适应拓展" scheme="https://nicksxs.me/tags/%E8%87%AA%E9%80%82%E5%BA%94%E6%8B%93%E5%B1%95/"/>
    
  </entry>
  
  <entry>
    <title>聊聊 Dubbo 的 SPI</title>
    <link href="https://nicksxs.me/2020/05/31/%E8%81%8A%E8%81%8A-Dubbo-%E7%9A%84-SPI/"/>
    <id>https://nicksxs.me/2020/05/31/%E8%81%8A%E8%81%8A-Dubbo-%E7%9A%84-SPI/</id>
    <published>2020-05-31T13:06:13.000Z</published>
    <updated>2020-05-31T13:09:38.605Z</updated>
    
    <summary type="html">
    
      
      
        
        
          &lt;p&gt;SPI全称是Service Provider Interface，咋眼看跟api是不是有点相似，api是application interface，这两个其实在某些方面有类似的地方，也有蛮大的区别，比如我们基于 dubbo
        
      
    
    </summary>
    
    
      <category term="Java" scheme="https://nicksxs.me/categories/Java/"/>
    
      <category term="Dubbo - RPC - SPI" scheme="https://nicksxs.me/categories/Dubbo-RPC-SPI/"/>
    
      <category term="Dubbo" scheme="https://nicksxs.me/categories/Dubbo/"/>
    
      <category term="SPI" scheme="https://nicksxs.me/categories/Dubbo/SPI/"/>
    
    
      <category term="Java" scheme="https://nicksxs.me/tags/Java/"/>
    
      <category term="Dubbo" scheme="https://nicksxs.me/tags/Dubbo/"/>
    
      <category term="RPC" scheme="https://nicksxs.me/tags/RPC/"/>
    
      <category term="SPI" scheme="https://nicksxs.me/tags/SPI/"/>
    
  </entry>
  
  <entry>
    <title>聊聊我刚学会的应用诊断方法</title>
    <link href="https://nicksxs.me/2020/05/22/%E8%81%8A%E8%81%8A%E6%88%91%E5%88%9A%E5%AD%A6%E4%BC%9A%E7%9A%84%E5%BA%94%E7%94%A8%E8%AF%8A%E6%96%AD%E6%96%B9%E6%B3%95/"/>
    <id>https://nicksxs.me/2020/05/22/%E8%81%8A%E8%81%8A%E6%88%91%E5%88%9A%E5%AD%A6%E4%BC%9A%E7%9A%84%E5%BA%94%E7%94%A8%E8%AF%8A%E6%96%AD%E6%96%B9%E6%B3%95/</id>
    <published>2020-05-22T15:26:50.000Z</published>
    <updated>2020-05-24T13:51:43.115Z</updated>
    
    <summary type="html">
    
      
      
        
        
          &lt;p&gt;因为传说中的出身问题，我以前写的是PHP，在使用 swoole 之前，基本的应用调试手段就是简单粗暴的 var_dump，exit，对于单进程模型的 PHP 也是简单有效，技术栈换成 Java 之后，就变得没那么容易，一方面是需要编译，另一方面是一般都是基于 spring
        
      
    
    </summary>
    
    
      <category term="Java" scheme="https://nicksxs.me/categories/Java/"/>
    
      <category term="Thread dump" scheme="https://nicksxs.me/categories/Thread-dump/"/>
    
      <category term="问题排查" scheme="https://nicksxs.me/categories/%E9%97%AE%E9%A2%98%E6%8E%92%E6%9F%A5/"/>
    
      <category term="工具" scheme="https://nicksxs.me/categories/%E5%B7%A5%E5%85%B7/"/>
    
    
      <category term="Java" scheme="https://nicksxs.me/tags/Java/"/>
    
      <category term="Thread dump" scheme="https://nicksxs.me/tags/Thread-dump/"/>
    
  </entry>
  
  <entry>
    <title>聊聊我理解的分布式事务</title>
    <link href="https://nicksxs.me/2020/05/17/%E8%81%8A%E8%81%8A%E6%88%91%E7%90%86%E8%A7%A3%E7%9A%84%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A1/"/>
    <id>https://nicksxs.me/2020/05/17/%E8%81%8A%E8%81%8A%E6%88%91%E7%90%86%E8%A7%A3%E7%9A%84%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A1/</id>
    <published>2020-05-17T15:56:01.000Z</published>
    <updated>2020-05-24T14:18:43.082Z</updated>
    
    <summary type="html">
    
      
      
        
        
          &lt;p&gt;前面说了mysql数据库的事务相关的，那事务是用来干嘛的，这里得补一下ACID，&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://zh.wikipedia.org/wiki/ACID&quot; target=&quot;_blank&quot;
        
      
    
    </summary>
    
    
      <category term="分布式事务" scheme="https://nicksxs.me/categories/%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A1/"/>
    
      <category term="两阶段提交" scheme="https://nicksxs.me/categories/%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A1/%E4%B8%A4%E9%98%B6%E6%AE%B5%E6%8F%90%E4%BA%A4/"/>
    
      <category term="三阶段提交" scheme="https://nicksxs.me/categories/%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A1/%E4%B8%89%E9%98%B6%E6%AE%B5%E6%8F%90%E4%BA%A4/"/>
    
    
      <category term="分布式事务" scheme="https://nicksxs.me/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A1/"/>
    
      <category term="两阶段提交" scheme="https://nicksxs.me/tags/%E4%B8%A4%E9%98%B6%E6%AE%B5%E6%8F%90%E4%BA%A4/"/>
    
      <category term="三阶段提交" scheme="https://nicksxs.me/tags/%E4%B8%89%E9%98%B6%E6%AE%B5%E6%8F%90%E4%BA%A4/"/>
    
      <category term="2PC" scheme="https://nicksxs.me/tags/2PC/"/>
    
      <category term="3PC" scheme="https://nicksxs.me/tags/3PC/"/>
    
  </entry>
  
  <entry>
    <title>聊聊 mysql 的 MVCC 续续篇之锁分析</title>
    <link href="https://nicksxs.me/2020/05/10/%E8%81%8A%E8%81%8A-mysql-%E7%9A%84-MVCC-%E7%BB%AD%E7%BB%AD%E7%AF%87%E4%B9%8B%E5%8A%A0%E9%94%81%E5%88%86%E6%9E%90/"/>
    <id>https://nicksxs.me/2020/05/10/%E8%81%8A%E8%81%8A-mysql-%E7%9A%84-MVCC-%E7%BB%AD%E7%BB%AD%E7%AF%87%E4%B9%8B%E5%8A%A0%E9%94%81%E5%88%86%E6%9E%90/</id>
    <published>2020-05-10T01:55:10.000Z</published>
    <updated>2020-05-10T14:26:13.027Z</updated>
    
    <summary type="html">
    
      
      
        
        
          &lt;p&gt;看完前面两篇水文之后，感觉不得不来分析下 mysql 的锁了，其实前面说到幻读的时候是有个前提没提到的，比如一个&lt;code&gt;select * from table1 where id  = 1&lt;/code&gt;这种查询语句其实是不会加传说中的锁的，当然这里是指在 RR 或者
        
      
    
    </summary>
    
    
      <category term="C" scheme="https://nicksxs.me/categories/C/"/>
    
      <category term="Mysql" scheme="https://nicksxs.me/categories/Mysql/"/>
    
      <category term="数据结构" scheme="https://nicksxs.me/categories/Mysql/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/"/>
    
      <category term="源码" scheme="https://nicksxs.me/categories/Mysql/%E6%BA%90%E7%A0%81/"/>
    
      <category term="Mysql" scheme="https://nicksxs.me/categories/C/Mysql/"/>
    
    
      <category term="mysql" scheme="https://nicksxs.me/tags/mysql/"/>
    
      <category term="数据结构" scheme="https://nicksxs.me/tags/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/"/>
    
      <category term="源码" scheme="https://nicksxs.me/tags/%E6%BA%90%E7%A0%81/"/>
    
      <category term="mvcc" scheme="https://nicksxs.me/tags/mvcc/"/>
    
      <category term="read view" scheme="https://nicksxs.me/tags/read-view/"/>
    
      <category term="gap lock" scheme="https://nicksxs.me/tags/gap-lock/"/>
    
      <category term="next-key lock" scheme="https://nicksxs.me/tags/next-key-lock/"/>
    
      <category term="幻读" scheme="https://nicksxs.me/tags/%E5%B9%BB%E8%AF%BB/"/>
    
  </entry>
  
  <entry>
    <title>聊聊 mysql 的 MVCC 续篇</title>
    <link href="https://nicksxs.me/2020/05/02/%E8%81%8A%E8%81%8A-mysql-%E7%9A%84-MVCC-%E7%BB%AD%E7%AF%87/"/>
    <id>https://nicksxs.me/2020/05/02/%E8%81%8A%E8%81%8A-mysql-%E7%9A%84-MVCC-%E7%BB%AD%E7%AF%87/</id>
    <published>2020-05-02T06:46:35.000Z</published>
    <updated>2020-05-03T14:26:29.291Z</updated>
    
    <summary type="html">
    
      
      
        
        
          &lt;p&gt;上一篇聊了mysql 的 innodb 引擎基于 read view 实现的 mvcc 和事务隔离级别，可能有些细心的小伙伴会发现一些问题，第一个是在 RC
        
      
    
    </summary>
    
    
      <category term="C" scheme="https://nicksxs.me/categories/C/"/>
    
      <category term="Mysql" scheme="https://nicksxs.me/categories/Mysql/"/>
    
      <category term="数据结构" scheme="https://nicksxs.me/categories/Mysql/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/"/>
    
      <category term="源码" scheme="https://nicksxs.me/categories/Mysql/%E6%BA%90%E7%A0%81/"/>
    
      <category term="Mysql" scheme="https://nicksxs.me/categories/C/Mysql/"/>
    
    
      <category term="mysql" scheme="https://nicksxs.me/tags/mysql/"/>
    
      <category term="数据结构" scheme="https://nicksxs.me/tags/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/"/>
    
      <category term="源码" scheme="https://nicksxs.me/tags/%E6%BA%90%E7%A0%81/"/>
    
      <category term="mvcc" scheme="https://nicksxs.me/tags/mvcc/"/>
    
      <category term="read view" scheme="https://nicksxs.me/tags/read-view/"/>
    
      <category term="gap lock" scheme="https://nicksxs.me/tags/gap-lock/"/>
    
      <category term="next-key lock" scheme="https://nicksxs.me/tags/next-key-lock/"/>
    
      <category term="幻读" scheme="https://nicksxs.me/tags/%E5%B9%BB%E8%AF%BB/"/>
    
  </entry>
  
</feed>
