<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[happy_blockhead的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/happy_blockhead</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; happy_blockhead]]></copyright><item><title><![CDATA[设计模式大冒险第一关：观察者模式]]></title><link>https://blog.youkuaiyun.com/happy_blockhead/article/details/126603432</link><guid>https://blog.youkuaiyun.com/happy_blockhead/article/details/126603432</guid><author>happy_blockhead</author><pubDate>Tue, 30 Aug 2022 14:29:01 +0800</pubDate><description><![CDATA[所谓的观察者模式指的是一种一对多的关系，我们把其中的一叫做Subject（类比上文中的公众号），把其中的多叫做Observer（类比上文中关注公众号的用户），也就是观察者。因为多个Observer的变动依赖Subject的状态更新，所以Subject在内部维护了一个Observer的列表，一旦Subject的状态有更新，就会遍历这个列表，通知列表中每一个Observer进行相应的更新。因为有了这个列表，Subject就可以对这个列表进行增删改查的操作。也就实现了Observer对Subject。...]]></description><category></category></item><item><title><![CDATA[【ElasticSearch从零开始第00章】-环境准备部署centos7]]></title><link>https://blog.youkuaiyun.com/happy_blockhead/article/details/123033112</link><guid>https://blog.youkuaiyun.com/happy_blockhead/article/details/123033112</guid><author>happy_blockhead</author><pubDate>Sun, 20 Feb 2022 17:19:37 +0800</pubDate><description><![CDATA[和大家说明一下，我们的目的仅仅是要安装一个centos7，然后在centos7上部署ElasticSearch
如果搞不定vagrant+virtualbox的方式，可以直接使用VM搭建一个centos7或者使用一台云服务器安装centos7
我们的目的只是为了得到一个centos7的机器，所以不必花太多精力在这个环境问题上折腾]]></description><category></category></item><item><title><![CDATA[LeetCode 1001. 网格照明]]></title><link>https://blog.youkuaiyun.com/happy_blockhead/article/details/122822495</link><guid>https://blog.youkuaiyun.com/happy_blockhead/article/details/122822495</guid><author>happy_blockhead</author><pubDate>Tue, 08 Feb 2022 13:57:51 +0800</pubDate><description><![CDATA[LeetCode ]]></description><category></category></item><item><title><![CDATA[2022考研数学李永乐线代辅导讲义PDF电子版]]></title><link>https://blog.youkuaiyun.com/happy_blockhead/article/details/122409764</link><guid>https://blog.youkuaiyun.com/happy_blockhead/article/details/122409764</guid><author>happy_blockhead</author><pubDate>Mon, 10 Jan 2022 14:24:48 +0800</pubDate><description><![CDATA[①2022考研数学李永乐线性代数辅导讲义pdf
②2022李永乐线性代数辅导讲义严选题pdf
这也放不了链接 ，请见评论



关于李永乐线代的问题，可以这么说吧，李永乐老师的线代强化课程，只要全部吃透了，考研的线代就算是已经搞定90%了，还有10%左右的比较新的题型需要在一些模拟题中去自己归纳总结。
比如：合工大的超越5套卷，共创五套卷，张宇8+4，李林4+6等等。 那么听课这一块，我的建议是这样的：如果你能够充分吸收李永乐老师强化班的内容，那么之听强化班的课是完全可以的，并且建议多听几遍。
如果觉得太难]]></description><category></category></item><item><title><![CDATA[解决谷歌浏览器http链接自动跳转到https的问题]]></title><link>https://blog.youkuaiyun.com/happy_blockhead/article/details/117415584</link><guid>https://blog.youkuaiyun.com/happy_blockhead/article/details/117415584</guid><author>happy_blockhead</author><pubDate>Mon, 31 May 2021 14:15:57 +0800</pubDate><description><![CDATA[有些网址http协议和https协议是两个服务，有时候需要访问http地址，但chrome会默认转成https请求地址。
比如：输入 http://baidu.com 会自动跳转到 https://baidu.com
这时候清理浏览器缓存之类的都是没有用的，需要进行如下操作
方法一：删除浏览缓存
1、打开缓存设置页面
在chrome浏览器地址输入：chrome://net-internals/#hsts

2、删除缓存
在最下面的Delete domain security policies里输入想要删除的]]></description><category></category></item><item><title><![CDATA[ES学习系列02-创建索引]]></title><link>https://blog.youkuaiyun.com/happy_blockhead/article/details/113172223</link><guid>https://blog.youkuaiyun.com/happy_blockhead/article/details/113172223</guid><author>happy_blockhead</author><pubDate>Tue, 26 Jan 2021 07:34:57 +0800</pubDate><description><![CDATA[索引命名

业务应用
日志应用

业务应用


商品索引：product_001


店铺索引：shop_001


商户索引：merchant_001


日志应用

系统日志：system-log-2021.01.24
业务日志：product-log-2021.01.24

索引创建

动态创建
静态创建
索引别名
滚动创建

动态创建
概念定义
索引无需提前创建，第一条数据插入即可创建成功
应用场景
非严格数据模型限制规范的场景、日志、监控
示例代码
#动态创建
DELETE gupaoedu-co]]></description><category></category></item><item><title><![CDATA[mybatis参数格式化异常:NumberFormatException: For input string:“xx“]]></title><link>https://blog.youkuaiyun.com/happy_blockhead/article/details/112628882</link><guid>https://blog.youkuaiyun.com/happy_blockhead/article/details/112628882</guid><author>happy_blockhead</author><pubDate>Thu, 14 Jan 2021 19:39:01 +0800</pubDate><description><![CDATA[这是一次比较奇怪的报错，我使用的Map给MyBatis传参
我MyBatis参数Map传的是11
MyBatis的xml文件判断方式是：
&lt;if test="workYearEnd=='11'"&gt;
报错:NumberFormatException: For input string
修改为：
&lt;if test="workYearEnd=='11'.toString()"&gt;

...]]></description><category></category></item><item><title><![CDATA[深入浅出MySQL事务日志(redo log和undo log)]]></title><link>https://blog.youkuaiyun.com/happy_blockhead/article/details/110944409</link><guid>https://blog.youkuaiyun.com/happy_blockhead/article/details/110944409</guid><author>happy_blockhead</author><pubDate>Thu, 10 Dec 2020 00:33:42 +0800</pubDate><description><![CDATA[innodb事务日志包括redo log和undo log。redo log是重做日志，提供前滚操作，undo log是回滚日志，提供回滚操作。
undo log不是redo log的逆向过程，其实它们都算是用来恢复的日志：
1.redo log通常是物理日志，记录的是数据页的物理修改，而不是某一行或某几行修改成怎样怎样，它用来恢复提交后的物理数据页(恢复数据页，且只能恢复到最后一次提交的位置)。
2.undo用来回滚行记录到某个版本。undo log一般是逻辑日志，根据每行记录进行记录。
1.redo l]]></description><category></category></item><item><title><![CDATA[MySQL事务详解]]></title><link>https://blog.youkuaiyun.com/happy_blockhead/article/details/110769804</link><guid>https://blog.youkuaiyun.com/happy_blockhead/article/details/110769804</guid><author>happy_blockhead</author><pubDate>Sun, 06 Dec 2020 21:23:00 +0800</pubDate><description><![CDATA[InnoDB事务
查看数据库事务隔离级别
5.7使用
show global variables like 'tx_isolation';

5.8使用
show global variables like 'transaction_isolation';

事务定义
数据库事务（简称：事务）是数据库管理系统执行过程中的一个逻辑单位，由一个有限的数据库操作序列构成。
数据库事务通常包含了一个序列的对数据库的读/写操作。包含有以下两个目的：

为数据库操作序列提供了一个从失败中恢复到正常状态的方法，同时提供了]]></description><category></category></item><item><title><![CDATA[mysql8查看 隔离级别]]></title><link>https://blog.youkuaiyun.com/happy_blockhead/article/details/110698333</link><guid>https://blog.youkuaiyun.com/happy_blockhead/article/details/110698333</guid><author>happy_blockhead</author><pubDate>Sat, 05 Dec 2020 16:47:56 +0800</pubDate><description><![CDATA[MySQL5.7
查询方式
show global variables like 'tx_isolation';

MySQL8
查询了官方文档，在8.0+就已经抛弃了这样的查询方法
在MySQL 8.0.3 中，该变量已经被 transaction_isolation 替换了。
查询方式
1、select @@transaction_isolation;

2、show variables like 'transaction_isolation';


...]]></description><category></category></item><item><title><![CDATA[MySQL执行计划]]></title><link>https://blog.youkuaiyun.com/happy_blockhead/article/details/110387989</link><guid>https://blog.youkuaiyun.com/happy_blockhead/article/details/110387989</guid><author>happy_blockhead</author><pubDate>Mon, 30 Nov 2020 14:41:54 +0800</pubDate><description><![CDATA[1. Explain
表的读取顺序，数据读取操作的类型，哪些索引可以使用，哪些索引实际使用了，表之间的引用，每张表有多少行被优化器查询等信息。
下面是使用explain 的例子：
1.1. explain执行计划包含的信息
mysql&gt; explain select * from mysql.user;
±—±------------±------±-----------±-----±--------------±-----±--------±-----±-----±---------±------+]]></description><category></category></item><item><title><![CDATA[MySQL select执行流程]]></title><link>https://blog.youkuaiyun.com/happy_blockhead/article/details/110359265</link><guid>https://blog.youkuaiyun.com/happy_blockhead/article/details/110359265</guid><author>happy_blockhead</author><pubDate>Mon, 30 Nov 2020 00:35:58 +0800</pubDate><description><![CDATA[以一条select语句为例：select * from T where ID=4 ，梳理下执行的流程
一条sql语句在执行过程中需要经过连接器、分析器、优化器、执行器等，也有可能会经过查询缓存，如图所示
在这里插入图片描述
连接器
想要连接数据库那么必须是要通过连接器，连接器负责与客户端建立连接、获取权限、维持和管理连接。
当你输入了用户名和密码后，连接器会在权限表中查询你拥有的权限，之后本次连接中你对表能否操作查询删除修改等，都依赖于此时读取到的权限。
假设此时修改了你的权限，那么也是不会影响你本次的连接]]></description><category></category></item><item><title><![CDATA[java.lang.UnsupportedOperationException]]></title><link>https://blog.youkuaiyun.com/happy_blockhead/article/details/109897463</link><guid>https://blog.youkuaiyun.com/happy_blockhead/article/details/109897463</guid><author>happy_blockhead</author><pubDate>Sat, 21 Nov 2020 14:34:41 +0800</pubDate><description><![CDATA[在项目中对List进行操作时报错java.lang.UnsupportedOperationException，后来发现操作的List是由数组转换而成的，通过看源码发现问题，并写测试程序如下。
代码块：
public class ListTest {
    public static void main(String[] args) {
        String[] array = {"1","2","3","4","5"};
        List&lt;String&gt; list = Arr]]></description><category></category></item><item><title><![CDATA[【ElasticSearch从零开始第01章】-Elasticsearch搭建（单点+集群）]]></title><link>https://blog.youkuaiyun.com/happy_blockhead/article/details/109759532</link><guid>https://blog.youkuaiyun.com/happy_blockhead/article/details/109759532</guid><author>happy_blockhead</author><pubDate>Wed, 18 Nov 2020 00:21:24 +0800</pubDate><description><![CDATA[文章目录配置Linux机器配置系统环境创建ES专用账号配置JDK14+配置单点Elasticsearch配置配置文件启动方式Kibana配置配置文件启动方式配置集群Elasticsearch配置配置文件启动方式Kibana配置配置文件启动方式效果展示图片展示命令使用
配置Linux机器
配置系统环境
配置文件 /etc/sysctl.conf
# 禁用内存与硬盘交换
vm.swappiness=1
# 设置虚拟内存大小
vm.max_map_count=262144
配置文件：/etc/security/l]]></description><category></category></item><item><title><![CDATA[史上最全最新HashMap源码]]></title><link>https://blog.youkuaiyun.com/happy_blockhead/article/details/109625574</link><guid>https://blog.youkuaiyun.com/happy_blockhead/article/details/109625574</guid><author>happy_blockhead</author><pubDate>Wed, 11 Nov 2020 16:23:47 +0800</pubDate><description><![CDATA[文章目录文章总览版本区别JDK1.7JDK1.8数据结构属性解释属性定义默认属性源码解析：添加元素：红黑树化：计算阈值：数组扩容：解析resize()避免rehash()红黑树定义：
文章总览

JDK1.7和JDK1.8的区别
属性解释
put()过程解析
计算threshold
JDK1.8扩容优化
JDK1.7死循环图解

版本区别
JDK1.7

数组+链表，即使哈希函数取得再好，也很难达到元素百分百均匀分布。
当 HashMap 中有大量的元素都存放到同一个桶中时，这个桶下有一条长长的链表，极端情]]></description><category></category></item><item><title><![CDATA[深入源码理解ReentrantLock锁]]></title><link>https://blog.youkuaiyun.com/happy_blockhead/article/details/109301174</link><guid>https://blog.youkuaiyun.com/happy_blockhead/article/details/109301174</guid><author>happy_blockhead</author><pubDate>Mon, 26 Oct 2020 23:09:51 +0800</pubDate><description><![CDATA[文章目录结构整体介绍AQS介绍属性stateNodeheadtailexclusiveOwnerThreadReentrantLock介绍非公平锁加锁解锁参考知识
整体介绍
ReentrantLock是JUC自带的一种可重入锁
主要有两种锁形式

公平锁
非公平锁

主要功能有两种

加锁
释放锁

本质是AQS(同步等待队列)，一个带头结点和尾结点的双向链表
当当前节点完成任务，会唤醒队列里面的下一个可唤醒节点
新的任务到来会放到队列的最后面，等待唤醒
AQS介绍
属性
AQS同步等待队列是一个带头尾节点]]></description><category></category></item><item><title><![CDATA[MySQL数据类型详细对比]]></title><link>https://blog.youkuaiyun.com/happy_blockhead/article/details/108970254</link><guid>https://blog.youkuaiyun.com/happy_blockhead/article/details/108970254</guid><author>happy_blockhead</author><pubDate>Thu, 08 Oct 2020 23:21:23 +0800</pubDate><description><![CDATA[文章总览MySQL常用数据类型整数类型占用空间实验步骤注意事项实数类型占用空间实验步骤：注意事项：字符类型占用空间数据说明注意事项时间类型占用空间数据说明注意事项参考文档：
MySQL常用数据类型

整数类型
实数类型
字符类型
日期类型

整数类型

TINYINT
SMALLINT
MEDIUMINT
INT
BIGINT

占用空间





占用字节
有符号位表示范围
无符号位表示范围




TINYINT
1字节
-128~127
0~255


SMALLINT
2字节
-32768~3276]]></description><category></category></item><item><title><![CDATA[最全Centos7安装MySQL8]]></title><link>https://blog.youkuaiyun.com/happy_blockhead/article/details/108970211</link><guid>https://blog.youkuaiyun.com/happy_blockhead/article/details/108970211</guid><author>happy_blockhead</author><pubDate>Thu, 08 Oct 2020 23:16:48 +0800</pubDate><description><![CDATA[文章总览1、准备工作：删除旧包2、下载安装包官网地址选择系统版本选择**下载软件**3、安装MySQL8解压安装包安装数据库初始数据库启动数据库数据库状态数据库登录新密码修改3、提示：①获取初始密码②重置密码规则③报错情况处理④启动失败⑤重置密码
1、准备工作：
删除旧包
rpm -e $(rpm -qa|grep mysql) --nodeps
rpm -qa|grep mariadb //查看是否自带mariadb
rpm -e packagename  --nodeps //卸载包

2、下载安装包
]]></description><category></category></item><item><title><![CDATA[MySQL binlog日志分析]]></title><link>https://blog.youkuaiyun.com/happy_blockhead/article/details/108970159</link><guid>https://blog.youkuaiyun.com/happy_blockhead/article/details/108970159</guid><author>happy_blockhead</author><pubDate>Thu, 08 Oct 2020 23:10:06 +0800</pubDate><description><![CDATA[总纲通用操作步骤数据初始化基于语句的日志实验步骤优点缺点基于行的日志三种形式实验步骤优点缺点混合日志
总纲

基于语句的日志  statement
基于行的日志  row
混合日志  mixed

通用操作步骤


查看当前日志类型
show variables like 'binlog_format';



设置日志格式为基于语句形式
基于语句
set session binlog_format=statement;

基于行
set session binlog_format=row;



查询当.]]></description><category></category></item></channel></rss>