<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[幼儿猿]]></title><description><![CDATA[新奇的想法比技术更稀缺，但没有技术支持的好想法都是空中楼阁。]]></description><link>https://blog.youkuaiyun.com/Jeaforea</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Jeaforea]]></copyright><item><title><![CDATA[PHP如何实现一个单例]]></title><link>https://blog.youkuaiyun.com/Jeaforea/article/details/90693609</link><guid>https://blog.youkuaiyun.com/Jeaforea/article/details/90693609</guid><author>Jeaforea</author><pubDate>Thu, 30 May 2019 11:08:35 +0800</pubDate><description><![CDATA[申请一个私有的静态成员变量来保存该类的唯一实例
声明私有的构造方法，防止类外部创建对象
声明一个静态公共方法，供外部获取唯一实例

这三步走完，就是一个单例了，但是这个单例是不安全的，想要这个单例安全，还需以下两步（如有不完善还请补充）

声明私有的克隆方法，防止对象被克隆
重写__sleep方法，将返回置空，防止序列化反序列化获得新的对象

&lt;?php
/**
 * 单列模式（防止对象克...]]></description><category></category></item><item><title><![CDATA[InnoDB的多版本并发控制机制—— MVCC底层实现]]></title><link>https://blog.youkuaiyun.com/Jeaforea/article/details/82498120</link><guid>https://blog.youkuaiyun.com/Jeaforea/article/details/82498120</guid><author>Jeaforea</author><pubDate>Fri, 07 Sep 2018 19:51:12 +0800</pubDate><description><![CDATA[什么是MVCC？

MVCC是Multi-Version Concurrency Control（多版本并发控制）的缩写，MVCC没有统一的实现标准，不同的存储引擎对MVCC的实现方式是不同的，典型的有乐观并发控制和悲观并发控制。InnoDB对MVCC的实现采用的是乐观并发控制。

InnoDB-MVCC如何实现？

在《高性能MySQL》一书中，关于InnoDB-MVCC的实现是这样介绍的：

...]]></description><category></category></item><item><title><![CDATA[InnoDB-MVCC与乐观锁]]></title><link>https://blog.youkuaiyun.com/Jeaforea/article/details/82181449</link><guid>https://blog.youkuaiyun.com/Jeaforea/article/details/82181449</guid><author>Jeaforea</author><pubDate>Wed, 29 Aug 2018 12:31:48 +0800</pubDate><description><![CDATA[最近通过《高性能MySQL》一书学习MySQL方面的知识，在看到书中所讲InnoDB-MVCC部分的时候，有一种强烈的感觉，这不就是乐观锁吗（入门级小学徒的疑惑脸）？当下便去网上以各种方式查找阅读MVCC和乐观锁相关的博客，发现大部分的博客对于这两者之间的关系都只字不提，提了的也是众说纷纭，关于两者关系的细节方面也十分暧昧没有定论。在暂时无法得出最终结论的情况下，我先谈谈在学习这方面知识后我自己对...]]></description><category></category></item><item><title><![CDATA[浅谈哈希表与其映射函数（哈希函数）]]></title><link>https://blog.youkuaiyun.com/Jeaforea/article/details/79653664</link><guid>https://blog.youkuaiyun.com/Jeaforea/article/details/79653664</guid><author>Jeaforea</author><pubDate>Thu, 22 Mar 2018 14:30:42 +0800</pubDate><description><![CDATA[哈希表又称散列表，通过把关键字key映射到数组中的一个位置来访问记录。映射过程通过函数实现，而这个函数就叫哈希函数，存放关键字的数组称为散列表。



哈希表结构



前面说了，关键字是存放在数组中的，所以哈希表的结构其实就是一个数组，为什么要采用数组来作为哈希表的数据结构呢？这里我不得不说数组的一些特性。 
数组的时间复杂度是O(1)，这里说的时间复杂度是访问复杂度，不是遍历复杂度。计算机内存...]]></description><category></category></item><item><title><![CDATA[网易游戏-平台开发工程师-一面（电话面试）]]></title><link>https://blog.youkuaiyun.com/Jeaforea/article/details/77715635</link><guid>https://blog.youkuaiyun.com/Jeaforea/article/details/77715635</guid><author>Jeaforea</author><pubDate>Wed, 30 Aug 2017 14:38:22 +0800</pubDate><description><![CDATA[面试公司：网易游戏 
面试进度：一面  
面试方向：平台开发工程师 
面试地点：家 
面试类型：电话面试  
面试时间：2017年8月30号  
面试时长：30分钟（左右）自我介绍； 
最近做的项目（实验室线上面试系统）； 
MVC; 
该项目中M层怎么实现的； 
怎样防止sql注入； 
跨域（不清楚）； 
InnoDB四个孤立级； 
项目中登陆模块怎样实现； 
session和cookies;]]></description><category></category></item><item><title><![CDATA[算法之度度熊回家]]></title><link>https://blog.youkuaiyun.com/Jeaforea/article/details/76152801</link><guid>https://blog.youkuaiyun.com/Jeaforea/article/details/76152801</guid><author>Jeaforea</author><pubDate>Wed, 26 Jul 2017 16:51:27 +0800</pubDate><description><![CDATA[原题一个数轴上共有N个点，第一个点的坐标是度度熊现在位置，第N-1个点是度度熊的家。现在他需要依次的从0号坐标走到N-1号坐标。但是除了0号坐标和N-1号坐标，他可以在其余的N-2个坐标中选出一个点，并直接将这个点忽略掉，问度度熊回家至少走多少 
距离？输入描述：输入一个正整数N, N <= 50。 
接下来N个整数表示坐标，正数表示X轴的正方向，负数表示X轴的负方向。绝对值小于等于100输出描述：]]></description><category></category></item><item><title><![CDATA[算法之买帽子（求第三便宜的帽子价格）]]></title><link>https://blog.youkuaiyun.com/Jeaforea/article/details/76152610</link><guid>https://blog.youkuaiyun.com/Jeaforea/article/details/76152610</guid><author>Jeaforea</author><pubDate>Wed, 26 Jul 2017 16:36:55 +0800</pubDate><description><![CDATA[原题度度熊想去商场买一顶帽子，商场里有N顶帽子，有些帽子的价格可能相同。 
度度熊想买一顶价格第三便宜的帽子，问第三便宜的帽子价格是多少？输入描述：首先输入一个正整数N（N <= 50），接下来输入N个数表示每顶帽子的价格（价格均是正整数，且小于等于1000）输出描述：如果存在第三便宜的帽子，请输出这个价格是多少，否则输出-1测试用例：10 
10 10 10 10 20 20 30 30 40 4]]></description><category></category></item><item><title><![CDATA[MySQL数据库判断字段是否为NULL的误区]]></title><link>https://blog.youkuaiyun.com/Jeaforea/article/details/72625804</link><guid>https://blog.youkuaiyun.com/Jeaforea/article/details/72625804</guid><author>Jeaforea</author><pubDate>Mon, 22 May 2017 13:56:37 +0800</pubDate><description><![CDATA[在写sql语句时，很多时候会要求查询某个字段为/不为NULL的元组，大家的第一反应是这样：select*from tablename where user=NULL;其实在sql中，这样写是不正确的，这是很多人在最初写sql都会犯的一个错误，正确的写法如下：select*from tablename where isNULL(user);相反的，要获取某个字段不为NULL的元组应如下：select*]]></description><category></category></item><item><title><![CDATA[去哪儿网-后台开发-一面]]></title><link>https://blog.youkuaiyun.com/Jeaforea/article/details/70184901</link><guid>https://blog.youkuaiyun.com/Jeaforea/article/details/70184901</guid><author>Jeaforea</author><pubDate>Sat, 15 Apr 2017 15:46:47 +0800</pubDate><description><![CDATA[面试公司：去哪儿网 
面试进度：一面 
面试方向：后台开发 
面试地点：西安站 
面试类型：现场面试 
面试时间：2017年4月14号 
面试时长：45分钟（左右）面试官是一个男的，30岁出头，很和蔼，不会给人很大的压力。 
面试开始时先做了一个简单的自我介绍，面试官听我是学PHP的，然后就问你是搞前端的还是搞后台的，这时候我心里就有点慌了，为啥呢，这面试官大概率不会PHP，他是个Java面试官，这]]></description><category></category></item><item><title><![CDATA[八大排序——快速排序]]></title><link>https://blog.youkuaiyun.com/Jeaforea/article/details/64182153</link><guid>https://blog.youkuaiyun.com/Jeaforea/article/details/64182153</guid><author>Jeaforea</author><pubDate>Mon, 20 Mar 2017 22:27:44 +0800</pubDate><description><![CDATA[作为一个学后台的同学，如果你不会希尔排序，我可以认为你学的不够，但如果你不会快速排序，那么我就要偷偷笑你了。快速排序算法最早由图灵奖的获得者Tony Hoare设计出来，更牛逼的是，这个算法被列为了20世纪十大算法之一。对，没错，是十大算法，不是十大排序算法，这足以看出这个排序算法在学界中大牛心目中的地位，我们这些程序猿还有什么理由不去学习它？不说玩笑话，下面让我们真正的体会一下快速排序。快速排序算]]></description><category></category></item><item><title><![CDATA[八大排序——直接插入排序]]></title><link>https://blog.youkuaiyun.com/Jeaforea/article/details/63748399</link><guid>https://blog.youkuaiyun.com/Jeaforea/article/details/63748399</guid><author>Jeaforea</author><pubDate>Sun, 19 Mar 2017 22:33:03 +0800</pubDate><description><![CDATA[直接插入排序（Straight Insertion Sort）的基本操作是将一个元素插入到序列已经有序的那一部分中去，从而使序列中有序的部分逐渐扩大，直到整个序列有序。博主认为直接插入排序过程比较容易理解，所以不作过多赘述，直接上代码#include<stdio.h>void main()
{
    int a[6]={5,6,8,4,6,9};
    int length=sizeof(a)/]]></description><category></category></item><item><title><![CDATA[八大排序——希尔排序]]></title><link>https://blog.youkuaiyun.com/Jeaforea/article/details/62456871</link><guid>https://blog.youkuaiyun.com/Jeaforea/article/details/62456871</guid><author>Jeaforea</author><pubDate>Thu, 16 Mar 2017 22:29:18 +0800</pubDate><description><![CDATA[希尔排序（Shell Sort），是插入排序的一种。是直接插入排序的改进版，它是非稳定排序算法。其得名于它的提出者D.L.Shell，Shell Sort等算法的提出打破了“排序算法不可能突破O(n^2)”的魔咒，它将排序算法的时间复杂度提成到了O(nlongn)，不可能超越的O(n^2)彻底成为了历史。 
既然希尔排序是直接插入排序的改进版，那么它肯定是在直接插入排序的优势上做文章。了解直接插入排]]></description><category></category></item><item><title><![CDATA[八大排序算法——冒泡排序]]></title><link>https://blog.youkuaiyun.com/Jeaforea/article/details/62042731</link><guid>https://blog.youkuaiyun.com/Jeaforea/article/details/62042731</guid><author>Jeaforea</author><pubDate>Tue, 14 Mar 2017 14:33:06 +0800</pubDate><description><![CDATA[冒泡排序冒泡排序，顾名思义，它是将关键字按照你想要的序列一个一个“冒”出来，它的基本思想是：两两比较相邻记录的关键字，如果反序则交换，直到没有反序的记录为止。 
假设我们待排序的数组是a[6]={8,9,1,3,5,7}，所要求的序列是升序，那么如下图，算法的第一次冒泡是先将最大关键字9“冒”到末置位。其过程：先将8和9比较，8<9不交换；再将9和1比较，9>1交换；然后将9和3比较，9>3交换，以]]></description><category></category></item><item><title><![CDATA[八大排序算法——堆排序]]></title><link>https://blog.youkuaiyun.com/Jeaforea/article/details/61918682</link><guid>https://blog.youkuaiyun.com/Jeaforea/article/details/61918682</guid><author>Jeaforea</author><pubDate>Mon, 13 Mar 2017 15:28:27 +0800</pubDate><description><![CDATA[八大排序排序，分为内部排序和外部排序，内部排序是指将数据记录在内存中进行排序，而外部排序因排序的数据很大，一次不能容纳全部的排序记录，在排序过程中需要访问外存，所以称之为外部排序，我们这里讲的八大排序全部属于内部排序。八大排序时间/空间复杂度及稳定性堆排序堆排序(Heapsort)是指利用堆积树（堆）这种数据结构所设计的一种排序算法，它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分]]></description><category></category></item><item><title><![CDATA[稠密索引与稀疏索引]]></title><link>https://blog.youkuaiyun.com/Jeaforea/article/details/61420445</link><guid>https://blog.youkuaiyun.com/Jeaforea/article/details/61420445</guid><author>Jeaforea</author><pubDate>Sat, 11 Mar 2017 16:39:06 +0800</pubDate><description><![CDATA[在了解稠密索引和稀疏索引之前我们先来了解一下什么是聚焦索引。在一个文件中，可以有多个索引，分别基于不同的搜索码。如果包含数据记录的文件按照某个指定的顺序排列，那么该搜索码对应的索引就是聚焦索引。稠密索引
在稠密索引中，文件中的每个搜索码值都对应一个索引值。也就是说，稠密索引为数据记录文件的每一条记录都设一个键-指针对。如下图所示，索引项包括索引值以及指向该搜索码的第一条数据记录的指针，即我们所说的键]]></description><category></category></item><item><title><![CDATA[ACID——MYSQL事务的四个特性]]></title><link>https://blog.youkuaiyun.com/Jeaforea/article/details/60882884</link><guid>https://blog.youkuaiyun.com/Jeaforea/article/details/60882884</guid><author>Jeaforea</author><pubDate>Wed, 08 Mar 2017 21:30:53 +0800</pubDate><description><![CDATA[ACID指出每个事务型RDBMS必须遵守四个属性，即原子性、一致性、孤立性、持久性。原子性
原子性意味着事务的整体性和不可分割性，这就类似化学中的原子，是一个不可分割的单元。一个事务可以是一个（任务）操作，也可以是多个（任务）操作，假设一个事务由多个操作（任务）组成，那么这些操作必须都执行成功这个事务才被认为执行成功，只要其中有一个任务执行失败那么整个事务都会被认为执行失败，导致自动回滚到初始状态，]]></description><category></category></item><item><title><![CDATA[KMP算法详解]]></title><link>https://blog.youkuaiyun.com/Jeaforea/article/details/60765617</link><guid>https://blog.youkuaiyun.com/Jeaforea/article/details/60765617</guid><author>Jeaforea</author><pubDate>Tue, 07 Mar 2017 15:26:51 +0800</pubDate><description><![CDATA[作者： July  、 saturnma     时间； 二零一一年一月一日

-----------------------

本文参考：数据结构（C语言版）
 李云清等编著、算法导论
作者声明：个人July 对此24个经典算法系列，享有版权，转载请注明出处。

引言：
在文本编辑中，我们经常要在一段文本中某个特定的位置找出 某个特定的字符或模式。
由此，便产生了字符串的匹配]]></description><category></category></item><item><title><![CDATA[简述linux启动过程]]></title><link>https://blog.youkuaiyun.com/Jeaforea/article/details/60764179</link><guid>https://blog.youkuaiyun.com/Jeaforea/article/details/60764179</guid><author>Jeaforea</author><pubDate>Tue, 07 Mar 2017 14:40:32 +0800</pubDate><description><![CDATA[LINUX操作系统启动过程简单描述：
第一阶段（BIOS启动引导阶段） 
实现硬件的初始化以及查找启动介质
从MBR中装载启动引导管理器（GRUB）并运行该启动引导管理]]></description><category></category></item><item><title><![CDATA[怎样在radio类型的input标签中动态的加checked]]></title><link>https://blog.youkuaiyun.com/Jeaforea/article/details/59116425</link><guid>https://blog.youkuaiyun.com/Jeaforea/article/details/59116425</guid><author>Jeaforea</author><pubDate>Wed, 01 Mar 2017 18:31:31 +0800</pubDate><description><![CDATA[怎样在radio类型的input标签中动态的加checked
要想在radio类型的input标签中动态的加checked我理解的是肯定需要判断，但是判断怎么加呢？]]></description><category></category></item><item><title><![CDATA[ThinkPHP3的CURD简述]]></title><link>https://blog.youkuaiyun.com/Jeaforea/article/details/58268016</link><guid>https://blog.youkuaiyun.com/Jeaforea/article/details/58268016</guid><author>Jeaforea</author><pubDate>Mon, 27 Feb 2017 21:33:11 +0800</pubDate><description><![CDATA[ThinkPHP3的CURD操作方法简介]]></description><category></category></item></channel></rss>