<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[bai_ye_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/bai_ye_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; bai_ye_]]></copyright><item><title><![CDATA[Roaringbitmap+Mysql构建标签--实际使用问题]]></title><link>https://blog.youkuaiyun.com/bai_ye_/article/details/140914038</link><guid>https://blog.youkuaiyun.com/bai_ye_/article/details/140914038</guid><author>bai_ye_</author><pubDate>Sun, 04 Aug 2024 23:23:43 +0800</pubDate><description><![CDATA[Roaringbitmap结合Mysql实际使用过程中遇到的一些问题，包括技术问题和业务问题。]]></description><category></category></item><item><title><![CDATA[基于配置实现RoaringBitMap的交、差、并集处理]]></title><link>https://blog.youkuaiyun.com/bai_ye_/article/details/140810127</link><guid>https://blog.youkuaiyun.com/bai_ye_/article/details/140810127</guid><author>bai_ye_</author><pubDate>Sun, 04 Aug 2024 23:21:39 +0800</pubDate><description><![CDATA[实现了基于配置的Roaringbitmap逻辑处理流程，可以自由编排Roaringbitmap的交、差、并集操作，得出目标标签数据。]]></description><category></category></item><item><title><![CDATA[RoaringBitMap处理海量数据内存diff]]></title><link>https://blog.youkuaiyun.com/bai_ye_/article/details/136078444</link><guid>https://blog.youkuaiyun.com/bai_ye_/article/details/136078444</guid><author>bai_ye_</author><pubDate>Mon, 17 Jun 2024 00:16:59 +0800</pubDate><description><![CDATA[RoaringBitMap处理海量数据内存diff]]></description><category></category></item><item><title><![CDATA[mybatis-plus 和 mybatis-plus-boot-starter 引起的 org.apache.ibatis.binding.BindingException]]></title><link>https://blog.youkuaiyun.com/bai_ye_/article/details/124568620</link><guid>https://blog.youkuaiyun.com/bai_ye_/article/details/124568620</guid><author>bai_ye_</author><pubDate>Wed, 04 May 2022 12:27:21 +0800</pubDate><description><![CDATA[最近改了一个之前的项目，为了简化CRUD加上了mybatis-plus，结果发现dao层接口找不到对应的xml文件了，出现了异常

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)：XXX

就很奇怪，因为之前引入mybatis-plus都是正常的，然后还检查了一遍接口和xml可能存在问题的地方，都是正常，最后回归还是觉得是引入mybatis-plus导致的，调查之后发现是pom文件导包的问题引起的]]></description><category></category></item><item><title><![CDATA[Mysql事务隔离级别，MVCC实现原理，当前读，快照读，Next-Key锁]]></title><link>https://blog.youkuaiyun.com/bai_ye_/article/details/119797389</link><guid>https://blog.youkuaiyun.com/bai_ye_/article/details/119797389</guid><author>bai_ye_</author><pubDate>Sat, 28 Aug 2021 19:56:47 +0800</pubDate><description><![CDATA[一，事务

1，什么是事务

   数据库事务( transaction)是访问并可能操作各种数据项的一个数据库操作序列，这些操作要么全部执行,要么全部不执行，是一个不可分割的工作单位。事务由事务开始与事务结束之间执行的全部数据库操作组成。

   Mysql数据库中，存储引擎是InnoDB时，支持事务，MyISAM存储引擎不支持事务。

2，事务四大特性 ACID

1、原子性(Atomicity)：一个事务开启后，事务中的全部操作是不可分割的，要么全部完成，要么全部不执行。如果事务执行过程中...]]></description><category></category></item><item><title><![CDATA[ThreadLocal源码，看完也许你就理解了。]]></title><link>https://blog.youkuaiyun.com/bai_ye_/article/details/119641540</link><guid>https://blog.youkuaiyun.com/bai_ye_/article/details/119641540</guid><author>bai_ye_</author><pubDate>Fri, 13 Aug 2021 10:00:18 +0800</pubDate><description><![CDATA[一，ThreadLocal是什么，用来做什么？

   ThreadLocal本质是一个代理工具类，ThreadLocal类里面有一个静态内部类ThreadLocalMap，通过ThreadLocal封装的 set()，get() 方法，可以实现对ThreadLocalMap中的数据进行存取操作，ThreadLocalMap的Key 与 this (即ThreadLocal自身) 相关，而每个Thread都维护着自己的ThreadLocalMap即threadLocals，所以通过ThreadLo...]]></description><category></category></item><item><title><![CDATA[Mysql日志: redolog，undolog，binlog，errorlog，slow_query_log，generallog，relaylog区别与作用]]></title><link>https://blog.youkuaiyun.com/bai_ye_/article/details/119086892</link><guid>https://blog.youkuaiyun.com/bai_ye_/article/details/119086892</guid><author>bai_ye_</author><pubDate>Sun, 25 Jul 2021 21:13:58 +0800</pubDate><description><![CDATA[1，redolog: 重做日志

  redolog用来确保事务的持久性，防止在发生故障的时间点，尚有脏页未写入磁盘，在重启mysql服务的时候，根据redolog进行重做，从而达到事务的持久性这一特性。

  事务一旦开启之后就开始产生redolog，redolog并不需要等待事务提交之后才写入磁盘，而是事务的执行过程中，便开始写入redolog文件，redolog是按照顺序写入redolog文件中的。

  事务开启之后redolog的逐步写盘是如何实现，重做日志有一个缓存区Innodb_l...]]></description><category></category></item><item><title><![CDATA[CentOS7 单机模拟搭建ElasticSearch集群 及 常见配置优化]]></title><link>https://blog.youkuaiyun.com/bai_ye_/article/details/118861941</link><guid>https://blog.youkuaiyun.com/bai_ye_/article/details/118861941</guid><author>bai_ye_</author><pubDate>Sat, 17 Jul 2021 20:38:04 +0800</pubDate><description><![CDATA[单实例安装请看CentOS7 ElasticSearch与ElasticSearch-head的安装部署

直接上配置吧，后面总结一下踩了什么坑

端口设置

节点
			http.port
			transport.tcp.port
		master
			9200
			默认9300
		slave1
			9210
			9310
		slave2
			9220
			9320
		一，master配置


http.cors.enabled: true
http.cors.allow-origi.]]></description><category></category></item><item><title><![CDATA[Docker 搭建 Mysql8 数据库的主从同步]]></title><link>https://blog.youkuaiyun.com/bai_ye_/article/details/118851804</link><guid>https://blog.youkuaiyun.com/bai_ye_/article/details/118851804</guid><author>bai_ye_</author><pubDate>Sat, 17 Jul 2021 10:15:00 +0800</pubDate><description><![CDATA[一，mysql-master创建,并创建从库连接用户testSlave


#--name指定运行之后的容器的名称为mysql-master；
#--privileged指定了当前容器是否真正的具有root权限，所谓的root权限是指具有宿主机的root权限，而不仅仅只是在容器内部有root权限；
#-v指定了容器中指定目录挂载到宿主机上的某个目录，这样做的目的在于防止容器中配置的数据丢失，因为docker容器在重启之后是不会保留前一次在其内部运行的相关数据的；
#-p表示宿主机上的某个端口映射到docke]]></description><category></category></item><item><title><![CDATA[Docker 搭建Redis集群，一主二从三哨兵，测试模拟master下线，哨兵投票选举。]]></title><link>https://blog.youkuaiyun.com/bai_ye_/article/details/118725058</link><guid>https://blog.youkuaiyun.com/bai_ye_/article/details/118725058</guid><author>bai_ye_</author><pubDate>Wed, 14 Jul 2021 15:58:43 +0800</pubDate><description><![CDATA[Redis集群结构
]]></description><category></category></item><item><title><![CDATA[SpringBoot 基于Shiro + Jwt + Redis的用户权限管理 (三) 鉴权]]></title><link>https://blog.youkuaiyun.com/bai_ye_/article/details/118491123</link><guid>https://blog.youkuaiyun.com/bai_ye_/article/details/118491123</guid><author>bai_ye_</author><pubDate>Tue, 06 Jul 2021 11:59:11 +0800</pubDate><description><![CDATA[项目Github地址:https://github.com/baiye21/ShiroDemo


	SpringBoot 基于Shiro + Jwt + Redis的用户权限管理 (一) 简介与配置
	
	
	SpringBoot 基于Shiro + Jwt + Redis的用户权限管理 (二) 认证
	
	
	SpringBoot 基于Shiro + Jwt + Redis的用户权限管理 (三) 鉴权
	
	
	SpringBoot 基于Shiro + Jwt + Redis的用户权限管理 (四) ..]]></description><category></category></item><item><title><![CDATA[SpringBoot 基于Shiro + Jwt + Redis的用户权限管理 (二) 认证]]></title><link>https://blog.youkuaiyun.com/bai_ye_/article/details/118488885</link><guid>https://blog.youkuaiyun.com/bai_ye_/article/details/118488885</guid><author>bai_ye_</author><pubDate>Mon, 05 Jul 2021 15:27:36 +0800</pubDate><description><![CDATA[项目Github地址:https://github.com/baiye21/ShiroDemo


	SpringBoot 基于Shiro + Jwt + Redis的用户权限管理 (一) 简介与配置
	
	
	SpringBoot 基于Shiro + Jwt + Redis的用户权限管理 (二) 认证
	
	
	SpringBoot 基于Shiro + Jwt + Redis的用户权限管理 (三) 鉴权
	
	
	SpringBoot 基于Shiro + Jwt + Redis的用户权限管理 (四) ..]]></description><category></category></item><item><title><![CDATA[SpringBoot 基于Shiro + Jwt + Redis的用户权限管理 (一) 简介与配置]]></title><link>https://blog.youkuaiyun.com/bai_ye_/article/details/118442653</link><guid>https://blog.youkuaiyun.com/bai_ye_/article/details/118442653</guid><author>bai_ye_</author><pubDate>Sat, 03 Jul 2021 19:01:14 +0800</pubDate><description><![CDATA[项目Github地址:https://github.com/baiye21/ShiroDemo

一，大体功能

1.登录成功返回access_token

  用户通过用户密码进行login，验证成功后生成一个access_token返回给前端，之后的请求都需要将access_token放在Request Header部Authorization字段中，才能正常访问。

2.后续请求需携带access_token

  将自定义的JwtFilter拦截器加入到了Shiro的过滤器中，没有在过滤...]]></description><category></category></item><item><title><![CDATA[CentOS7 ElasticSearch与ElasticSearch-head的安装部署]]></title><link>https://blog.youkuaiyun.com/bai_ye_/article/details/118307089</link><guid>https://blog.youkuaiyun.com/bai_ye_/article/details/118307089</guid><author>bai_ye_</author><pubDate>Mon, 28 Jun 2021 18:10:50 +0800</pubDate><description><![CDATA[一，相关网站

ELK官网
			https://www.elastic.co/
		官网文档
			https://www.elastic.co/guide/index.html
		中文手册
			https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html
		中文社区
			https://elasticsearch.cn/
		ELK-API
			https://www.elastic.co/guide/en/ela]]></description><category></category></item><item><title><![CDATA[JVM 运行时数据区]]></title><link>https://blog.youkuaiyun.com/bai_ye_/article/details/118141938</link><guid>https://blog.youkuaiyun.com/bai_ye_/article/details/118141938</guid><author>bai_ye_</author><pubDate>Wed, 23 Jun 2021 10:50:48 +0800</pubDate><description><![CDATA[一，运行时数据区域

程序计数器
	Java栈(虚拟机栈)​​​​​​​
	本地方法栈
	堆
	方法区


二，程序计数器

程序计数器是当前线程执行的字节码的行号指示器。

程序计数器是一块较小的内存空间，它可以看作是当前线程所执行的字节码的行号指示器，字节码解释器的工作就是通过改变这个计数器的值来选取下一条需要执行的字节码指令，分支，循环，跳转，异常处理，线程恢复等基础功能都需要依赖程序计数器来完成。

每条线程都有一个独立的程序计数器。

Java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的]]></description><category></category></item><item><title><![CDATA[Linux find: missing argument to `-exec‘]]></title><link>https://blog.youkuaiyun.com/bai_ye_/article/details/118100069</link><guid>https://blog.youkuaiyun.com/bai_ye_/article/details/118100069</guid><author>bai_ye_</author><pubDate>Tue, 22 Jun 2021 09:42:49 +0800</pubDate><description><![CDATA[使用find批量删除指定前缀的文件时，执行


find -name '8017058d*' -exec rm {}\;

命令报错:find: missing argument to `-exec'



正确的命令如下:


// 注意{} 与 \之间有空格
find -name '8017058d*' -exec rm {} \;





find -name'8017058d*' 当前文件夹下以8017058d为前缀的文件

-exec rm 执行rm命令

{} find查找出来的文件...]]></description><category></category></item><item><title><![CDATA[Hashtable，ConcurrentHashMap与Collections.synchronizedMap关键源码]]></title><link>https://blog.youkuaiyun.com/bai_ye_/article/details/117635484</link><guid>https://blog.youkuaiyun.com/bai_ye_/article/details/117635484</guid><author>bai_ye_</author><pubDate>Tue, 08 Jun 2021 10:49:52 +0800</pubDate><description><![CDATA[一，Collections.synchronizedMap

1，构造


    public static &lt;K,V&gt; Map&lt;K,V&gt; synchronizedMap(Map&lt;K,V&gt; m) {
        return new SynchronizedMap&lt;&gt;(m);
    }




2.为什么线程安全
]]></description><category></category></item><item><title><![CDATA[Java8 ArrayList，LinkedList，Vector关键源码阅读]]></title><link>https://blog.youkuaiyun.com/bai_ye_/article/details/117595513</link><guid>https://blog.youkuaiyun.com/bai_ye_/article/details/117595513</guid><author>bai_ye_</author><pubDate>Sat, 05 Jun 2021 17:19:23 +0800</pubDate><description><![CDATA[一，ArrayList

1，ArrayList底层数据结构

ArrayList的底层数据结构是一个数组，Object[] elementData。



以下是ArrayListde一些主要参数


    // 默认数组长度 10
    private static final int DEFAULT_CAPACITY = 10;

    // 空实例的数组
    private static final Object[] EMPTY_ELEMENTDATA = {};

    // 初始化默]]></description><category></category></item><item><title><![CDATA[Java8 HashMap关键源码阅读，以及Java7头插法与Java8尾插法理解。]]></title><link>https://blog.youkuaiyun.com/bai_ye_/article/details/117441023</link><guid>https://blog.youkuaiyun.com/bai_ye_/article/details/117441023</guid><author>bai_ye_</author><pubDate>Wed, 02 Jun 2021 12:10:57 +0800</pubDate><description><![CDATA[一，HashMap的底层数据结构

Java8 中HashMap的底层数据结构是数组＋链表，当数组长度为64或者链表长度为8时，将会把链表转化为红黑树。



1.HashMap的存取原理

put方法


    public V put(K key, V value) {
        return putVal(hash(key), key, value, false, true);
    }



final V putVal(int hash, K key, V value, boolean ]]></description><category></category></item><item><title><![CDATA[Centos下 GitLab 命令行修改用户密码]]></title><link>https://blog.youkuaiyun.com/bai_ye_/article/details/116592510</link><guid>https://blog.youkuaiyun.com/bai_ye_/article/details/116592510</guid><author>bai_ye_</author><pubDate>Mon, 10 May 2021 12:43:40 +0800</pubDate><description><![CDATA[首先root登录linux服务器

一，切换GitLab命令行


gitlab-rails console -e production



二，查找root用户，这里root用户的id是1


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