<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Mario_Hu的博客]]></title><description><![CDATA[学习笔记]]></description><link>https://blog.youkuaiyun.com/Mario_Hu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Mario_Hu]]></copyright><item><title><![CDATA[InnoDB存储引擎 第2章笔记]]></title><link>https://blog.youkuaiyun.com/Mario_Hu/article/details/117430914</link><guid>https://blog.youkuaiyun.com/Mario_Hu/article/details/117430914</guid><author>Mario_Hu</author><pubDate>Sat, 05 Jun 2021 17:18:56 +0800</pubDate><description><![CDATA[1.InnoDB存储引擎是多线程的模型
Master Thread
老大哥核心线程。主要负责将缓冲池中的数据异步刷新到磁盘，保证数据的一致性，包括脏页刷新、合并插入缓冲、UNDO页的回收等
IO Thread
负责IO请求的回调

Purge Thread
1.1后单独线程处理回收（之前是在master thread处理）已经使用并分配的undo页（事务被提交后，其所使用的undolog可能不再需要）
Page Cleaner Thread
1.2.x后，单独线程处理脏页的刷新操作
2.内存
缓冲池
由于c]]></description><category></category></item><item><title><![CDATA[Java多线程]]></title><link>https://blog.youkuaiyun.com/Mario_Hu/article/details/88181925</link><guid>https://blog.youkuaiyun.com/Mario_Hu/article/details/88181925</guid><author>Mario_Hu</author><pubDate>Thu, 21 Mar 2019 16:53:57 +0800</pubDate><description><![CDATA[1、多个生产者与多个消费者时出现“假死”问题
由于有多个消费者的存在，如果释放锁是使用notify()，即随机释放一个对象锁，有可能释放的是一个同类的锁。
场景：

生产者1线程生产了一条消息，释放一个锁
生产者1线程再次获得锁马上进入发现已经有数据，进入等待状态
生产者2线程进入发现已经有数据了，进入等待状态
消费者2线程运行消费了一条消息，释放一个锁
消费者2线程再次获得锁，发现没数据，进入等...]]></description><category></category></item><item><title><![CDATA[数据库调优随笔]]></title><link>https://blog.youkuaiyun.com/Mario_Hu/article/details/88645341</link><guid>https://blog.youkuaiyun.com/Mario_Hu/article/details/88645341</guid><author>Mario_Hu</author><pubDate>Wed, 20 Mar 2019 16:15:13 +0800</pubDate><description><![CDATA[1、数据库的索引可大大提升查询速度，目前主要使用MyIASM引擎，当查询大量数据并且有联合查询或其它的约束条件时，查询的时间将会非常长。假设数据库中一个表有106条记录，DBMS的页面大小为4K，并存储100条记录。如果没有索引，查询将对整个表进行扫描，最坏的情况下，如果所有数据页都不在内存，需要读取104个页面，如果这104个页面在磁盘上随机分布，需要进行104次I/O，假设磁盘每次I/O时间为...]]></description><category></category></item><item><title><![CDATA[使用docker搭建javaweb环境，配置nginx动静分离]]></title><link>https://blog.youkuaiyun.com/Mario_Hu/article/details/79820894</link><guid>https://blog.youkuaiyun.com/Mario_Hu/article/details/79820894</guid><author>Mario_Hu</author><pubDate>Thu, 12 Apr 2018 15:44:29 +0800</pubDate><description><![CDATA[宿主机系统：CentOS Linux release 7.4.1708 (Core)  
内核版本：3.10.0-693.5.2.el7.x86_64

docker部分 
 1. yum方式下载docker包


  yum install docker -y


2.查看是否安装成功


  docker -v


3.启动docker服务


  sudo service docker st...]]></description><category></category></item><item><title><![CDATA[springmvc+mybatis配置多数据源]]></title><link>https://blog.youkuaiyun.com/Mario_Hu/article/details/79789994</link><guid>https://blog.youkuaiyun.com/Mario_Hu/article/details/79789994</guid><author>Mario_Hu</author><pubDate>Tue, 03 Apr 2018 13:04:31 +0800</pubDate><description><![CDATA[要使用SpringMVC配置多个数据源，最主要的类是MultipleDataSource 
首先在spring.xml中增加一个dataSource的bean



&amp;lt;bean id=&quot;dataSource&quot; class=&quot;com.alibaba.druid.pool.DruidDataSource&quot; init-method=&quot;init&quot; destroy-method=&quot;close&quot;
   ...]]></description><category></category></item><item><title><![CDATA[使用Springmvc获取图片文件并保存在硬盘上]]></title><link>https://blog.youkuaiyun.com/Mario_Hu/article/details/58587281</link><guid>https://blog.youkuaiyun.com/Mario_Hu/article/details/58587281</guid><author>Mario_Hu</author><pubDate>Tue, 28 Feb 2017 10:38:14 +0800</pubDate><description><![CDATA[1、(Maven)在pom.xml上添加两个依赖包    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.3.2</version>
    </dependency>    <dependency>]]></description><category></category></item><item><title><![CDATA[在 CentOS7 上安装 Tomcat9]]></title><link>https://blog.youkuaiyun.com/Mario_Hu/article/details/56844111</link><guid>https://blog.youkuaiyun.com/Mario_Hu/article/details/56844111</guid><author>Mario_Hu</author><pubDate>Fri, 24 Feb 2017 16:27:15 +0800</pubDate><description><![CDATA[1、下载 apache-tomcat-9.0.0.M17.tar.gz 文件： 
 wget http://apache.fayea.com/tomcat/tomcat-9/v9.0.0.M17/bin/apache-tomcat-9.0.0.M17.tar.gz2、解压缩 apache-tomcat-9.0.0.M17.tar.gz： 
 tar -zxvf apache-tomcat-9.0.0]]></description><category></category></item><item><title><![CDATA[《剑指offer》根据先序序列与中序序列重建二叉树-Java]]></title><link>https://blog.youkuaiyun.com/Mario_Hu/article/details/54864650</link><guid>https://blog.youkuaiyun.com/Mario_Hu/article/details/54864650</guid><author>Mario_Hu</author><pubDate>Sat, 04 Feb 2017 17:41:25 +0800</pubDate><description><![CDATA[在刷面试算法题，见到有大神的代码灰常简洁，灰常牛B，拿过来膜拜一下public class Solution {
    public TreeNode reConstructBinaryTree(int [] pre,int [] in) {
        TreeNode root=reConstructBinaryTree(pre,0,pre.length-1,in,0,in.length-]]></description><category></category></item><item><title><![CDATA[Swift使用Main.storyboard的segue值来回传数据]]></title><link>https://blog.youkuaiyun.com/Mario_Hu/article/details/54026712</link><guid>https://blog.youkuaiyun.com/Mario_Hu/article/details/54026712</guid><author>Mario_Hu</author><pubDate>Wed, 04 Jan 2017 23:51:03 +0800</pubDate><description><![CDATA[在正文之前我不得吐槽一下，学新语言真是太坑太坑了，如果是纯新手或者仅仅觉得这个行业工资高而转战的千万不要选新的语言！！我其实主要是想学JAVA做服务端的，然后选了个ios作为我的客户端来展示，然后直接从swift学起，这个语言不但新，而且还跟电子产品一样不断更新，虽然在经过几次的更新后语言越来越简洁了，但是对于新学习的童鞋来说不是一件好事，因为有用的教程实在太少了……比如我即将写的东西就是我踩的一个]]></description><category></category></item><item><title><![CDATA[Java-Servlet服务端初试]]></title><link>https://blog.youkuaiyun.com/Mario_Hu/article/details/53928734</link><guid>https://blog.youkuaiyun.com/Mario_Hu/article/details/53928734</guid><author>Mario_Hu</author><pubDate>Thu, 29 Dec 2016 15:41:21 +0800</pubDate><description><![CDATA[近来要做自己的毕业设计，顺便抛弃了之前使用的Golang语言，而使用java来写后台数据的交互，由于是新进坑，所以没有直接从各大框架开始做，而选择了servlet，并且还直接抛弃了Eclipse，转而使用Intellij IDEA。 
因为客户端使用的是ios，ios基本的json请求之前都已经写好了，所以主要记录一下mac环境下服务端从零开发的步骤。正文开始，第一步肯定是先下载Intellij I]]></description><category></category></item><item><title><![CDATA[JAVA实现八大内排序算法]]></title><link>https://blog.youkuaiyun.com/Mario_Hu/article/details/53818290</link><guid>https://blog.youkuaiyun.com/Mario_Hu/article/details/53818290</guid><author>Mario_Hu</author><pubDate>Thu, 22 Dec 2016 18:26:46 +0800</pubDate><description><![CDATA[最近学习了以下数据结构中的内排序，简单的整合了以下所有的算法代码，几乎每一行的代码都进行了注释，方便日后复习package demo;import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;public class A{    /*
    直接插入排序
     */
    private static]]></description><category></category></item><item><title><![CDATA[计算机网络-TCP报文段格式]]></title><link>https://blog.youkuaiyun.com/Mario_Hu/article/details/53582787</link><guid>https://blog.youkuaiyun.com/Mario_Hu/article/details/53582787</guid><author>Mario_Hu</author><pubDate>Mon, 12 Dec 2016 14:58:38 +0800</pubDate><description><![CDATA[TCP面向字节流，为网络提供可靠的连接，是以报文段为数据单位的。源端口：占16位字，记录发送方的端口值；目的端口：占16位字，记录接收方的端口值；序号：占32位字，序号使用 mod 2^32 运算，在一个TCP连接中传送的字节流中的每一个字节都按顺序编号。每一个报文段首部的序号都表示该报文段的第一个字节的序号；确认号：占32位字，是接收方告诉发送方它所期望下一个报文段应该传来的第一个字节的序号。确认]]></description><category></category></item><item><title><![CDATA[二进制转换成十六进制进行反码加法运算]]></title><link>https://blog.youkuaiyun.com/Mario_Hu/article/details/53579770</link><guid>https://blog.youkuaiyun.com/Mario_Hu/article/details/53579770</guid><author>Mario_Hu</author><pubDate>Mon, 12 Dec 2016 10:00:31 +0800</pubDate><description><![CDATA[在网上搜到的一个方法，对于IP与TCP的检验和运算，时常会遇到十多个十六位二进制数的反码运算，可以把它转换成十六进制进行相加，这样会大幅度的减少运算量。
打比方现在有三个十六位的二进制数：

二进制数


11101001
01101010


0101111101000011


1011001111110100




然后把每一个数转换成十六进制的数：
]]></description><category></category></item><item><title><![CDATA[计算机网络-IP数据报格式]]></title><link>https://blog.youkuaiyun.com/Mario_Hu/article/details/53575033</link><guid>https://blog.youkuaiyun.com/Mario_Hu/article/details/53575033</guid><author>Mario_Hu</author><pubDate>Sun, 11 Dec 2016 20:07:26 +0800</pubDate><description><![CDATA[经典格局图
版本：占4位字，现今主流的两种版本为IPv4与IPv6；
首部长度：占4位字，记录IP数据报文首部的大小，在数据报首部中一个32字等于4字节，通常IP数据报的首部并不需要增加额外的参数，所以此处一般为4*5=20字节；
DSCP/ECN：占8位字，区别服务的等级，等级决定服务的质量，也就是路由器对于该数据报转发的优先度。网络被划分为许多的DS域，每一个域在同一个管理实体的控制下实]]></description><category></category></item></channel></rss>