muduo源码解析1-timestamp类】的更多相关文章

mutexlock和mutexlockguard class mutexlock:noncopyable { }: class mutexlockguard:noncopyable { }: 作用: 本文仅实现了最基本的mutexlock和mutexlockguard,放弃了muduo源码中的一大堆宏定义,为求精简可读性高. 成员变量mutexlock: private: pthread_mutex_t m_mutex; pid_t m_holder; m_mutex为要操作的mutex.主要有…
这是昨晚的武汉,晚上九点钟拍的,疫情又一次来袭,曾经熙熙攘攘的夜市也变得冷冷清清,但比前几周要好很多了.希望大家都能保护好自己,保护好身边的人,生活不可能像你想象的那么好,但也不会像你想象的那么糟. 好了,言归正传,搞技术的努力提升技术才是王道. 这是Mybatis 源码解析第三篇文章 ①.Mybatis 源码解析1--从JDBC到Mybatis ②.Mybatis 源码解析2--从0到1实例搭建 在上一篇文章<Mybatis从0到1实例搭建>中,可乐给大家手撸了一遍如何通过 Mybatis…
AspectJAwareAdvisorAutoProxyCreator 的类图 上图中一些 类/接口 的介绍: AspectJAwareAdvisorAutoProxyCreator : 公开了AspectJ的调用上下文,并弄清楚来自同一切面的多个Advisor在AspectJ中的优先级规则. AbstractAdvisorAutoProxyCreator : 通用自动代理创建器,它基于检测到的每个顾问程序为特定bean构建AOP代理. AbstractAutoProxyCreator : 扩展…
logger: class logger { }; 在说这个logger类之前,先看1个关键的内部类 Impl private: //logger内部数据实现类Impl,内部含有以下成员变量 //时间戳,logstream数据流,日志级别,源文件行号,源文件名字. class Impl { public: typedef logger::loglevel LogLevel; //构造函数,最重要的地方,负责把日志头信息写入到m_stream中 //m_stream<<日志级别,old_errn…
FixedBuffer和logstream class FixedBuffer:noncopyable { }: class logstream:noncopyable { }: 先说一下包含的头文件有一个StringPiece.h 个人感觉这个stringpiece没有必要实现啊,直接用std::string就好了内部实现的操作,基本上std::string都能完成.后面有关stringpiece我都直接放弃了 const char* data() const { return ptr_; }…
在学习Netty内存池之前,我们先了解一下Netty的内存对齐类SizeClasses,它为Netty内存池中的内存块提供大小对齐,索引计算等服务方法. 源码分析基于Netty 4.1.52 Netty内存池中每个内存块size都符合如下计算公式 size = 1 << log2Group + nDelta * (1 << log2Delta) log2Group:内存块分组 nDelta:增量乘数 log2Delta:增量大小的log2值 SizeClasses初始化后,将计算c…
先看看 AspectJExpressionPointcutAdvisor 的类图 再了解一下切点(Pointcut)表达式,它指定触发advice的方法,可以精确到返回参数,参数类型,方法名 1 package concert; 2 3 public interface Performance { 4 void perform(); 5 } AspectJExpressionPointcutAdvisor 源码,官方文档解释说这是可以用于任何AspectJ切入点表达式的 Spring AOP A…
一.Object类概述   Object类是java中类层次的根,是所有类的基类.在编译时会自动导入.Object中的方法如下: 二.方法详解   Object的方法可以分成两类,一类是被关键字final修饰的的方法,这类方法能被子类覆盖.另一类是没有final修饰,它们可以被子类重写. 构造方法:Object()   在Object中没有显式的构造方法,这个只是创建一个Object对象,没有什么可以说的. getClass()   getClass被final修饰,不能被子类重写.它返回的是正…
{说明} 这一部分的源码内容被我简化了,另外我还额外添加了一个辅助类 is-grow. .columns // 修饰类 &.is-centered justify-content: center &.is-multiline flex-wrap: wrap &.is-vcentered align-items: center // 在平板+设备上采用 Flex 布局 +tablet display: flex .column display: block &.is-grow…
上一节主要介绍了String类的一些构造方法,主要分为四类 无参构造器:String(),创建一个空字符串"",区别于null字符串,""已经初始化,null并未初始化 副本构造器:String(String s),简单的赋值,得到的是一个副本,俩个引用指向的是常量池中的同一个String,但是String是不可变的,所有用意不大 byte类构造器:String(byte[] b),将byte数组转换为String,注意并不是简单的赋值,而是整体copy一份 cha…