自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

烟花射手座

要么庸俗,要么孤独

  • 博客(22)
  • 收藏
  • 关注

原创 B+树原理及其在MySQL的InnoDB引擎中的使用

InnoDB是MySQL在5.5.5之后的主流引擎,而InnoDB的索引,是使用B+树作为基础算法构建起来的有关于InnoDB的数据库索引原理,可以参看我的这篇博客https://blog.csdn.net/weixin_39633215/article/details/103779117这里主要讲一讲InnoDB的所做数据索引的核心算法,B+树一、问题的提出回归到数据库索引的...

2019-12-31 17:29:49 218

原创 MySQL之InnoDB数据库索引解析

最近的工作中有接触到MySQL的数据库索引相关内容,发现自己对这方面的知识有所欠缺,所以学习了一下这方面的知识,在这里进行一下简单的总结,文章中会援引其他博文的文字或者图片,会在文章最后标明出来,这篇文章是我自己对数据库索引的总结,主要还是供我自己复习和记录所用,如果我的某些表达能够帮到一些刚刚接触数据库索引的学习者,那就再好不过了。一、为什么要有数据库索引?还是按照我分析问题的老思路出发...

2019-12-31 15:51:53 322

原创 mysql缓存机制——写缓存篇

前一篇的博客对innodb的读缓存做了解读。 那么innodb是否只有对读取做了优化呢? 对于我所从事的网络游戏业务而言,的确是一个读多写少的场景,但是并不意味着所有场景都是如此。 首先的一点,数据库需要保证安全性,所以每一次写入数据库的时候,都会产生redo log,用来在数据库崩溃的时候进行回滚,同时,如果开启了binlog,那么数据库也会在每一条sql语句执行...

2019-11-24 23:35:57 650

原创 mysql缓存机制——读缓存篇

最近进行了一系列mysql相关的研究,了解了一遍mysql的缓存机制,在这里集中总结一下。 本文是基于mysql-innoDB的缓存机制解析 缓存机制是一种常用的机制,在操作系统中,因为不同存储介质的读写效率天差地别,所以采取缓存机制来加快系统的读写效率,将一些常用的数据放在读写效率较高的缓存里,避免每次读写都直接对磁盘进行操作 作为专门存储数据的MySql系统,也...

2019-11-24 15:59:34 529

原创 utf-8与gbk的探析

      最近在工作中遇到了一些有关与字符编码的问题,部分代码中的中文注释在换编辑器之后出现了乱码,一直想了解一下有关与字符编码的基础知识,最近阅读《python核心编程》的时候读到了Unicode编码的内容,有感而发,了解了一波相关的内容,整理了一下有关于字符编码的基础知识      讲述utf-8和gbk之前,首先需要讲述的就是unicode,unicode又称统一码,属于一种计算机科学...

2018-08-03 09:03:47 193

原创 python内建函数探析

    一个偶然的机会,在阅读代码的时候发现了__del__的使用,在网上查了一遍之后,发现有很多有关与python内建的内容我一点都不清楚,现在在这里建立一篇博客,用来集合我对内建模块的理解,随着我的阅读逐渐更新吧object    新式类的基类,用于被继承的基类,提供了一个类所需要的大部分基础接口object的基础方法可以通过help(type(object))来获取介绍内建接口:__init...

2018-06-10 14:19:49 306

原创 项目组中工作的一些心得

    这篇博客我想谈一谈有关于项目组内的事情。    从我刚刚进入项目组开始说起,当时的我,算是有些心高气傲,刚刚接触项目代码之后,发现这部分代码有很多设计得不好的地方,这里也不好,那里也不好,于是就提出来了很多的建议,对于这些建议,组长给出了一部分的解释,但是更多的却是没有给出解释,我尝试着周日加班将这部分代码整理了一通,给项目组的老成员看,他们推说没有时间,有空了看,最后不了了之。    接...

2018-05-19 00:27:41 1602

原创 python垃圾回收机制

    python和Java,C,C++,Pascal对变量的管理有所不同    在其他几种语言中,变量需要先声明变量,然后才能对变量进行操作,而python不需要声明,直接可以赋值,作为一种解释型语言,python的变量是在赋值的时候创建的,创建的那个变量实际上只是真实内容的一个引用(可以理解为地址标记,通过这个地址和相关信息能够找到这个变量的具体内容)解释器会根据对这个变量赋值的内容,并为这...

2018-05-11 14:28:04 151

原创 关于python优缺点的思考

    由于工作原因,目前我接触最多的,理解最深的语言是python,虽然接触的时间没有C,Pascal来得长,但是由于工作的需要,对这个语言进行了一些探索,现在想谈谈我有关与python的看法,当然,我接触过的语言并不多,而且都没有怎么深入地接触,所以部分见解可能会有一定的偏差,还望读者纠正或补充。    python的优点主要集中在以下几个方面,这也是这些年python逐渐从茫茫多的语言市场中...

2018-05-10 17:49:20 2594

原创 设计模式真解——设计原则篇

    本篇旨在将设计模式中涉及的几个常用的设计原则进行一并的讲解,其中包含依赖倒置原则、开放-封闭原则、好莱坞原则、最少知识原则(迪米特法则)、单一职责原则其他的后续补充依赖倒置原则    即高层组件不应该依赖于底层组件,两者都要依赖抽象,不要依赖具体类    抽象不应该依赖细节,细节应该依赖抽象,针对接口编程,不要针对实现编程    比如工厂方法就遵循了这个原则,一般工厂方法的工厂都会继承自一...

2018-05-07 20:58:07 109

原创 设计模式真解——代理模式篇

代理模式    典型应用:世界服架构下,服务端的代理服设置(代理服的作用:将来自客户端的协议按照一定的分类发送到对应的服务器,同时服务端内部的跨服请求也都是先发送到代理服中转,由代理服转发到对应服,协议回调同理)    模式描述:为其他对象提供一个代理,以控制其他对象对它的访问,即对访问的控制    现实案例:从前有一个钱庄,将钱全部堆在一个屋子里,有人来取钱就让他进去拿,存钱就直接扔斤屋子里,结...

2018-05-05 18:00:17 113

原创 设计模式真解——序章

    之所以写这样一篇分类的设计模式总结,主要是基于我在参与项目开发的这段时间来,遭遇到的各种不愉快的开发经历,结合《大话设计模式》与《Head First 设计模式》这两本书中的所得而写的。    设计模式并不是僵硬的套路,不是某种固有的算法,而是一种解耦的手段,无论在何时何地使用设计模式,它永远都是服务于敏捷开发而用的,核心就是“高内聚,低耦合”,如果仅仅学会了设计模式的形,没有理解其深层次...

2018-05-01 16:39:25 141

原创 设计模式真解——命令模式篇

命令模式    典型应用:C/S协议交互(以数据包作为命令对象)    模式描述:将“请求”封装成对象,实现请求者与执行者之间的解耦,请求者不需要知道事情是怎么完成的,只需要向“命令对象”注入命令,然后由“请求对象”去通知执行者执行命令,同时“命令对象”也很方便保存与回档    现实案例:去餐厅吃饭,顾客直接和厨师说话,让厨师做菜,厨师忙着做菜,只是将顾客的需求记下,顾客一多,厨师就容易出现遗漏,...

2018-04-28 20:18:04 105

原创 设计模式真解——单例模式篇

单例模式    典型应用:服务端诸多模块的管理器,公共代码的诸多管理器,客户端的诸多Model和Ctrl    模式描述:保证一个类只有一个实例,封装访问它的接口,让其他模块只能通过这个接口来访问这个类    现实案例:有一个部队,需要接收上级命令,上级甲下发命令时把命令告诉了部队中的A,而另一个上级乙将命令告诉了B,A和B同时向全队传达命令,容易发生错乱    于是就需要选择一个队长,上级下达命...

2018-04-28 20:17:33 112

原创 设计模式真解——组合模式篇

组合模式模式描述:将个体与个体用树形结构搭建起来,能让客户以一致的方法处理个体与组合现实案例:一个超大的学校,有一个学生会,对于校学生会而言,包含组织部,文娱部,学习部,宣传部,体育部,科技部等,而校学生会下面还有每个学院的院学生会,院学生会也包含组织部,文娱部,学习部,宣传部,体育部,科技部等,院下面还有各个系,系学生会也包含组织部,文娱部,学习部,宣传部,体育部,科技部等,系下面还有专业,专业...

2018-04-28 20:16:57 115

原创 设计模式真解——外观模式篇

外观模式 将复杂的子系统封装起来,对外提供一个统一的接口,让这个系统更容易使用,同时子系统的功能依然保留着,可供外部调用 手机有很多设置,适应于各种情况下使用手机,各种声音的音量,各种亮度,唤醒方式,快捷点击机制,电量调控机制……,这些设置非常复杂,如果每换一个环境就需要切换这么多设置,就会很麻烦于是手机就推出了各种模式,会议模式,开车模式,省电模式,睡眠模式,户外模式,换一个环境之后,直接切换模...

2018-04-28 20:16:09 83

原创 设计模式真解——装饰者模式篇

装饰(者)模式典型应用:服务端存盘机制,Save(),Load()模式描述:替代继承,用一个类去装饰另一个类,动态地给被装饰的类添加新的职责,形成一个装饰链现实案例:一个手抓饼,决定它价格的因素有很多,比如加个鸡蛋,加个里脊,加个蔬菜,加个牛排,加个肉松,价格都是不同的,而不是每一个手抓饼都有鸡蛋,里脊,蔬菜,牛排,肉松的,有些可能还要加双份鸡蛋,对于原味手抓饼而言,它并不需要任何与调料有关的逻辑...

2018-04-28 20:14:48 87

原创 设计模式真解——观察者模式篇

观察者模式典型应用:客户端的MVC架构中M和V的关系,服务端数据更新存盘机制,游戏中任务,成就,预警的事件监听,都适合用观察者模式模式描述:观察者模式主要用于处理”一“对”多“的关系,当“1”发生变化的时候,“多”需要分别发生变化,而且这个“多”的内容会进行动态增减,于是”多“就去”1“处订阅,当”1“发现自己变化了,就会遍历所有订阅他的“多”,并且对这些“多”一一告知(通过“多”订阅时候留下的对...

2018-04-28 20:11:52 99

原创 设计模式真解——模板方法模式篇

模板方法模式典型应用:系统函数sort(将排序过程封装好,留一些可以自定义的参数,排序的过程被封装了起来(一般语言中用快排实现))模式描述:将某一系列的算法流程封装起来,在基类中做好共用的部分,将一部分步骤延迟到子类中实现,将那些需要子类根据具体需求实现的步骤写成抽象方法,然后让具体继承它的子类去实现这些抽象方法    钩子函数:用来处理一些可选的操作。对于可有可无的操作,基类中不应该创建抽象方法...

2018-04-28 20:11:12 101

原创 设计模式真解——状态模式篇

状态模式典型应用:游戏服务端玩家状态(在线,离线,卸载中,加载中,无状态)模式描述:让对象在内部状态改变的时候改变其行为,对外而言,状态改变时就像是修改了类一样将一个状态类组合进拥有状态的类里,随着外在条件的改变而切换这个状态类成为另一个状态类,从而给外界表现为“仿佛是换了一个类一样”,实际上只是组合的状态类不同而已现实案例:假设一个人有五个人格,游戏狂,运动狂,工作狂,睡觉狂,这五个人格就是五种...

2018-04-28 20:09:06 101

原创 设计模式真解——策略模式篇

策略模式模式描述:将一个系统的算法封装起来,作为一个独立的可替换的块,不同的对象采用不同的算法块,避免继承的缺点,不必在每个子类一一重载,减少重复代码,增加易维护性,其中算法块完全不依赖于系统,独立存在现实案例:有些类似于游戏机和游戏卡带,量产游戏机,然后将游戏一个个写进去固然是一个办法,但是这样一来,想要玩三个游戏,就要买三台不同的游戏机,很不方便,于是厂商发明了游戏卡带,要玩《马里奥》就装进去...

2018-04-28 20:08:19 104

原创 设计模式真解——工厂模式篇

工厂模式典型应用:卡牌游戏中各种卡牌的创建,MOBA游戏中各种英雄的创建,网游各种NPC的创建,任务的生成,凡是一些大量的,同类的对象生成,都可以用工厂模式封装其创建的部分代码模式描述:    简单工厂:工厂模式中的一种编程习惯,将具体对象的创建从其他逻辑中抽离出来,构建一个对象的孵化器,传入类型或者其他的生成参数    工厂会针对传入的参数返回需求的对象,去除了外部与具体产品对象的依赖,外部不需...

2018-04-28 20:07:10 125

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除