自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 Nginx源码学习流程(一)

Nginx是我们日常使用非常多的一款服务器。Nginx的源码写的非常漂亮,是c语言学习和进阶的最好的学习资料。源码目录下面我们先看下Nginx的目录结构:Nginx的源码主要分布在src/目录下,而src/目录下主要包含三部分比较重要的模块。core:包含了Nginx的最基础的库和框架。包括了内存池、链表、hashmap、String等常用的数据结构。event:事件模块。Ngin...

2018-09-28 20:38:21 292

原创 简单工厂与工厂模式

什么是简单工厂模式简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。模式中包含的角色及其职责1.工厂(Creator)角色简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。2.抽象(Product)角色简单工厂模式所创建的所有对象的父类,它负责描述所有实例...

2018-09-24 14:56:09 126

原创 sprinf和strcpy和memcpy

sprinf和strcpy和memcpy这些函数的区别在于 实现功能 以及 操作对象 不同。strcpy 函数操作的对象是 字符串,完成 从 **源字符串** 到 **目的字符串** 的 **拷贝** 功能。snprintf函数操作的对象 不限于字符串:虽然目的对象是字符串,但是源对象可以是字符串、也可以是任意基本类型的数据。**这个函数主要用来实现 (字符串或基本数据类型)向 字符串 的...

2018-09-24 14:00:23 198

原创 单例模式

 为什么使用单例模式在应用系统开发中,我们常常有以下需求:在多个线程之间,比如初始化一次socket资源;比如servlet环境,共享同一个资源或者操作同一个对象 在整个程序空间使用全局变量,共享资源 大规模系统中,为了性能的考虑,需要节省对象的创建时间等等。 因为Singleton模式可以保证为一个类只生成唯一的实例对象,所以这些情况,Singleton模式就派上用场了。2....

2018-09-24 13:54:43 117

原创 UML(统一建模语言)

软件设计和软件工程任何事情都要先想清楚了才能做,软件开发更是如此!软件开发过程不可能一上来就开始盲目写代码,写代码之前必须搞清楚下面一些基本问题:1、要做什么?2、做成什么样?3、怎么去做?软件设计: 把软件开发想清楚的过程.软件工程: 对软件开发全过程进行建模和管理.模型模型: 对问题的书面上的无歧义文字或图形的描述.简言之, 模型是对现实的简化. 通过模型, 人们可以了解所研究...

2018-09-23 21:15:37 32967 1

原创 MySQL优化

1、MySQL中myisam与innodb的区别,至少5点(1)、问5点不同;1>.InnoDB支持事物,而MyISAM不支持事物2>.InnoDB支持行级锁,而MyISAM支持表级锁3>.InnoDB支持MVCC, 而MyISAM不支持4>.InnoDB支持外键,而MyISAM不支持5>.InnoDB不支持全文索引,而MyISAM支持。.

2018-09-21 20:05:39 163

翻译 操作系统基础(存储管理)

一、填空1.将作业相对地址空间的相对地址转换成内存中的绝对地址的过程称为 地址重定位 。2.使用覆盖与对换技术的主要目的是 提高内存的利用率 。3.存储管理中,对存储空间的浪费是以 内部碎片 和 外部碎片 两种形式表现出来的。4.地址重定位可分为 静态重定位 和 动态重定位 两种方式。5.在可变分区存储管理中采用最佳适应算法时,最好按 尺寸 法来组织空闲分区链表。6.在分页式存储管理的...

2018-09-20 04:10:50 6016

翻译 操作系统(进程篇)

一、填空1.进程在执行过程中有三种基本状态,它们是 运行 态、 就绪 态和 阻塞 态。2.系统中一个进程由 程序 、 数据集合 和 进程控制块(PCB) 三部分组成。3.在多道程序设计系统中,进程是一个 动 态概念,程序是一个 静 态概念。4.在一个单CPU系统中,若有5个用户进程。假设当前系统为用户态,则处于就绪状态的用户进程最多有 4 个,最少有 0 个。注意,题目里给出的是假设当前...

2018-09-20 03:12:20 12622

翻译 操作系统基础知识

填空1.计算机系统由 硬件 系统和 软件 系统两大部分组成。2.按功能划分,软件可分为 系统 软件和 应用 软件两种。3.操作系统是在 裸机 上加载的第一层软件,是对计算机硬件系统功能的 首次 扩充。4.操作系统的基本功能是 处理机(包含作业) 管理、 存储 管理、 设备 管理和 文件 管理。5.在分时和批处理系统结合的操作系统中引入“前台”和“后台”作业的概念,其目的是 改善系统功能,...

2018-09-19 16:24:07 570

翻译 Docker简介

容器容器示意图目标

2018-09-17 19:01:38 166

转载 strstr函数的实现

自己实现C语言中的strstr函数,采用字符一个一个进行匹配,如果不等,则从下一个位置进行匹配。/*strstr 实现*/ char* mystrstr(const char* dest, const char* src) { char* tdest = dest; char* tsrc = src; while (*tdest) ...

2018-09-11 16:11:15 1157

原创 mvc框架优缺点

什么是MVC框架? 1、什么是mvcModel View Controller,是模型-视图-控制器的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个组件里,在改进和个性化定制界面的及用户交互的时候,不需要重新编写业务逻辑。mvc用于映射传统的输入、处理、输出功能在一个逻辑的图形用户界面的结构中。mvc就是类似三层的一种架构,主要采用封装(分...

2018-09-11 15:53:30 27015

翻译 同步和异步,区别

同步:同步的思想是:所有的操作都做完,才返回给用户。这样用户在线等待的时间太长,给用户一种卡死了的感觉(就是系统迁移中,点击了迁移,界面就不动了,但是程序还在执行,卡死了的感觉)。这种情况下,用户不能关闭界面,如果关闭了,即迁移程序就中断了。异步:将用户请求放入消息队列,并反馈给用户,系统迁移程序已经启动,你可以关闭浏览器了。然后程序再慢慢地去写入数据库去。这就是异步。但是用户没有卡死...

2018-09-11 15:29:28 213

原创 TOP k算法

面试题:算法题 10万次搜索,两两比较找出top100,然后比较次数总次数不超过20万次,不能碎片化申请空间,一次性申请一个大数组作为储存。 下午:索贝科技有限公司 #include <iostream> using namespace std; // 构建大根堆,其中a是第一个非叶子节点,z是节点个数 void HeapAdjust(int ...

2018-09-11 14:15:25 580

原创 哈希表

哈希表是种数据结构,它可以提供快速的插入操作和查找操作。第一次接触哈希表时,它的优点多得让人难以置信。不论哈希表中有多少数据,插入和删除(有时包括侧除)只需要接近常量的时间即0(1)的时间级。实际上,这只需要几条机器指令。  对哈希表的使用者一一人来说,这是一瞬间的事。哈希表运算得非常快,在计算机程序中,如果需要在一秒种内查找上千条记录通常使用哈希表(例如拼写检查器)哈希表的速度明显比树快,树...

2018-09-10 18:54:39 194

翻译 elect、poll、epoll优缺点

select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用...

2018-09-10 13:54:37 6664

翻译 IO多路复用之epoll总结

1、基本知识   epoll是在2.6内核中提出的,是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述符管理多个描述符,将用户关系的文件描述符的事件存放到内核的一个事件表中,这样在用户空间和内核空间的copy只需一次。 2、epoll接口 epoll操作过程需要三个接口,分别如下:#include...

2018-09-10 13:37:31 165

原创 vector迭代器失效

C++面试题经常会背问到vector和list的区别,其中就有一个问题就困扰我们的,面试官说vector在进行插入和删除元素的时候迭代器会失效,list不会,那这边由我来给大家举个列子:#include<iostream>#include<vector>using namespace std;int main(){ vector<int>...

2018-09-09 20:02:22 306

原创 单向链表

Mylist.h#ifndef __MyList__ #define __MyList__ typedef void LinkList_t; typedef struct _tag_ListNode { struct _tag_ListNode*next; }ListNode; LinkList_t*Create_List(...

2018-09-09 09:37:31 137

原创 Mysql语法(2)

字段属性主键, 唯一键和自增长.主键主键: primary key,主要的键. 一张表只能有一个字段可以使用对应的键, 用来唯一的约束该字段里面的数据, 不能重复: 这种称之为主键.一张表只能有最多一个主键.增加主键SQL操作中有多种方式可以给表增加主键: 大体分为三种.方案1: 在创建表的时候,直接在字段之后,跟primary key关键字(主键本身不允许为空...

2018-09-06 23:05:51 159

原创 PHP 连接 MySQL

连接 MySQL 在我们访问 MySQL 数据库前,我们需要先连接到数据库服务器:面向对象<?php$servername = "localhost";$username = "username";$password = "password";// 创建连接$conn = new mysqli($servername, $username, $password);...

2018-09-05 10:40:33 384

原创 PHP 表单

form.html 文件代码:<html><head><meta charset="utf-8"><title>菜鸟教程(runoob.com)</title></head><body><form action="welcome.php" me

2018-09-04 15:18:43 234

原创 PHP 面向对象(第十二篇)

面向对象内容类 − 定义了一件事物的抽象特点。类的定义包含了数据的形式以及对数据的操作。 对象 − 是类的实例。 成员变量 − 定义在类内部的变量。该变量的值对外是不可见的,但是可以通过成员函数访问,在类被实例化为对象后,该变量即可称为对象的属性。 成员函数 − 定义在类的内部,可用于访问对象的数据。 继承 − 继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义...

2018-09-02 20:14:59 124

原创 PHP 魔术常量(第十一篇)

PHP 魔术常量PHP 向它运行的任何脚本提供了大量的预定义常量。 不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。 有八个魔术常量它们的值随着它们在代码中的位置改变而改变。 例如 LINE 的值就依赖于它在脚本中所处的行来决定。这些特殊的常量不区分大小写,如下:LINE文件中的当前行号<?ph...

2018-09-02 18:29:21 145

原创 PHP 函数(第十篇)

PHP 的真正威力源自于它的函数。 在 PHP 中,提供了超过 1000 个内建的函数。 http://www.runoob.com/php/php-ref-array.html 函数文档,需要到就查就OK;PHP 函数在本章中,我们将为您讲解如何创建自己的函数。 如要在页面加载时执行脚本,您可以把它放到函数里。 函数是通过调用函数来执行的。 你可以在页面的任何位置调用函数。...

2018-09-02 18:15:11 146

原创 PHP 循环 (第九篇)

循环执行代码块指定的次数,或者当指定的条件为真时循环执行代码块。PHP 循环在您编写代码时,您经常需要让相同的代码块一次又一次地重复运行。我们可以在代码中使用循环语句来完成这个任务。 在 PHP 中,提供了下列循环语句: while - 只要指定的条件成立,则循环执行代码块 do…while - 首先执行一次代码块,然后在指定的条件成立时重复这个循环 for - 循环执行代码块...

2018-09-02 18:07:47 568

原创 PHP 数组(第八篇)

数组能够在单个变量中存储多个值:<?php$cars=array("Volvo","BMW","Toyota");echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";?>数组是什么?数组是一个能在单个变量中存储多个值的特殊变量。

2018-09-02 17:57:50 128

原创 PHP条件语句(第七篇)

PHP 条件语句当您编写代码时,您常常需要为不同的判断执行不同的动作。您可以在代码中使用条件语句来完成此任务。 在 PHP 中,提供了下列条件语句: if 语句 - 在条件成立时执行代码 if…else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码 if…elseif….else 语句 - 在若干条件之一成立时执行一个代码块 switch 语句 - 在若干条件之一成...

2018-09-01 18:49:30 244

原创 PHP运算符(第六篇)

算术运算符<?php $x=10; $y=6;echo ($x + $y); // 输出16echo '<br>'; // 换行echo ($x - $y); // 输出4echo '<br>'; // 换行echo ($x * $y); // 输出60echo '<br>'; // 换行echo ($x / $y);...

2018-09-01 06:41:10 329

原创 PHP常量与字符串(第五篇)

常量常量值被定义后,在脚本的其他任何地方都不能被改变。PHP 常量常量是一个简单值的标识符。该值在脚本中不能改变。 一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。 注意: 常量在整个脚本中都可以使用。 设置 PHP 常量 设置常量,使用 define() 函数,函数语法如下:bool define ( strin...

2018-09-01 06:16:59 1459

原创 PHP数据类型(第四篇)

PHP 5 数据类型String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。PHP 字符串一个字符串是一串字符的序列,就像 “Hello world!”。 你可以将任何文本放在单引号和双引号中:<?php $x = "Hello world!";...

2018-09-01 06:03:32 225

原创 PHP输出(第三篇)

PHP 5 echo 和 print 语句在 PHP 中有两个基本的输出方式: echo 和 print。 本章节中我们会详细讨论两个语句的用法,并在实例中演示如何使用 echo 和 print。 echo 和 print 区别: echo - 可以输出一个或多个字符串 print - 只允许输出一个字符串,返回值总为 1 提示:echo 输出的速度比 print 快, echo 没...

2018-09-01 05:42:37 215

原创 PHP变量(第二篇)

PHP 变量变量是用于存储信息的”容器”:<?php$x=5;$y=6;$z=$x+$y;echo $z;?> 这个跟C语言一样也蛮喜欢,大多数语言都是这样的1、变量以 $ 符号开始,后面跟着变量的名称 2、变量名必须以字母或者下划线字符开始3、变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )4、变量名不能包含空格5、变量名...

2018-09-01 05:23:07 211

原创 PHP语法(第一篇)

在学习之前,我们先来了解一下什么是PHP,然后进入PHP的第一个程序,PHP 是什么?PHP(全称:PHP:Hypertext Preprocessor,即”PHP:超文本预处理器”)是一种通用开源脚本语言。 PHP 脚本在服务器上执行。PHP 文件是什么?PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码 PHP 代码在服务器上执行,结果以纯 ...

2018-09-01 04:54:53 299

空空如也

空空如也

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

TA关注的人

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