<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ZLei]]></title><description><![CDATA[有些梦虽遥不可及，但并非不可实现，只要我足够强！]]></description><link>https://blog.youkuaiyun.com/Thunders01</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Thunders01]]></copyright><item><title><![CDATA[【Apache】Https配置]]></title><link>https://blog.youkuaiyun.com/Thunders01/article/details/101351749</link><guid>https://blog.youkuaiyun.com/Thunders01/article/details/101351749</guid><author>Thunders01</author><pubDate>Wed, 25 Sep 2019 11:04:37 +0800</pubDate><description><![CDATA[# 1. 获取HTTPS文件
# 三个文件：
# 1_root_bundle.crt  证书链文件
# 2_www.yours.com_cert.crt 证书文件
# 3_www.yours.com.key 私钥文件

# 2. 安装https
sudo apt-get install mod_ssl openssl

# 3. 打开apache model
Include conf/extra...]]></description><category></category></item><item><title><![CDATA[【数据库】索引]]></title><link>https://blog.youkuaiyun.com/Thunders01/article/details/99687585</link><guid>https://blog.youkuaiyun.com/Thunders01/article/details/99687585</guid><author>Thunders01</author><pubDate>Sat, 17 Aug 2019 00:32:36 +0800</pubDate><description><![CDATA[普通索引： 加速查询

唯一索引： 加速查询 + 列值唯一（null）

主键索引： 加速查询 + 列值唯一（null）

组合索引： 多列值构成索引

全文索引： 对文本内容分词，进行搜索



聚簇索引：叶子结点为数据，而非指针

非聚簇索引： 叶子结点为数据指针，需要多进行一次IO



字符串索引：

全字段索引
	前缀索引： 优化（1. 倒序存储 2. 增加hash）


联合索引...]]></description><category></category></item><item><title><![CDATA[【数据库】EXPLAIN]]></title><link>https://blog.youkuaiyun.com/Thunders01/article/details/99687559</link><guid>https://blog.youkuaiyun.com/Thunders01/article/details/99687559</guid><author>Thunders01</author><pubDate>Sat, 17 Aug 2019 00:31:45 +0800</pubDate><description><![CDATA[https://www.cnblogs.com/gomysql/p/3720123.html



Explain 查看优化器如何执行查询的主要方法， 可以了解MySQL基于开销的优化器



查询结果包含的列有：




id | select_type  | table      | type   | possible_keys | key  | key_len | ref  | row...]]></description><category></category></item><item><title><![CDATA[【数据库】性能优化]]></title><link>https://blog.youkuaiyun.com/Thunders01/article/details/99687566</link><guid>https://blog.youkuaiyun.com/Thunders01/article/details/99687566</guid><author>Thunders01</author><pubDate>Sat, 17 Aug 2019 00:31:26 +0800</pubDate><description><![CDATA[1. 查询缓存优化






// 查询缓存不开启


$r = mysql_query("SELECT username FROM user WHERE signup_date &gt;= CURDATE()");






// 开启查询缓存


$today = date("Y-m-d");


$r = mysql_query("SELECT username FROM user...]]></description><category></category></item><item><title><![CDATA[【数据库】事务]]></title><link>https://blog.youkuaiyun.com/Thunders01/article/details/99687553</link><guid>https://blog.youkuaiyun.com/Thunders01/article/details/99687553</guid><author>Thunders01</author><pubDate>Sat, 17 Aug 2019 00:29:03 +0800</pubDate><description><![CDATA[不隔离问题

更新丢失
	更新丢失：两个事务同时更新，第二个事务回滚会覆盖第一个事务更新的数据，导致更新丢失
		两次更新
	
	脏读：一个事务处理过程里读取了另一个未提交的事务中的数据。
	不可重复读：对于数据库中的某个数据，一个事务范围内多次查询却返回了不同的数据值，这是由于在查询间隔，被另一个事务修改并提交了。
	幻读：非独立执行时发生的一种现象。例如事务T1对一个表中所有的行的某个数据项做...]]></description><category></category></item><item><title><![CDATA[【HTTP请求】、详解]]></title><link>https://blog.youkuaiyun.com/Thunders01/article/details/99617404</link><guid>https://blog.youkuaiyun.com/Thunders01/article/details/99617404</guid><author>Thunders01</author><pubDate>Wed, 14 Aug 2019 22:40:24 +0800</pubDate><description><![CDATA[一、协议介绍

　　HTTP（HyperText Transfer Protocol，超文本传输协议）是一套计算机通过网络进行通信的规则，使HTTP客户端能够从HTTP服务器端请求到信息和服务，目前的版本号是1.1 是无状态协议，无状态是指从客户端发送HTTP请求到服务器，服务器接收到请求之后做出回应，这样链接就关闭了，在服务器端不需要保留客户端的相关信息。

二、协议过程

　　HTTP通讯机制...]]></description><category></category></item><item><title><![CDATA[【索引】索引的介绍与优化]]></title><link>https://blog.youkuaiyun.com/Thunders01/article/details/99669822</link><guid>https://blog.youkuaiyun.com/Thunders01/article/details/99669822</guid><author>Thunders01</author><pubDate>Thu, 18 Apr 2019 12:12:00 +0800</pubDate><description><![CDATA[1. 索引基础

　　索引：存储引擎用于快速找到记录的数据结构

1.1 索引类型

1.1.1 B+ Tree

　　B+ 树： 多路搜索树





　　B+树能加快访问数据速度， 不需要访问全表来查询数据，而是从根节点中进行搜索， 根节点中保存了子节点的指针（并且包含子节点的上限与下限），选择正确的子节点进行查找，既可以找到对应值。



可以使用B-Tree 查询类型：

　　使用如下...]]></description><category></category></item><item><title><![CDATA[【Java】杂项、Equals 和 hashCode]]></title><link>https://blog.youkuaiyun.com/Thunders01/article/details/99669820</link><guid>https://blog.youkuaiyun.com/Thunders01/article/details/99669820</guid><author>Thunders01</author><pubDate>Tue, 02 Apr 2019 10:33:00 +0800</pubDate><description><![CDATA[equals 和 hashCode含义

equal:判断两个对象是否相等，如果相同，返回true 否则返回false

hashcode: 返回一个int数 Object 默认（内部地址转化为一个数字）



两者关系


	如果equals（obj）返回true， 那么 hashCode一定返回一样的值
	
	
	如果equals（obj）返回false， 那么 hashCode 不一定返回...]]></description><category></category></item><item><title><![CDATA[【Java】JVM（六）虚拟机字节码执行引擎]]></title><link>https://blog.youkuaiyun.com/Thunders01/article/details/99669819</link><guid>https://blog.youkuaiyun.com/Thunders01/article/details/99669819</guid><author>Thunders01</author><pubDate>Mon, 06 Aug 2018 16:55:00 +0800</pubDate><description><![CDATA[一、概述

　　执行引擎是虚拟机中最核心的部分之一， 虚拟机自己实现引擎，自己定义指令集和执行引擎的结构体系。



二、栈帧

　　栈帧包含（1）局部变量表、（2）操作数栈、（3）动态链接、（4）方法返回地址、（5）额外的附加信息



　　栈顶的栈帧为当前栈帧，是唯一有效的。



　　2.1 局部变量表

　　用于存放方法参数和方法内部定义的局部变量。单位为槽（Slot），每个槽可以存放...]]></description><category></category></item><item><title><![CDATA[【Java】JVM（五）、虚拟机类加载机制]]></title><link>https://blog.youkuaiyun.com/Thunders01/article/details/99669818</link><guid>https://blog.youkuaiyun.com/Thunders01/article/details/99669818</guid><author>Thunders01</author><pubDate>Fri, 20 Jul 2018 11:23:00 +0800</pubDate><description><![CDATA[一、概念

　　类加载：虚拟机把类的数据从Class文件加载到内存中，并对数据进行校验，转化解析，和初始化，最终形成可以被虚拟机直接使用的Java类型。



二、加载时机

　　



　　1.加载

　　加载阶段虚拟机完成的工作为：

　　1）通过类全限定名来获取定义此类的二进制流。

　　2）将字节流代表的静态存储结构转化为方法区运行时的数据结构。

　　3）在内存中生成代表这个类的ja...]]></description><category></category></item><item><title><![CDATA[【Java】JVM（四）、虚拟机参数配置]]></title><link>https://blog.youkuaiyun.com/Thunders01/article/details/99669817</link><guid>https://blog.youkuaiyun.com/Thunders01/article/details/99669817</guid><author>Thunders01</author><pubDate>Thu, 12 Jul 2018 09:36:00 +0800</pubDate><description><![CDATA[1.-Xms20M

  JVM启动时候的内存大小为20M



2.-Xmx20M

  JVM内存最大值是20M 将其与Xms大小一致可以避免JVM内存自动扩展



3. -Xss128K

  表示可以设置虚拟机栈大小为128K



4. -Xoss128K

  表示设置本地方法栈的大小为128K（HotSpot不区分虚拟机栈和方法栈） 



5. -...]]></description><category></category></item><item><title><![CDATA[【Java】JVM（三）、Java垃圾收集器]]></title><link>https://blog.youkuaiyun.com/Thunders01/article/details/99669816</link><guid>https://blog.youkuaiyun.com/Thunders01/article/details/99669816</guid><author>Thunders01</author><pubDate>Thu, 12 Jul 2018 09:14:00 +0800</pubDate><description><![CDATA[一、Minor GC、Major GC 和 Full GC

　　Minor GC：清理新生代空间，当Eden空间不能分配时候引发Minor GC

　　Major GC：清理老年代空间

　　Full GC：清理Java堆空间



二、新生代垃圾收集器

　　1. Serial 收集器

　　

　　线程：单线程收集器，

　　算法：新生代标记复制，老年代标记整理

　　缺点：在进行垃圾...]]></description><category></category></item><item><title><![CDATA[【Java】JVM（二）、Java垃圾收集算法]]></title><link>https://blog.youkuaiyun.com/Thunders01/article/details/99669815</link><guid>https://blog.youkuaiyun.com/Thunders01/article/details/99669815</guid><author>Thunders01</author><pubDate>Wed, 11 Jul 2018 10:01:00 +0800</pubDate><description><![CDATA[一、标记-清除算法

　　算法主要分为两个步骤

　　1. 标记：

　　遍历所有的 GC Roots, 然后标记所有可达对象为存活对象

　　2. 清除：

　　遍历堆中所有对象，然后将没有标记的对象清除。





　　存在不足：

　　1. 效率低下。

　　2. 产生大量的磁盘空间

二、复制算法

　　原理：将磁盘分为一半一半，每次都是用50%内存，在内存用完了， 将这50%内存中存活的...]]></description><category></category></item><item><title><![CDATA[【Java】JVM（一）、Java内存区域]]></title><link>https://blog.youkuaiyun.com/Thunders01/article/details/99669814</link><guid>https://blog.youkuaiyun.com/Thunders01/article/details/99669814</guid><author>Thunders01</author><pubDate>Tue, 10 Jul 2018 21:55:00 +0800</pubDate><description><![CDATA[一、程序计数器（Program Counter Register）

　　当前执行字节码的行号指示器，可以通过修改该计数器的值来实现字节码指令（分支，循环，跳转等）， 每个线程都都有一个程序计数器， 属于线程的私有变量， 独立存储， 互不影响。

　　ps. 如果当前执行的是Java方法，该计数器记录的事正在执行的指令地址。如果当前执行的事Native方法（本地方法，与平台有关，由于Java无...]]></description><category></category></item><item><title><![CDATA[【Linux】svn环境配置]]></title><link>https://blog.youkuaiyun.com/Thunders01/article/details/99669813</link><guid>https://blog.youkuaiyun.com/Thunders01/article/details/99669813</guid><author>Thunders01</author><pubDate>Mon, 12 Mar 2018 11:42:00 +0800</pubDate><description><![CDATA[Ubuntu 安装svn环境配置

1. 安装


sudo apt-get install subversion

安装过程需要数据【Y】

2. svn位置选择

安装完成之后，选择svn目录位置， 将其放在/home/svn 下


sudo mkdir /home/svn

开始创建版本库：


cd /home/svn
sudo svnadmin create /home/svn (创...]]></description><category></category></item><item><title><![CDATA[【Java】JavaIO（二）、节点流]]></title><link>https://blog.youkuaiyun.com/Thunders01/article/details/99669812</link><guid>https://blog.youkuaiyun.com/Thunders01/article/details/99669812</guid><author>Thunders01</author><pubDate>Fri, 08 Sep 2017 21:28:00 +0800</pubDate><description><![CDATA[一、InputStream &amp; outputStream

　　Java字节流主要是以InputStream （输入流），outputStream（输出流）为基类，本身是抽象类不能创建实例，但是是字节流的基类，所以方法都可以使用，主要的方法有

　　InputStream:


1 int read();读取单个字节
2 int read(byte[] b); 最多读取b.length 字...]]></description><category></category></item><item><title><![CDATA[【Java】JavaIO(一)、基础知识]]></title><link>https://blog.youkuaiyun.com/Thunders01/article/details/99669811</link><guid>https://blog.youkuaiyun.com/Thunders01/article/details/99669811</guid><author>Thunders01</author><pubDate>Fri, 08 Sep 2017 20:24:00 +0800</pubDate><description><![CDATA[一、常用概念介绍

　　Java的IO，实现输入输出的基础，可以方便的实现数据的输入输出

二、流的分类

　　1. 按照流向来分：

　　a). 输入流：向应用程序输

　　b). 输出流：从应用程序中输出

　　输入输出流是站在程序的角度来说的，只要是向程序中输入就是输入流，从程序中输出数据就是输出流。

　　2. 按照流的数据单元来分：

　　a). 字节流：数据的传输单元为一个字节，8位
...]]></description><category></category></item><item><title><![CDATA[【Git】四、Git工作]]></title><link>https://blog.youkuaiyun.com/Thunders01/article/details/99669810</link><guid>https://blog.youkuaiyun.com/Thunders01/article/details/99669810</guid><author>Thunders01</author><pubDate>Fri, 04 Aug 2017 13:18:00 +0800</pubDate><description><![CDATA[一、Git创建仓库

　　版本库：代码仓库（repository），可以理解为一个项目的目录，在这个项目的目录中Git对每个文件进行管理，记录每个文件的增删改查记录，并能够追踪历史，在需要的时候可以回退到某个“历史瞬间”。

　　可以通过 Git init命令来初始化代码仓库，将一个目录初始化为一个Git可以管理的仓库。

　　

　　也可以通过 Git clone &lt;url&gt; 将 ...]]></description><category></category></item><item><title><![CDATA[【Git】三、工作区、暂存区、版本库]]></title><link>https://blog.youkuaiyun.com/Thunders01/article/details/99669809</link><guid>https://blog.youkuaiyun.com/Thunders01/article/details/99669809</guid><author>Thunders01</author><pubDate>Wed, 02 Aug 2017 14:41:00 +0800</pubDate><description><![CDATA[一、基础概念

　　工作区：电脑中可以看到的目录，为电脑中的项目文件

　　暂存区：暂存修改的地方

　　版本库：存放项目的各个版本文件

二、详细介绍

　　

　　工作区为我们工作所使用的目录，在工作区我们对项目文件进行增删改查。

　　



　　版本库在工作区的目录下有一个隐藏文件夹 .git， 这个目录并不算工作区，而是版本库。

　　



　　版本库中有很多东西，其中比较重要的是...]]></description><category></category></item><item><title><![CDATA[【Git】二、安装配置]]></title><link>https://blog.youkuaiyun.com/Thunders01/article/details/99669808</link><guid>https://blog.youkuaiyun.com/Thunders01/article/details/99669808</guid><author>Thunders01</author><pubDate>Wed, 02 Aug 2017 11:54:00 +0800</pubDate><description><![CDATA[一、Git安装

　　Linux


1 $ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
2   libz-dev libssl-dev
3 
4 $ apt-get install git-core

　　Windows

　　安装包传送门：http://msysgit.github.io/

　　MAC

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