杨龙飞的博客

让一个人迷茫的原因只有一个 ——那就是本该拼博的年纪,却想得太多,做的太少!...

排序:
默认
按更新时间
按访问量

RabbitMQ的应用场景以及基本原理介绍

1.背景RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现。2.应用场景2.1异步处理场景说明:用户注册后,需要发注册邮件和注册短信,传统的做法有两种1.串行的方式;2.并行的方式 (1)串行方式:将注册信息写入数据库后,发送注册邮件,再...

2017-02-09 23:30:02

阅读数:117615

评论数:34

内存映射文件原理探索

首先说说这篇文章要解决什么问题? 1.虚拟内存与内存映射文件的区别与联系. 2.内存映射文件的原理. 3.内存映射文件的效率. 4.传统IO和内存映射效率对比.虚拟内存与内存映射文件的区别与联系 二者的联系虚拟内存和内存映射文件都是将一部分内容加载到,另一部分放在磁盘上的一种机制,二者都...

2016-11-27 17:10:09

阅读数:5942

评论数:4

数据库"范式"

1.为什么要学习数据库”范式”?当我们独立去完成一个自己的小项目的时候,肯定要去设计”合适”的数据模型即逻辑架构,那么,我们怎么知道自己设计的数据模型是最”合适”的呢?肯定得有一个标准去衡量自己设计的数据模型,看到这里,大家知道为什么要学习范式了.2.”范式”能解决什么问题?刚才说过,学习范式是为...

2016-07-05 16:55:55

阅读数:3077

评论数:0

C++ 的四种类型转换

背景C语言中强制类型转换可以随意转换我们想要的类型,格式如下(类型)变量名,那么为什么C++还要引入新的4种类型转换呢? 1.新的类型转换控制符可以很好的控制类型转换的过程,允许控制各种类型不同的转换. 2.C++的类型转换控制服能告诉程序员或读者我们这个转换的目的是什么. static_ca...

2017-02-13 11:34:16

阅读数:536

评论数:0

哈希表

什么是哈希表1.哈希表又称为散列表,是根据关键码值(Key value)而直接进行访问的数据结构,也就是说,它通过把关键码值映射到表中的一个位置来访问记录,以加快查找速度,这个映射函数叫做散列函数,存放记录的数组叫做散列表。  记录的存储位置=f(关键字) f是散列函数 这里的对应关系f称为散...

2017-02-10 21:07:12

阅读数:426

评论数:0

new和malloc区别

1. 区别 new的功能是在堆区新建了一个对象,并返回该对象的指针,所谓的【新建对象】的意思就是,将调用该类的构造函数,因为如果不构造的话,就不能称之为一个对象。 malloc只是机械的分配了一块内存,如果用malloc在堆区创建一个对象的话,是不会调用构造函数的,严格来说malloc不能算是新建...

2017-02-10 14:54:00

阅读数:350

评论数:0

C++指针和引用的区别

1.指针与引用区别 指针是一块内存的地址值,访问变量是间接访问,引用是一块内存的别名,访问变量是直接访问. 引用是一个变量的别名,本身不单独分配自己内存空间,而指针有自己的内存空间. 引用使用时无须解引用(*),指针需要解引用. 引用只能在定义时被初始化一次,之后不可变;指针可变. 引用不能为...

2017-02-10 11:58:26

阅读数:490

评论数:0

浅谈TCP/IP四种计时器、慢启动、拥塞避免、快速重传、快速恢复

持续计时器假设一种场景:A给B发送数据,如果B告诉A自己的缓冲区已满,于是A停止发送数据,等待一段时间后,B的缓冲区出现了富余,于是给A发送报文告诉rwnd大小为400,但是这个报文不幸丢失了,于是就出现A等待B的通知,B等待A发送数据的死锁状态,为了处理这种问题,TCP引入了持续计时器,当A收到...

2017-02-09 09:27:02

阅读数:1137

评论数:0

TCP四次挥手中,主动关闭方最后为什么要等待2MSL之后才能关闭连接?

和TCP三次同步握手不一样的是,TCP关闭连接用四次挥手来实现,即A—–>B Fin,B—->A ACK, B—–>A Fin,A—-B ACK A—-B Fin, B—->A ACK,A属于主动关闭方,收到B的ACK之后,A到B的方向连接关闭,即half shutdo...

2017-02-08 20:16:00

阅读数:1380

评论数:0

常见排序算法总结

前言本文将介绍常见的9种排序算法,围绕下面几个问题讨论每一种排序算法: 这个算法的思想是什么? 这个算法的稳定性怎样?时间复杂度是多少? 在什么情况下,算法出现最好情况or最坏情况? 这个算法的具体实现? 以下排序算法都以从小到大排序 1.冒泡排序(交换排序)1.1算法思想:排序每次对相邻的两个元...

2017-02-08 12:46:38

阅读数:314

评论数:0

C++对象模型

1.C++对象模型概述 有两个概念可以解释C++对象模型 1.语言中直接支持面向对象程序设计的部分 包括了构造函数、析构函数、多态、虚函数等等. 2.对于各种支持的底层实现机制 对象模型研究的是对象在存储上的空间与时间上的优化,并对C++面向对...

2017-02-05 11:19:48

阅读数:368

评论数:0

线程局部变量__thread关键字

__thread是GCC内置的线程局部存储设施,存取效率可以和全局变量相比.__thread变量每一个线程有一份独立实体,各个线程的值互不干扰,可以用来修饰那些带有全局性且值可以变,但是又不值的用全局变量保护的变量. __thread使用规则:只能修饰POD类型(类似整型指针的标量,不带自定义的构...

2017-01-03 15:34:18

阅读数:451

评论数:0

Redis学习笔记(三)---对象

Redis 对象简介Redis是一种key/value型数据库.Redis并没有直接使用前面提到的简单动态字符串、双端链表、字典、压缩列表、整数集合.而是基于这些数据结构创建一个对象系统,这个系统包括字符串对象、列表对象、哈希对象、集合对象和有序对象这个五种对象.每种对象都用到了至少一种我们前面所...

2016-12-22 15:32:12

阅读数:478

评论数:0

Redis学习笔记(二)----跳跃表

Skip List 介绍Skip List是一种随机化的数据结构,基于并联的链表,其效率可比拟于二叉查找树(对于大多数操作需要O(log n)平均时间)。基本上,跳跃列表是对有序的链表增加上附加的前进链接,增加是以随机化的方式进行的,所以在列表中的查找可以快速的跳过部分列表(因此得名)。所有操作都...

2016-12-22 09:37:20

阅读数:287

评论数:0

Redis学习笔记(一)----简单动态字符串

一.SDS定义SDS的定义: struct sdshdr{ //记录buf数组中已使用字节的数量,等于SDS中所保存字符串的长度 int len;   //记录buf数组中未使用字节的数量. int free; char buf[]; 字节数组....

2016-12-21 11:58:55

阅读数:338

评论数:0

基于netty的消息队列StormMQ简介

StormMQ一. 简介StormMQ是一个支持消息发布-订阅的消息中间件,采用java语言开发,netty网络框架.Kryo序列化框架为网络传输数据序列化,protostruff序列化框架作为数据持久化的序列化。保证消息的可靠投递和消费.二.架构设计二.功能简介1.支持消息者集群. 消费者A是一...

2016-12-14 11:04:37

阅读数:1750

评论数:0

Kryo序列化和ProroStruff序列化性能比较

JavaBean类package SeriazleCompare;/** * Created by yang on 16-12-13. */ public class Student { private String name; private int age; pri...

2016-12-13 18:11:50

阅读数:1199

评论数:0

8086汇编0号中断处理程序

1.中断的基本概念中断是指在计算机执行期间,CPU收到某个信号(来自软件或硬件),暂时保存正在执行的程序的上下文,转而去执行相应的中断处理程序. 2.8086CPU内部有内部有下面的情况发生时,将产生相应的中断信息. 除法错误,比如div指令产生的除法溢出 中断码:0 单步执行;      ...

2016-12-06 20:44:59

阅读数:2722

评论数:0

汇编语言实现在80*25彩色字符模式下显示字符串

记得大一刚接触c语言的时候,用c语言打印出了彩色的字符串,但感觉很神奇,转眼间,已经成为大三狗了,哈哈^^. 好了,不说废话了,今天,就来看看怎样用汇编语言打印彩色的字符串. 80*25彩色字符模式在内存地址空间中,B8000H~BFFFFH共32KB的空间,为80*25彩色字符模式的显示缓冲区...

2016-12-02 10:11:19

阅读数:3017

评论数:0

最佳线程数和QPS以及RT

最近学习性能优化方面的东西,所以,总结一下:名词解释 QPS:系统每秒处理的请求数(query per second) RT:系统的响应时间,一个请求的响应时间,也可以是一段时间的平均值. 最佳线程数:刚好消耗完服务器瓶颈资源的临界线程数. QPS和RT的关系对于单线程:QPS = 1000/R...

2016-11-26 09:03:36

阅读数:801

评论数:0

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