Ferlan的博客

天下大事,必作于细!

自定义博客皮肤

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

go并发机制学习

Go 原生支持高并发场景,其原因就是提供了goroutine(协程)以及底层提供的GMP调度器。 goroutine协程 协程与线程有什么区别? (1)goroutine是非常轻量级的,它就是一段代码,一个函数入口,以及在堆上为其分配的一个堆栈(初始大小为2K,会随着程序的执行自动增长删除)。所以...

2019-08-14 16:23:22

阅读数 10

评论数 0

基于TAF框架的Future/promise异步调用

使用callback是能有效的达成异步不错,但是当业务变得庞大时,很多地方我们都要使用到异步调用。但如果异步调用嵌套多次,或者调用之间的依赖关系复杂的话,难免代码会变得混乱不堪。举个例子,假设我们需要依次调用服务A、B、C、D,我们就不得不把调用下一个接口的代码写在上一个接口的回调函数中。 这时,...

2019-04-22 19:35:25

阅读数 128

评论数 0

ASCII码,Unicode编码,UTF-8编码,Little endian/Big endian

1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,...

2019-04-07 10:52:22

阅读数 39

评论数 0

HTTP , HTTP1.1 , HTTP2.0 , SPDY , HTTPS你应该知道的一些事

转自:https://www.cnblogs.com/wjlog/p/5827168.html 1. web始祖HTTP 全称:超文本传输协议(HyperText Transfer Protocol) 伴随着计算机网络和浏览器的诞生,HTTP1.0也随之而来,处于计算机网络中的应用层,H...

2019-03-10 10:46:59

阅读数 55

评论数 0

HTTP与HTTPS的区别,HTTPS的工作原理及优缺点

为什么要有HTTPS? 超文本传输协议HTTP协议被用于在web服务器和网站服务器之间传递消息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密.如果攻击者截取了web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号,密码...

2019-03-10 10:11:59

阅读数 106

评论数 0

单例模式

什么是单例模式 单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的一个类只有一个实例。即一个类只有一个对象实例。 单例模式的实现 实现单例模式一般有两种方式:饿汉模式和懒汉模式。 饿汉模式 我们用一个洗碗的例子来解释饿汉模式和懒...

2019-01-28 17:37:37

阅读数 40

评论数 0

半链接,半打开,半关闭

一、半连接 1.1 定义       发生在TCP3次握手中。   &amp...

2019-01-25 09:34:38

阅读数 211

评论数 0

tcp,udp特点,比较及 tcp可靠传输的各种机制

(1)TCP协议报头 TCP指传输控制协议,其报头格式如下: TCP协议中的六个标志分别是,URG、ACK、PSH、RST、SYN、FIN。 1)UGR(紧急):UGR=1表示紧急指针字段有效。它告诉系统此报文段有紧急数据,应当尽快传送。从报文段的开头,到紧急指针指向的地方就是紧急数据。...

2019-01-24 20:20:48

阅读数 97

评论数 0

网络编程套接字---tcp简单通信程序详解

tcp简单通信程序详解实现步骤服务端:1.创建套接字socket2.绑定地址信息3.开始监听socket4.建立连接成功5-6 与客户端进行数据通信如何判断tcp断开链接?7关闭sockettcp通信程序1.0版本(不能支持多个客户端通信)tcp_server.cpptcp_client.cpp程...

2019-01-23 16:24:35

阅读数 130

评论数 0

从tcp,udp链接角度看send和sendto的区别

ssize_t send(int sockfd, const void *buf, size_t len, int flags); ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const s...

2019-01-23 08:51:16

阅读数 201

评论数 0

网络编程套接字--udp通信

本片博客使用socket套接字设计一个简单的udp聊天小程序,因为udp比较简单,仅将代码列在此处。另有一篇使用socket套接字完成tcp聊天小程序,将重点讲解,博客地址:正在撰写,随后补上。 服务端 udp_server.cpp #include <i...

2019-01-22 20:42:39

阅读数 61

评论数 0

linux--守护进程

什么是守护进程 守护进程也称精灵进程(Daemon),是运⾏在后台的⼀种特殊进程。它独⽴于控制终端并且周期性地执⾏某种任务或等待处理某些发⽣的事件。守护进程是⼀种很有⽤的进程。 Linux的⼤多数服务器就是⽤守护进程实现的。⽐如, ftp服务器, ssh服务器, Web服务器httpd等。同时,守...

2019-01-22 10:00:49

阅读数 56

评论数 0

线程(二)线程的同步与互斥

线程的同步与互斥生产者与消费者模型线程的互斥互斥量(也叫互斥锁)互斥量使用步骤互斥量接口死锁线程互斥代码演示线程的同步为什么要线程同步?竞态条件条件变量条件变量的定义条件变量的接口条件变量的简单场景为什么要给pthread_cond_wait传互斥量?pthread_cond_wait内部为什么要...

2019-01-21 09:55:11

阅读数 68

评论数 0

linux--进程信号详解

进程信号详解1.引入信号的概念2.信号的生命周期3.信号的产生4.信号的注册4.1可靠信号与不可靠信号5.信号的注销6.信号的处理6.1 cure-dump 1.引入信号的概念 信号是软件中断。它给我们提供了一种能够异步处理事件的方法。事实上,进程并不知道信号何时到来。 比如,当我们的某一个...

2019-01-19 19:05:58

阅读数 64

评论数 0

线程(一)线程概念,优缺点,基本操作

线程什么是线程线程与进程线程的优缺点线程id与进程id关于使用posix线程库的说明线程的创建线程的退出线程的等待与分离 什么是线程 线程是进程中的一条执行流,也是计算机调度的基本单位。在linux平台下,线程是由进程模拟实现的,故该线程也叫做轻量级进程,且线程被操作系统用pcb描述并管理。 ...

2019-01-19 17:11:15

阅读数 85

评论数 0

C++智能指针

智能指针什么是智能指针?为什么要有智能指针?auto_ptrunique_ptrshared_ptrshared_ptr引发的线程安全问题: 什么是智能指针?为什么要有智能指针? 在C++程序里,使用new关键字开辟的内存必须被手动delete掉,不然就会导致 内存的泄漏,但是,当程序非常冗...

2019-01-17 09:59:53

阅读数 961

评论数 0

关联式容器set详解

STL源码剖析---关联式容器set详解什么是setset的迭代器set的常用操作代码测试 什么是set 上篇博客详细介绍了关联式容器map ,今天我们来了解一下它的姊妹篇–set. set也属于关联式容器.他们俩底层都由红黑树实现,所以set的查询,插入,删除效率都很高,且 set内的数据也是有...

2019-01-16 15:09:47

阅读数 182

评论数 0

STL源码剖析---关联式容器map详解

STL源码剖析---关联式容器map什么是mapmap中存储的键值对map的迭代器map的常用操作总结 什么是map map是STL中关联式容器的一种,所谓关联式容器,元素是按关键字来保存和访 问的,而序列式容器中的元素则是按它们在容器中的位置来顺序保存和访问的。 本片博客的主角map中,...

2019-01-16 10:08:02

阅读数 204

评论数 0

牛客--栈的压入弹出序列

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能 为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈 的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不 可能是该压栈序列的弹出序列。(注意:这两个序列...

2019-01-15 11:53:16

阅读数 66

评论数 0

leetcode--最小栈

设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) – 将元素 x 推入栈中。 pop() – 删除栈顶的元素。 top() – 获取栈顶元素。 getMin() – 检索栈中的最小元素。 示例: MinStack minStack = new Mi...

2019-01-15 09:38:07

阅读数 42

评论数 0

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