自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (5)
  • 收藏
  • 关注

原创 Lambda

Lambda1.概述C++11 introduced lambdas,allowing the definition of inline functionality,which can be used as a parameter or a local object. Lambdas change the way the C++ standard library is used.

2017-08-29 19:36:40 388

原创 职责链模式

1.动机(Motivation)(1)在软件构建过程中,一个请求可能被多个对象处理,但是每个请求在运行时只能有一个接受者,如果显示指定,将必不可少地带来请求发送者与接受者的紧耦合。(2)如何在运行时决定来处理请求,从而使两者解耦。2.模式定义使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的解耦关系。将这些对象连成一条链,并沿着这条链传递请求,知道有一个对象处理它为止。

2017-08-28 21:33:13 338

原创 28muduo_net库源码分析(四)

1.定时器(1)muduo的定时器由三个类实现,TimerId、Timer、TimerQueue,用户只能看到第一个类,其它两个都是内部实现细节(2)TimerQueue的接口很简单,只有两个函数addTimer和cancel(3)EventLooprunAt  在某个时刻运行定时器runAfter  过一段时间运行定时器runEvery  每隔一段时间运行定时器can

2017-08-24 15:28:29 429

原创 27muduo_net库源码分析(三)

1.定时器函数选择1.定时函数,用于让程序等待一段时间或安排计划任务:sleep alarm usleepnanosleepclock_nanosleepgetitimer /setitimertimer_create /timer_settime /timer_gettime /timer_deletetimerfd_create

2017-08-23 20:56:35 421

原创 26muduo_net库源码分析(二)

1.类图2.Channel(1)Channel是selectable IO channel,负责注册与响应IO事件,它不拥有filedescriptor。(2)Channel是Acceptor、Connector、EventLoop、TimerQueue、TcpConnection的成员,生命期由后者控制。3.时序图4.代码EvevtLoop.h

2017-08-23 13:38:56 402

原创 25muduo_net库源码分析(一)

1.TCP网络编程本质TCP网络编程最本质是的处理三个半事件(1)连接建立:服务器accept(被动)接受连接,客户端connect(主动)发起连接(2)连接断开:主动断开(close、shutdown),被动断开(read返回0)(3)消息到达:文件描述符可读(4)消息发送完毕:这算半个。对于低流量的服务,可不必关心这个事件;这里的发送完毕是指数据写入操作系统缓冲区,将由

2017-08-20 21:25:17 403

原创 19muduo_base库源码分析(十)

1.ThreadLocalSigleton类图每一个线程都有一个T类型的单例对象2.代码ThreadLocalSingleton.h// Use of this source code is governed by a BSD-style license// that can be found in the License file.//// Author: Sh

2017-08-20 15:11:13 431

原创 18muduo_base库源码分析(九)

1.线程特定数据(1)在单线程程序中,我们经常要用到"全局变量"以实现多个函数间共享数据。(2)在多线程环境下,由于数据空间是共享的,因此全局变量也为所有线程所共有。(3)但有时应用程序设计中有必要提供线程私有的全局变量,仅在某个线程中有效,但却可以跨多个函数访问。(4)POSIX线程库通过维护一定的数据结构来解决这个问题,这个些数据称为(Thread-specific Data,

2017-08-20 14:08:13 371

原创 17muduo_base库源码分析(八)

1.Singleton类图线程安全Singleton类实现(1)pthread_once(2)atexit(3)typedef char T_must_be_complete_type[sizeof(T) == 0 ? -1 : 1];2.代码Singleton.h// Use of this source code is governed by a

2017-08-20 13:29:35 474

原创 16muduo_base库源码分析(七)

1.ThreadPool类图2.代码ThreadPool.h// Use of this source code is governed by a BSD-style license// that can be found in the License file.//// Author: Shuo Chen (chenshuo at chenshuo dot com)

2017-08-20 12:30:35 378

原创 15muduo_base库源码分析(六)

1.BoundedBlockingQueue(有界缓冲区)BoundedBlockingQueue.h// Use of this source code is governed by a BSD-style license// that can be found in the License file.//// Author: Shuo Chen (chensh

2017-08-19 22:01:00 351

原创 组合模式

1.动机(1)在软件在某些情况下,客户代码过多依赖于对象容器复杂的内部实现结构,对象容器内部实现结构(而非抽象接口)的变化将引起客户代码的频繁变化,带来了代码的维护性,扩展性等弊端(2)如何“将客户代码与复杂的对象容器结构”解耦?让对象容器自己来实现自己的复杂结构,从而使得客户代码就像处理简单对象一样来处理复杂的对象容器?2.模式定义将对象组合成树形结构以表示“部分-整体”的层次结

2017-08-12 21:51:15 291

原创 代理模式

1.动机(1)在面向对象系统中,有些对象由于某种原因(比如对象创建的开销很大,或者某些操作需要安全控制,或者需要进程外的访问等),直接访问会给使用者,或者系统结构带来很多麻烦(2)如何在不失去透明操作对象的同时来管理/控制这些对象特有的复杂性?增加一层间接层是软件开发中常见的解决方式。2.模式定义为其他对象提供一种代理以控制(隔离,使用接口)对这个对象访问。

2017-08-06 19:52:09 341

原创 备忘录

1.动机(1)在软件构建过程中,某些对象在转换过程中,可能由于某种需要,要求程序能够回溯到对象之前处于某个点的状态。如果使用一些公有接口来让其他对象得到对象的状态,便会暴露对象的细节实现。(2)如何实现对象状态的良好保存与恢复?但同时又不会因此而破坏对象本身的封装性。2.模式定义在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到

2017-08-06 16:39:23 333

原创 状态模式

1.动机(1)在软件构建过程中,某些对象的状态如果改变,其行为也会随之而发生变化,比如文档处于只读状态,其支持的行为和读写状态支持的行为就可能完全不同。(2)如何在运行是根据对象的状态来透明地更改对象的行为?而不会为对象操作和状态转化之间引入耦合2.模式定义允许一个对象在其内部状态改变时改变它的行为。从而使对象看起来似乎修改了其行为。

2017-08-06 15:59:26 348

原创 iconv命令

[功能] 对于给定文件把它的内容从一种编码转换成另一种编码。 [描述] -f encoding :把字符从encoding编码开始转换。 -t encoding :把字符转换到encoding编码。 -l :列出已知的编码字符集合 -o file :指定输出文件 -c :忽略输出的非法字符 -s :禁止警告信息,但不是错误信息 --verbose :显示进度信息

2017-08-02 21:17:48 692

1.6 Golang在阿里巴巴调度系统Sigma中的实践.pdf

1.6 Golang在阿里巴巴调度系统Sigma中的实践。

2020-04-19

栈和队列.rar

栈队列,两个栈实现队列,两个队列实现栈,栈和队列的一些简单应用

2016-01-14

深度优先搜索

哈理工几道深度优先搜索例题,泉水下山

2015-08-15

排序树 变成双向链表

排序树 变成双向链表排序树

2014-09-14

排序树 双向 循环链表

排序树 双向 循环链表

2014-08-31

空空如也

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

TA关注的人

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