自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王道长的技术博客

专注技术二十载

  • 博客(110)
  • 资源 (5)
  • 收藏
  • 关注

原创 vue基础学习

一、vue基础前端框架与库的区别?jquery 库 -> DOM(操作DOM) + 请求art-template 库 -> 模板引擎框架 = 全方位功能齐全简易的DOM体验 + 发请求 + 模板引擎 + 路由功能KFC的世界里,库就是一个小套餐, 框架就是全家桶代码上的不同一般使用库的代码,是调用某个函数,我们自己把控库的代码一般使用框架,其框架在帮我们运行...

2019-05-31 23:13:36 1453

原创 二、操作系统之进程与线程管理

一、进程与线程1.1 进程概念与特征1.1.1 进程的概念程序:就是一个指令序列(早起的计算机只支持单道程序)。引入多道程序技术之后,为了方便操作系统的管理,完成各程序的并发执行,引入了进程、进程实体的概念。程序段、数据段、PCB(Process Control Block)三部分组成了进程实体(进程映象)。一般情况下,我们把进程实体就简称为进程,例如,所谓的创建进程,实质是创建进程实体...

2019-05-30 22:36:48 2460 1

原创 一、操作系统的概念功能

一、计算机硬件系统概述计算机系统自下而上可粗分为四个部分:硬件、操作系统、应用程序和用户(与计算机组成原理的分层不同)。操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便地接口和环境的程序集合。它是计算机系统中最基本的系统软件。1.1、计算机硬件系统结构1.1.1 大、中、小型计算机的硬件组织。这类计算机以存储器为中心,...

2019-05-30 20:06:49 4453

原创 内存五大模型与elf文件

bss段**bss段(bss segment)**用于存放程序中未经初始化的全局变量和静态局部变量。在目标文件中,这个段并不占据实际空间,它仅仅只是一个占位符。bss段属于静态内存分配。data段**数据段(data segment)**通常是指用来存放程序中已初始化的全局变量和静态局部变量的一块内存区域,读写属性 。数据段属于静态内存分配。text段**代码段(code segme...

2019-05-28 01:06:02 1349

原创 node基础及express、koa框架

一、Node基础1.1 为什么学习Node?IO优势:对于文件读写,Node采用的是非阻塞IO;传统IO在读写文件的时候CPU来处理,而代码执行也处于等待中,浪费性能;非阻塞IO将读写操作交给CPU,而代码正常执行,减少等待浪费的性能__应用场景:实际应用: webpack/gulp/npm/http-server/json-server;服务器中负责IO读写的中间层服务器(天猫中间层IO服...

2019-05-27 17:10:52 923

原创 JS高级之ES6+模块化

文章目录十四、es6内容14.1 数组API、正则API、字符串API14.2 模板字符串14.3 解构赋值14.3.1 对象的解构赋值14.3.2 函数参数的解构赋值14.3.3 补充:属性的简写14.4 函数的扩展14.4.1 rest参数14.4.2 箭头函数14.5 对象的扩展14.6 Promise14.6.1 回调地狱:14.6.2 Promise函数基本用法14.6.3 Promis...

2019-05-23 16:25:18 6438 1

原创 JS高级之基础

一、JS基本介绍JS的用途:Javascript可以实现浏览器端、服务器端(nodejs)。。。浏览器端JS由以下三个部分组成:ECMAScript:基础语法(数据类型、运算符、函数。。。)BOM(浏览器对象模型):window、location、history、navigator。。。DOM(文档对象模型):div、p、span。。。ECMAScript又名es,有以下重大版...

2019-05-23 15:02:36 941

原创 CSS3

一、CSS3中新特性样式篇1.1 背景1.1.1 background-origin: 规定背景图片的定位区域。padding-box 背景图像相对内边距定位(默认值)border-box 背景图像相对边框定位【以边框左上角为参照进行位置设置】content-box 背景图像相对内容区域定位【以内容区域左上角为参照进行位置设置】备注:默认盒子的背景图片是在盒子的内...

2019-05-23 14:45:31 1471

原创 HTML5基础

一、了解HTML5HTML5属于上一代HTML的新迭代语言,设计HTML5最主要的目的是为了在移动设备上支持多媒体!!!例如: video 标签和 audio 及 canvas 标记1.1 新特性:取消了过时的显示效果标记 和 …2. 新表单元素引入3. 新语义标签的引入4. canvas标签(图形设计)5. 本地数据库(本地存储)6. 一些API7. 跨平台例如:比...

2019-05-23 14:23:16 800

原创 行为类型11-11:状态模式(State Pattern)

1. 概述在状态模式(State Pattern)中,类的行为是随着它的状态改变的。定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。2. 介绍2.1 意图允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类。2.2 主...

2019-05-22 05:57:04 773

原创 行为类型11-10:中介者模式(MediatorPattern)

1. 概述中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为型模式。用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。2. 介绍2.1 意图用一个中介对象来封装一系列的对象交...

2019-05-22 05:54:26 773

原创 行为类型11-9:责任链模式(Chain of Responsibility Pattern)

1. 概述顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些...

2019-05-22 05:51:22 718

原创 行为类型11-8:模板模式(Template Pattern)

1. 概述在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。2.介绍2.1 意图定义一个操作中的算法的骨架,而将一些步骤延迟到子类...

2019-05-21 19:25:51 735

原创 行为类型11-7:命令模式(Command Pattern)

1. 概述将一个请求以命令的形式包裹在对象中,从而使你可用不同的请求对客户进行参数化,然后传给调用对象;对请求排队或记录请求日志,以及支持可撤消的操作。。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。2. 介绍2.1 意图将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数化。2.2 主要解决在软件系统中,行为请求者与行为实现者通常是一种...

2019-05-21 19:23:42 198

原创 行为类型11-6:解释器模式(Interpreter Pattern)

1. 概述解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。2. 介绍2.1 意图给定一个语言,定义它的文法表示,并定义一个解释器,这个解释器使用该标识...

2019-05-21 19:21:40 162

原创 行为类型11-5:观察者模式(Observer Pattern)

1. 概述当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。[定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。]2. 介绍2.1 意图定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。2.2 主要...

2019-05-21 19:19:06 207

原创 行为类型11-4:访问者模式(Visitor Pattern)

1. 概述在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的操作。表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。2. 介绍...

2019-05-21 19:17:42 213

原创 行为类型11-3:迭代器模式(Iterator Pattern)

1. 概述迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。2. 介绍2.1 意图提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。2.2 主要解...

2019-05-21 19:15:49 155

原创 行为类型11-2:策略模式(Strategy Pattern)

1. 概述在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。2. 介绍2.1 意图定义一系列的算法,把...

2019-05-21 19:13:48 165

原创 行为类型11-1:备忘录模式

1. 概述在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。2. 介绍2.1 意图在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。2.2 主要解决所谓备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。2.3 何...

2019-05-21 19:11:57 159

原创 结构类型7-7:组合模式(Composite Pattern)

1. 概述又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象,将对象组合成树形结构以表示"部分-整体"的层次结构。组合模式依据树形结构来组合对象,用来表示部分以及整体层次,它创建了对象组的树形结构。“Composite使得用户对单个对象和组合对象的使用具有一致性。”这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。2. 介绍2.1 意图将对象组合成树形结构以...

2019-05-21 19:09:24 333

原创 结构类型7-6:装饰器模式(Decorator Pattern)

1. 概述动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。装饰器模式允许向一个现有的对象添加新的功能,同时又不改变其结构。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。2. 介绍2.1 意图动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活。2.2 主要解决...

2019-05-21 19:06:41 180

原创 结构类型7-5:享元模式(Flyweight Pattern)

1. 概述运用共享技术有效地支持大量细粒度的对象。享元模式主要用于减少创建对象的数量,以减少内存占用和提高性能。运用共享技术有效地支持大量细粒度的对象,它提供了减少对象数量从而改善应用所需的对象结构的方式。享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。我们将通过创建 5 个对象来画出 20 个分布于不同位置的圆来演示这种模式。由于只有 5 种可用的颜色,所以 color...

2019-05-21 19:04:45 189

原创 结构类型7-4:门面模式(Facade Pattern)

1. 概述为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。2. 介绍2.1 意图为...

2019-05-21 19:02:49 201

原创 结构类型7-3:适配器模式(Adaptor Pattern)

1. 概述将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。2. 介绍2.1 意图将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类...

2019-05-21 19:00:48 222

原创 结构类型7-2:桥接模式(Bridge Pattern)

1. 概述桥接(Bridge)是用于把抽象化与实现化解耦,将抽象部分与它的实现部分分离,使它们都可以独立地变化。这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。我们通过下面的实例来演示桥接模式(Bridge Pattern)的用法。其中,可以使用相同的抽象类方法但是不同的桥接实现类,来画出不同颜色的圆。2. 介绍2.1 意图将...

2019-05-21 18:58:17 185

原创 结构类型7-1:代理模式(Proxy Pattern)

1. 概述在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。为其他对象提供一种代理以控制对这个对象的访问。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。2. 介绍2.1 意图为其他对象提供一种代理以控制对这个对象的访问。2.2 主要解决在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对...

2019-05-21 18:56:04 145

原创 创建类型5-5:原型模式(Prototype Pattern)

1. 概述原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以...

2019-05-21 18:52:18 158

原创 创建类型5-4:建造者模式(Builder Pattern)

1. 概述将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的,它提供了一种创建对象的最佳方式。。2. 介绍2.1 意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。2.2 主要解决:主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其...

2019-05-21 18:50:21 197

原创 创建类型5-3:单例模式(Singleton Pattern)

1. 概述保证一个类仅有一个实例,并提供一个访问它的全局访问点。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意:1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。2. 介绍2.1 意图保证一个类仅有一个实例...

2019-05-21 18:45:21 127

原创 创建类型5-2:抽象工厂模式(Abstract Factory Pattern)

1. 概述抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。2. 介绍2.1 意图提供一个创建一系列相关或相互依赖对象的接口,...

2019-05-21 18:42:02 113

原创 创建类型5-1:工厂模式(Factory Pattern)

1. 概述这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。2. 介绍2.1 意图定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。2.2 主要解决主要解决接口选择的问题。2.3 何时使用我们明确地计划不同条件下创建...

2019-05-21 18:40:18 131

原创 Node学习

一、Node基础1.1 Node的优势?IO优势对于文件读写,Node采用的是非阻塞IO传统IO在读写文件的时候CPU来处理,而代码执行也处于等待中,浪费性能非阻塞IO将读写操作交给CPU,而代码正常执行,减少等待浪费的性能应用场景实际应用: webpack/gulp/npm/http-server/json-server服务器中负责IO读写的中间层服务器(天猫中间层IO...

2019-05-17 15:22:01 158

原创 ElasticSearch入门

第一节 ElasticSearch概述1.1 ES 分布式的全文搜索引擎。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。ElasticSearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。构建在全文检索开源软件Lucene之上的Elasticsear...

2019-05-14 13:05:08 1792

原创 mysql之优化-字段类型

一、字段类型和编码1.1、mysql返回字符串长度:CHARACTER_LENGTH方法(CHAR_LENGTH一样的)返回的是字符数,LENGTH函数返回的是字节数,一个汉字三个字节1.2、索引长度:varvhar等字段建立索引长度计算语句:**select count(distinct left(test,5))/count(*) from table; 越趋近1越好1.3、字符集设...

2019-05-13 01:30:53 453

原创 mysql之优化-分表

一、表的分割1.1 水平分割案例 大数据量的用户表三张表:qqlogin0,qqlogin1,qqlogin2将用户id%3,按结果放入不同的表当中create table qqlogin0( id int unsigned not null primary key,/* 这个id不能设置自增长 */ name varchar(32) not null default...

2019-05-13 01:29:43 186

原创 mysql之优化-大纲

前言:DBA的日常工作日常操作:监控状态,备份与恢复,高可用,数据迁移,集群搭建与扩容,高可用;体系结构:sql审计,存储引擎,sql优化,缓存/线程,建表与索引,锁与事务;进阶操作:源码定制,内核原理;首先,我们来看看DBA的具体工作,我觉得 DBA 真的很忙:备份和恢复、监控状态、集群搭建与扩容、数据迁移和高可用,这是我们 DBA 的功能。了解这些功能以后要对体系结构有更加深入的...

2019-05-13 01:28:46 265

原创 mysql之优化-存储引擎

一、MySQL的存储引擎1.1 引擎目前广泛使用的是MyISAM和InnoDB两种引擎:1.1.1 MyISAMMyISAM引擎是MySQL 5.1及之前版本的默认引擎,它的特点是:不支持行锁,读取时对需要读到的所有表加锁,写入时则对表加排它锁;不支持事务;不支持外键;不支持崩溃后的安全恢复;在表有读取查询的同时,支持往表中插入新纪录;支持BLOB和TEXT的前500个字符索...

2019-05-13 01:21:54 351

原创 mysql之优化-系统优化

一、内存1.1 要确保有足够的内存数据库能够高效的运行,最关建的因素需要内存足更大了,能缓存住数据,更新也可以在内存先完成。但不同的业务对内存需要强度不一样,一推荐内存要占到数据的15-25%的比例,特别的热的数据,内存基本要达到数据库的80%大小。拥有足够的物理内存来把整个InnoDB文件加载到内存中——在内存中访问文件时的速度要比在硬盘中访问时快的多。1.2 选择合适的内存分配算法默...

2019-05-13 01:19:16 613

原创 mysql之优化-配置

MySQL 配置文件优化1.当写入时,使用 innodb_flush_method=O_DIRECT 来避免双缓冲。2.避免使用 O_DIRECT 和 EXT3 文件系统 – 你将序列化所有要写入的。3.分配足够的 innodb_buffer_pool_size 来加载整个 InnoDB 文件到内存中– 少从磁盘中读取。4.不要将 innodb_log_file_size 参数设置太大,...

2019-05-13 01:18:03 178

c/c++ 快速入学讲义

c/c++ 快速入学讲义,方便快速入手学习,也可以留档作为复习巩固使用

2019-05-08

c++语言知识点思维导图

c++语言xmind知识点思维导图,可做收藏、学习、巩固c++知识点使用

2019-05-08

c语言思维导图

最全的c语言大纲的xmind的思维导图,可做收藏,复习巩固c语言知识

2019-05-08

linux系统编程(课件源码)

最新c、c++全栈培训第24期高清无密(全)-linux系统编程(课件源码)

2019-05-05

linux系统编程-进程xmind

黑马最新c、c++全栈培训第24期高清无密(全)-linux系统编程-进程xmind

2019-05-05

空空如也

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

TA关注的人

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