<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lhever_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/nmgrd</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; nmgrd]]></copyright><item><title><![CDATA[vscode常用快捷键记忆]]></title><link>https://blog.youkuaiyun.com/nmgrd/article/details/159968826</link><guid>https://blog.youkuaiyun.com/nmgrd/article/details/159968826</guid><author>nmgrd</author><pubDate>Thu, 09 Apr 2026 00:27:17 +0800</pubDate><description><![CDATA[10 查找文件 ctrl + shift + P,  在弹出的框中 删除  >, 然后输入文件名。3  按Alt+↑即可把选中的一行代码向上移动一行, 下移动 Alt + ↓。6 行注释:  直接按默认是ctrl + / ，可将当前行注释。1 按Ctrl+C复制光标所在行  ,Ctrl+V粘贴。9 Ctrl+Shift+Enter：在上面插入行。13  Ctrl+Shift+F：显示搜索。4 删除当前行:ctrl+shift+K。8 Ctrl+Enter：在下面插入行。7 Ctrl+X：剪切行。]]></description><category></category></item><item><title><![CDATA[nvm安装nodejs/npm/nvm笔记]]></title><link>https://blog.youkuaiyun.com/nmgrd/article/details/139046829</link><guid>https://blog.youkuaiyun.com/nmgrd/article/details/139046829</guid><author>nmgrd</author><pubDate>Sun, 19 May 2024 19:13:41 +0800</pubDate><description><![CDATA[使用nvm安装nodejs   npm  cnpm步骤简记]]></description><category></category></item><item><title><![CDATA[oracle-jdk8, open-jdk11切换笔记]]></title><link>https://blog.youkuaiyun.com/nmgrd/article/details/131424171</link><guid>https://blog.youkuaiyun.com/nmgrd/article/details/131424171</guid><author>nmgrd</author><pubDate>Tue, 27 Jun 2023 19:54:39 +0800</pubDate><description><![CDATA[jdk8  、 open-jdk11安装和环境切换笔记]]></description><category></category></item><item><title><![CDATA[Netty Jemalloc4算法-核心数据结构图示]]></title><link>https://blog.youkuaiyun.com/nmgrd/article/details/130231438</link><guid>https://blog.youkuaiyun.com/nmgrd/article/details/130231438</guid><author>nmgrd</author><pubDate>Tue, 18 Apr 2023 21:21:42 +0800</pubDate><description><![CDATA[Netty 从4.1.52版本开始，其内存分配算法，从jemalloc3 切换到了 jemalloc4。本文给出该算法涉及的核心数据结构图示：

想要看懂上图, 要点如下：

小于等于16777216字节的空间，从chunk(一个16M的字节数组)中分配。
每次分配, 会从chunk切割得到一个能容纳请求大小且最接近请求大小的run。
run是一个或多个page的集合，一个page是8Kb。
空闲的run，其句柄信息会被放入优先队列数组runsAvail的槽位中。
比如handle1,handle2分别代表]]></description><category></category></item><item><title><![CDATA[REDIS三主三从集群搭建笔记（redis版本5.0.8）]]></title><link>https://blog.youkuaiyun.com/nmgrd/article/details/128103897</link><guid>https://blog.youkuaiyun.com/nmgrd/article/details/128103897</guid><author>nmgrd</author><pubDate>Tue, 29 Nov 2022 19:37:06 +0800</pubDate><description><![CDATA[记录redis 三主三从集群搭建过程]]></description><category></category></item><item><title><![CDATA[将新版本（2020以上版本）idea中的字体设置为eclispse方法]]></title><link>https://blog.youkuaiyun.com/nmgrd/article/details/119949846</link><guid>https://blog.youkuaiyun.com/nmgrd/article/details/119949846</guid><author>nmgrd</author><pubDate>Fri, 27 Aug 2021 12:02:41 +0800</pubDate><description><![CDATA[设置路径是： settings -&gt; editor -&gt;  Color scheme -&gt; java

颜色方案按照如下给出的颜色值更改即可：

Annotations：
annotation attribute name：  0000FF
annotation name:  000000

--------------------------------------------------
Braces and Operators:
Braces: 0000FF
Bra...]]></description><category></category></item><item><title><![CDATA[启动visualVM的两种方式]]></title><link>https://blog.youkuaiyun.com/nmgrd/article/details/117368508</link><guid>https://blog.youkuaiyun.com/nmgrd/article/details/117368508</guid><author>nmgrd</author><pubDate>Fri, 28 May 2021 17:14:53 +0800</pubDate><description><![CDATA[1 visualVM 使用JMX连接

a 拷贝并改名字到路径：（/app/java/jdk1.8.0_151是java home目录）
源文件：
/app/java/jdk1.8.0_151/jre/lib/management/jmxremote.password.template,
拷贝并改名后：
/app/java/jdk1.8.0_151/jre/lib/management/jmxremote.password

b 并取消注释jmxremote.password 中的如下2行
monitor.]]></description><category></category></item><item><title><![CDATA[从文件中读取，并归并排序]]></title><link>https://blog.youkuaiyun.com/nmgrd/article/details/117130850</link><guid>https://blog.youkuaiyun.com/nmgrd/article/details/117130850</guid><author>nmgrd</author><pubDate>Fri, 21 May 2021 17:59:50 +0800</pubDate><description><![CDATA[import org.apache.commons.io.IOUtils;

import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * &lt;p&gt;类说明：&lt;/p&gt;
 *
 * @author lihong10 2021/5/21 14:31
 * @version v1.0
 * @modificationHistory===========.]]></description><category></category></item><item><title><![CDATA[正则表达式之分组+正/反向肯定/否定预查]]></title><link>https://blog.youkuaiyun.com/nmgrd/article/details/116056984</link><guid>https://blog.youkuaiyun.com/nmgrd/article/details/116056984</guid><author>nmgrd</author><pubDate>Fri, 23 Apr 2021 15:05:46 +0800</pubDate><description><![CDATA[正则表达式中(?:pattern)、(?=pattern)、(?!pattern)、(?&lt;=pattern)和(?&lt;!pattern)

正则表达式的匹配原理可以参考文章1：https://blog.youkuaiyun.com/lxcnn/article/details/4304651&nbsp;
正则表达式的匹配原理可以参考文章2:   https://www.cnblogs.com/dogecheng/p/11466687.html

(?:pattern)
()表示捕获分组，()会把每个分组里的匹配]]></description><category></category></item><item><title><![CDATA[PostGres常用sql锦集（持续更新中，内容会越来越多）]]></title><link>https://blog.youkuaiyun.com/nmgrd/article/details/112917678</link><guid>https://blog.youkuaiyun.com/nmgrd/article/details/112917678</guid><author>nmgrd</author><pubDate>Thu, 21 Jan 2021 10:34:45 +0800</pubDate><description><![CDATA[POSTGRES常用sql示例
修改表的owner:
alter table qrtz_locks  owner to quartz;
alter table qrtz_scheduler_state  owner to quartz;


]]></description><category></category></item><item><title><![CDATA[Cas原理备忘-]]></title><link>https://blog.youkuaiyun.com/nmgrd/article/details/103624096</link><guid>https://blog.youkuaiyun.com/nmgrd/article/details/103624096</guid><author>nmgrd</author><pubDate>Thu, 19 Dec 2019 22:06:23 +0800</pubDate><description><![CDATA[cas原理和流程
经常有新人问我cas的原理，解释了很多遍，有时候会很不耐烦。恰好看到文章单点登陆服务端搭建教程用文字描述的很细致，所以顺手抄录了其中的关键描述。目的是以后有人问，直接把摘录的blog扔给他。



用户通过browser请求cas client A端的资源。


client A端发现用户未登录(client没有收到ST)，redirect到cas server，并且把用户请求服...]]></description><category></category></item><item><title><![CDATA[Netty中用于打印字节流(类似winhex)的工具类及其改进]]></title><link>https://blog.youkuaiyun.com/nmgrd/article/details/98094598</link><guid>https://blog.youkuaiyun.com/nmgrd/article/details/98094598</guid><author>nmgrd</author><pubDate>Thu, 01 Aug 2019 19:35:58 +0800</pubDate><description><![CDATA[Netty中类似winhex用于打印字节流的工具类
三年前，本人为了查看java类字节码，使用了一款叫做winhex的软件用于打开.class的二进制文件，当时最大的感觉就是如获至宝。winhex的界面截图如下所示：

时隔一年，本人在阅读Netty源码的时候，竟然发现netty中也存在一个类似winhex的工具类ByteBufUtil。 该类中的方法：*public static void ap...]]></description><category></category></item><item><title><![CDATA[netty-ResourceLeakDetector用法测试]]></title><link>https://blog.youkuaiyun.com/nmgrd/article/details/88133934</link><guid>https://blog.youkuaiyun.com/nmgrd/article/details/88133934</guid><author>nmgrd</author><pubDate>Mon, 04 Mar 2019 19:35:44 +0800</pubDate><description><![CDATA[在netty中，只要实现了ReferenceCounted 这个接口的类，都需要保证在正确的时刻调用&quot;release&quot;方法，否则这个对象的引用计数无法被重置为0。最终后果是这个被使用过的对象无法返回对象池或无法释放其内部占用的内存，从而导致内存泄漏。
netty中， 即便是老手，也经常会因为对引用计数对象的不当使用导致内存泄漏，幸运的是netty也提供了检测内存泄漏的工具类ResourceLeak...]]></description><category></category></item><item><title><![CDATA[netty-FastThreadLocal用法测试]]></title><link>https://blog.youkuaiyun.com/nmgrd/article/details/88131869</link><guid>https://blog.youkuaiyun.com/nmgrd/article/details/88131869</guid><author>nmgrd</author><pubDate>Mon, 04 Mar 2019 18:54:57 +0800</pubDate><description><![CDATA[2017年写Netty相关文章的时候，关于Netty中FastThreadLocal.java源码解读的文章还很少。今天（2019-02-25）回头过来整理的时候，发现网上已经涌现出了许多篇介绍FastThreadLocal.java的文章，并且，已经有解读的比较详实的文章，所以本人已经不打算进一步分析源码了。此处暂且列出几篇优秀的博文供大家查阅。
1. Netty精粹之设计更快的ThreadL...]]></description><category></category></item><item><title><![CDATA[postgres主从搭建步骤]]></title><link>https://blog.youkuaiyun.com/nmgrd/article/details/87381580</link><guid>https://blog.youkuaiyun.com/nmgrd/article/details/87381580</guid><author>nmgrd</author><pubDate>Fri, 15 Feb 2019 19:28:43 +0800</pubDate><description><![CDATA[-----------------------------------------------------  删除备库用户
psql.exe -U postgres -h 127.0.0.1 -p 5432 -c “drop user if exists repl;”
---------------------------------------------------   新增备库用户
psql...]]></description><category></category></item><item><title><![CDATA[RabbitMQ安装笔记]]></title><link>https://blog.youkuaiyun.com/nmgrd/article/details/87376425</link><guid>https://blog.youkuaiyun.com/nmgrd/article/details/87376425</guid><author>nmgrd</author><pubDate>Fri, 15 Feb 2019 18:07:53 +0800</pubDate><description><![CDATA[1 安装Erlang1
下载erlang安装包，然后安装。原因在于RabbitMQ服务端代码是使用并发式语言erlang编写的，下载地址：http://www.erlang.org/downloads，双击.exe文件进行安装就好，安装完成之后创建一个名为ERLANG_HOME的环境变量，其值指向erlang的安装目录，同时将%ERLANG_HOME%\bin加入到Path中，最后打开命令行，输入...]]></description><category></category></item><item><title><![CDATA[代码注释配置教程-适用于IntelliJ IDEA编辑器]]></title><link>https://blog.youkuaiyun.com/nmgrd/article/details/84994992</link><guid>https://blog.youkuaiyun.com/nmgrd/article/details/84994992</guid><author>nmgrd</author><pubDate>Thu, 13 Dec 2018 21:01:58 +0800</pubDate><description><![CDATA[IDEA 注释模板
分为两部分：方法的注释和类的注释。方法的注释需要在方法内部手动输入comment，按回车生效；类的注释自动生成，只需要手动输入类的说明信息即可。
方法注释模板


进入settings-&amp;gt;Editor-&amp;gt;Live Templates


点击最右边的“+”按钮，选择“Template Group”。


在弹出的对话框中输入group名后，在中间选择刚刚创建的gro...]]></description><category></category></item><item><title><![CDATA[kafka多线程消费和手动提交偏移量java程序示例]]></title><link>https://blog.youkuaiyun.com/nmgrd/article/details/82878425</link><guid>https://blog.youkuaiyun.com/nmgrd/article/details/82878425</guid><author>nmgrd</author><pubDate>Fri, 28 Sep 2018 11:16:39 +0800</pubDate><description><![CDATA[本人收藏了一篇关于kafka多线程消费和手动提交偏移量的博文 ， 设计思路还不错， 所以也一并分享给大家 :]]></description><category></category></item><item><title><![CDATA[一个使用多线程发送消息到kafka集群的java程序]]></title><link>https://blog.youkuaiyun.com/nmgrd/article/details/82872673</link><guid>https://blog.youkuaiyun.com/nmgrd/article/details/82872673</guid><author>nmgrd</author><pubDate>Thu, 27 Sep 2018 20:46:44 +0800</pubDate><description><![CDATA[一个使用多线程发送消息到kafka集群的java程序
本人之前参与的某个大数据项目，由于测试的需要，所以帮助写了一个数据发送工具用于发送大量数据到kakfa进行业务性能压测。程序虽然简单，但我想对于初学kafka的同学，还是有一定的借鉴意义的，遂打算贡献出来。本来是打算把源码打成压缩包上传的，无奈公司在安全方面做的很严格，将文件上传到csdn， github等网站会被公司电脑检测到并被禁止，无奈以...]]></description><category></category></item><item><title><![CDATA[DirectByteBuffer内存回收笔记]]></title><link>https://blog.youkuaiyun.com/nmgrd/article/details/81460776</link><guid>https://blog.youkuaiyun.com/nmgrd/article/details/81460776</guid><author>nmgrd</author><pubDate>Mon, 06 Aug 2018 20:31:06 +0800</pubDate><description><![CDATA[今天在看netty源码时候又再次遇到了DirectByteBuffer，关于DirectByteBuffer的内存回收机制，在netty框架中被封装的面目全非，但其回收机制也是万变不离其宗，下面这几篇简单易懂的文章就介绍了DirectByteBuffer的概念极其内存回收方式，在这里和大家分享一下：




  文章列表



  jvm堆外内存–DirectByteBuffer


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