<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Vince的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Vincent_Field</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Vincent_Field]]></copyright><item><title><![CDATA[前后端依赖库版本特性汇总(暂时只是起个头，将持续完善)]]></title><link>https://blog.youkuaiyun.com/Vincent_Field/article/details/128422894</link><guid>https://blog.youkuaiyun.com/Vincent_Field/article/details/128422894</guid><author>Vincent_Field</author><pubDate>Fri, 23 Dec 2022 18:55:32 +0800</pubDate><description><![CDATA[2.15.6版本之前，catch到err值为false，2.15.7版本之后能获取到更详细错误信息]]></description><category></category></item><item><title><![CDATA[实现有序的UUID之OUID]]></title><link>https://blog.youkuaiyun.com/Vincent_Field/article/details/127822701</link><guid>https://blog.youkuaiyun.com/Vincent_Field/article/details/127822701</guid><author>Vincent_Field</author><pubDate>Sat, 12 Nov 2022 17:13:43 +0800</pubDate><description><![CDATA[Ordered Universally Unique Identifier
从环境变量机制和SPI机制方面进行优化：1.从环境变量传递参数替换部分IP单元，2.通过SPI机制传递自定义IP。]]></description><category></category></item><item><title><![CDATA[JS 正则目录]]></title><link>https://blog.youkuaiyun.com/Vincent_Field/article/details/115380009</link><guid>https://blog.youkuaiyun.com/Vincent_Field/article/details/115380009</guid><author>Vincent_Field</author><pubDate>Thu, 01 Apr 2021 18:29:47 +0800</pubDate><description><![CDATA[正负整数+正负小数+整数位数大于1位时不以0打头

/^(?:(?:-?[1-9][0-9]*(?:\.[0-9]+)?)|(?:-?0(?:\.[0-9]+)?))$/g


非负整数+非负小数+整数位大于1位时不以0打头

/^(?:(?:[1-9][0-9]*(?:\.[0-9]+)?)|(?:0(?:\.[0-9]+)?))$/g


负整数+负小数+整数位数大于1位时不以0打头

/^(?:(?:-[1-9][0-9]*(?:\.[0-9]+)?)|(?:-0\.[0-9]+))$/g


正负.]]></description><category></category></item><item><title><![CDATA[项目启动时报错UnsupportedOperationException]]></title><link>https://blog.youkuaiyun.com/Vincent_Field/article/details/105951797</link><guid>https://blog.youkuaiyun.com/Vincent_Field/article/details/105951797</guid><author>Vincent_Field</author><pubDate>Wed, 06 May 2020 16:06:12 +0800</pubDate><description><![CDATA[项目启动时netty模块报错
java.lang.UnsupportedOperationException: Reflective setAccessible(true) disabled
	at io.netty.util.internal.ReflectionUtil.trySetAccessible(ReflectionUtil.java:31) ~[netty-common-4.1.29...]]></description><category></category></item><item><title><![CDATA[SpringBoot下使用Security]]></title><link>https://blog.youkuaiyun.com/Vincent_Field/article/details/105796717</link><guid>https://blog.youkuaiyun.com/Vincent_Field/article/details/105796717</guid><author>Vincent_Field</author><pubDate>Mon, 27 Apr 2020 18:21:37 +0800</pubDate><description><![CDATA[该文基于SpringBoot版本2.1.8.RELEASE，案例仓库以后有空时整理后补上。
（一）配置文件简单示例
继承WebSecurityConfigureAdapter类，加上@EnableWebSecurity注解，并实现configure方法（注意这个方法有三种入参形式，下面只是其中一种，后面的篇幅中会看到另外一种），下面只是一个简单的配置文件，仅配置了一些简单的URL路径相关的权限。
......]]></description><category></category></item><item><title><![CDATA[了解InnoDB体系结构]]></title><link>https://blog.youkuaiyun.com/Vincent_Field/article/details/104889639</link><guid>https://blog.youkuaiyun.com/Vincent_Field/article/details/104889639</guid><author>Vincent_Field</author><pubDate>Sun, 15 Mar 2020 23:47:39 +0800</pubDate><description><![CDATA[InnoDB存储引擎具有行锁设计、支持事务、支持外键、支持MVCC、支持插入缓冲、支持自适应哈希索引等特点，其整体体系架构主要由后台线程、内存池、文件系统三部分组成，如下图所示：

接下来会针对后台线程和内存池展开介绍。
内存池
内存池从大的方面可以分为三块：重做日志缓冲（redo log buffer）、缓冲池（buffer pool）、额外内存池（additional memery pool）...]]></description><category></category></item><item><title><![CDATA[从二分图开始到最大匹配]]></title><link>https://blog.youkuaiyun.com/Vincent_Field/article/details/104504959</link><guid>https://blog.youkuaiyun.com/Vincent_Field/article/details/104504959</guid><author>Vincent_Field</author><pubDate>Tue, 25 Feb 2020 20:46:56 +0800</pubDate><description><![CDATA[概念
图论概念

图：由顶点和顶点之间的边组成的集合，表示为G&lt;V, E&gt;，V表示的是顶点的集合，E表示的是边的集合
独立集：图内点集的子集，且满足：每两个顶点之间均不存在连边
最大独立集：图内顶点数量最多的独立集
覆盖：图内点集的子集，且满足：能覆盖（顶点是边的任一个端点都视为覆盖边）图的所有边
最小覆盖：图内顶点数量最少的覆盖
最小覆盖数：最小覆盖的顶点数量
匹配：图内边集的子集，...]]></description><category></category></item><item><title><![CDATA[文章按给定权重、生成时间综合排序]]></title><link>https://blog.youkuaiyun.com/Vincent_Field/article/details/104115170</link><guid>https://blog.youkuaiyun.com/Vincent_Field/article/details/104115170</guid><author>Vincent_Field</author><pubDate>Thu, 30 Jan 2020 16:29:54 +0800</pubDate><description><![CDATA[做CMS系统时，经常会有一个需求，将文章按时间、以及管理员给定的权重值进行排序显示的需求。之前自己有写过一个排序的公式，已经用了一段时间了，感觉还不错，这里跟大家分享一下。
特点
该排序公式的特点

权重值（weight）处于[0, 100]区间
结果值处于[0, 100]区间
时间（created）越早排序值越小

对于时间对结果值影响，受设定的衰退率（DECLINE_RATE）、晒退周期(DE...]]></description><category></category></item><item><title><![CDATA[关于ActiveMQ消息队列不消费的思考]]></title><link>https://blog.youkuaiyun.com/Vincent_Field/article/details/103930879</link><guid>https://blog.youkuaiyun.com/Vincent_Field/article/details/103930879</guid><author>Vincent_Field</author><pubDate>Fri, 10 Jan 2020 21:21:13 +0800</pubDate><description><![CDATA[对于某些消息队列中间件标榜自己吞吐量高一直无法理解，一直觉得，不同的消息队列实现，吞吐量不会差太多，不管是多是少总不会差一个量级上，，一丁点差距没有值得称道的地方。
直到我用了ActiveMQ，才终于明白，标榜吞吐量高，全是同行衬托的，ActiveMQ的实现上一定有一个不大的Bug。这个Bug源于我发现的一个现象，ActiveMQ管理界面上可以看队列中还有7条消息等待多时仍然迟迟没有消费。将线程D...]]></description><category></category></item><item><title><![CDATA[JDK中Integer.bitCount解析]]></title><link>https://blog.youkuaiyun.com/Vincent_Field/article/details/103496760</link><guid>https://blog.youkuaiyun.com/Vincent_Field/article/details/103496760</guid><author>Vincent_Field</author><pubDate>Wed, 11 Dec 2019 18:41:46 +0800</pubDate><description><![CDATA[使用过Redis的人可能知道，Redis中给我们提供了统计二进制位数为1的位数量的指令bitcout，JDK中Integer类同样也给我们提供了该功能的方法Integer.bigCount，得益于此，我们很容易就能一窥该方法的实现
    public static int bitCount(int i) {
        // HD, Figure 5-2
        i = i - ((...]]></description><category></category></item><item><title><![CDATA[Linux设置进程分配CPU时间片上限]]></title><link>https://blog.youkuaiyun.com/Vincent_Field/article/details/103308683</link><guid>https://blog.youkuaiyun.com/Vincent_Field/article/details/103308683</guid><author>Vincent_Field</author><pubDate>Fri, 29 Nov 2019 12:52:59 +0800</pubDate><description><![CDATA[要实现linux限制进程上限的功能，需要用到Cgroups技术，它的全程Linux Control Group，用于限制一个进程组能够使用的资源（CPU、内存、磁盘、网络带宽）上限，还能够对进程进行优先级设置，以及进行将进程挂起恢复的操作。
Cgroups给用户暴露出来的操作接口是文件系统，以目录和文件的方式组织在/sys/fs/cgroup路径下。
执行ls /sys/fs/cgroup命令可以...]]></description><category></category></item><item><title><![CDATA[利用Redis写文件权限进行ssh提权登陆linux的漏洞]]></title><link>https://blog.youkuaiyun.com/Vincent_Field/article/details/101780028</link><guid>https://blog.youkuaiyun.com/Vincent_Field/article/details/101780028</guid><author>Vincent_Field</author><pubDate>Mon, 30 Sep 2019 16:55:24 +0800</pubDate><description><![CDATA[原理
利用redis的config命令修改rdb文件地址为ssh密钥文件，向redis中写入公共密钥，通过save命令手动刷新到rdb中，此时就可以用私钥登陆了
操作
在本地电脑中（linux为例）生成无密码的密钥
ssh-keygen -t rsa -P ''    # 后面直接回车

此时在~/.ssh/下生成两个文件id_rsa和id_rsa.pub，id_rsa是私钥，id_rsa_pub...]]></description><category></category></item><item><title><![CDATA[Java实现文本差分 diff 工具代码]]></title><link>https://blog.youkuaiyun.com/Vincent_Field/article/details/100021323</link><guid>https://blog.youkuaiyun.com/Vincent_Field/article/details/100021323</guid><author>Vincent_Field</author><pubDate>Thu, 22 Aug 2019 19:01:35 +0800</pubDate><description><![CDATA[工具类源码
https://github.com/Uetty/common-parent/blob/dev/common-tool/src/main/java/com/uetty/common/tool/algorithm/diff/LCSDiff.java
使用
LCSDiff lcsDiff = new LCSDiff(str1, str2, new EnglishWordMetadataPi...]]></description><category></category></item><item><title><![CDATA[log4j xml配置文件个人配置如何不污染GIT远程仓库]]></title><link>https://blog.youkuaiyun.com/Vincent_Field/article/details/99655032</link><guid>https://blog.youkuaiyun.com/Vincent_Field/article/details/99655032</guid><author>Vincent_Field</author><pubDate>Thu, 15 Aug 2019 20:55:21 +0800</pubDate><description><![CDATA[在spring中通常使用xml方式配置log4j。通常开发人员根据自身习惯会在本地开发环境设置令自己舒适的日志打印级别，然而在团队合作编程中，常因配置文件误提交导致污染GIT远程仓库。
针对这个问题，这里分享一个小经验——借助命令行参数在不改变文件的情况下，使配置更加的舒适
使用

首先修改xml配置文件的参数为${}形式，如

&lt;logger name="com.xxx.dao" leve...]]></description><category></category></item><item><title><![CDATA[注解实现阿里Easy Excel自定义样式设置]]></title><link>https://blog.youkuaiyun.com/Vincent_Field/article/details/97921864</link><guid>https://blog.youkuaiyun.com/Vincent_Field/article/details/97921864</guid><author>Vincent_Field</author><pubDate>Wed, 31 Jul 2019 15:23:32 +0800</pubDate><description><![CDATA[基于alibaba/easyexcel进行样式扩展封装而来的，增加了一些样式注解
可以解决什么问题

注解式样式
代码方式自定义样式
冻结行列样式
合并单元格样式
设置内容下拉框
背景颜色
字体设置
列宽度设置
边框样式
居中方式
是否换行

效果


DEMO
model代码示例

@CellFreeze(freezeRow = 2, freezeCol = 2)
// 宽度默认值
@Colum...]]></description><category></category></item><item><title><![CDATA[Eclipse转Idea之路，最全实用快捷键设置]]></title><link>https://blog.youkuaiyun.com/Vincent_Field/article/details/97369560</link><guid>https://blog.youkuaiyun.com/Vincent_Field/article/details/97369560</guid><author>Vincent_Field</author><pubDate>Fri, 26 Jul 2019 09:56:49 +0800</pubDate><description><![CDATA[快捷键偏好设置


查找(Keymap -&gt; Main Menu -&gt; Edit -&gt; Find -&gt; Find…) ：Ctrl + F    【速记：find】


复制上一行到下一行(Keymap -&gt; Edit Actions -&gt; Duplicate Entire Lines) ： Ctrl + 向下箭头


移动代码到上一行(Keymap -&gt; ...]]></description><category></category></item><item><title><![CDATA[JAVA垃圾收集器有哪些类型]]></title><link>https://blog.youkuaiyun.com/Vincent_Field/article/details/96366285</link><guid>https://blog.youkuaiyun.com/Vincent_Field/article/details/96366285</guid><author>Vincent_Field</author><pubDate>Wed, 17 Jul 2019 21:24:43 +0800</pubDate><description><![CDATA[Serial收集器（新生代）
垃圾收集时，必须暂停其他所有工作线程（Stop The World)，采用的是复制回收算法，单线程收集
Serial Old搜集器（老年代）
Serial收集器的老年代版本
ParNew收集器（新生代）
serial收集器的多线程版本，没有太多的提升
Parallel Scavenge收集器（新生代）
复制回收算法，并发多线程收集器，特点是与其他关注缩短垃圾收集时停顿...]]></description><category></category></item><item><title><![CDATA[整理：CSS属性display的inline、block、inline-block的区别]]></title><link>https://blog.youkuaiyun.com/Vincent_Field/article/details/86702664</link><guid>https://blog.youkuaiyun.com/Vincent_Field/article/details/86702664</guid><author>Vincent_Field</author><pubDate>Wed, 19 Jun 2019 00:39:10 +0800</pubDate><description><![CDATA[三种元素解释
block:：对象为块状元素，整体保持块状状态（矩形形状），并且单独占据一行（同一行内不会有兄弟节点）
inline：对象为行内元素，整体不会一定保持块状状态，并且不会一定单独占据一行，超过一行的部分进入下一行
inline-block：介于block与inline之间，整体保持块状状态，但不会一定单独占据一行
案例解析
HTML
&amp;amp;amp;lt;!DOCTYPE html&amp;amp;amp;gt;
&amp;amp;amp;lt;...]]></description><category></category></item><item><title><![CDATA[事务隔离级别整理笔记]]></title><link>https://blog.youkuaiyun.com/Vincent_Field/article/details/89886745</link><guid>https://blog.youkuaiyun.com/Vincent_Field/article/details/89886745</guid><author>Vincent_Field</author><pubDate>Mon, 06 May 2019 17:03:14 +0800</pubDate><description><![CDATA[事务的ACID特性

原子性
一致性（事务处理前后从一个一致性状态变换到另一个一致性状态）
隔离性（多个并发事务间的隔离）
持久性

无隔离处理下的几种问题
1. 脏读
并发的其中一个事务读取另一个事务未提交的内容，当另一个事务回滚后发现读的是无效数据
2. 不可重复读
并发的其中一个事务在一开始读取了一次数据，并在另一个事务提交后又读取了一次数据，发现两次读取的数据不一致
3. 幻读（虚读）
并...]]></description><category></category></item><item><title><![CDATA[RabbitMQ 入门]]></title><link>https://blog.youkuaiyun.com/Vincent_Field/article/details/89610153</link><guid>https://blog.youkuaiyun.com/Vincent_Field/article/details/89610153</guid><author>Vincent_Field</author><pubDate>Sun, 28 Apr 2019 00:00:43 +0800</pubDate><description><![CDATA[Rabbitmq 笔记
1. 安装
使用docker方式，拉取镜像uetty/rabbitmq
具体命令 -&gt;
额外的TIP: 由于Linux机器上会有最大打开文件个数限制，Rabbitmq又依赖文件操作，所以应将Linux的所有用户打开文件限制调高到64000，Rabbitmq程序所属的用户的打开文件限制调高到64000，这一块见官网文件限制
2. Rabbitmq资源
Rabbitmq是...]]></description><category></category></item></channel></rss>