DLL查看函数的几种方式

简述

目前常用查看DLL函数的方式主要有两种:
1、通过dll函数查看器查看;
2、通过dumpbin命令查看;

通过DLL函数查看器查看

Dll函数查看器是一款简单实用的文件查看工具,支持打开所有符合PE文件格式的文件,可用于查看dll、exe、ocx等文件函数。使用这个工具可以查看DLL文件的导出函数和引用函数信息及引用函数来源,更好的了解DLL文件的用途。

RocketMQ中的零拷贝

零拷贝

什么是零拷贝?
所谓零拷贝就是避免数据在内核空间缓冲区和用户空间缓冲区之间的复制,避免CPU拷贝对CPU资源的消耗。

零拷贝的两种实现方式:

  • mmap + write方式
    优点:即使频繁调用,使用小块文件传输,效率也很高。
    缺点:不能很好的利用DMA方式,会比sendfile多消耗 CPU,内存安全性控制复杂,需要避免JVM Crash问题。
  • sendfile方式

RocketMQ的存储设计

消息存储结构

RocketMQ消息存储默认路径:${user.home}\store\

消息存储结构包括:

  • commitlog 消息存储目录
  • config 运行期间的配置信息
  • consumequeue 消息消费队列存储目录
  • index 消息索引文件存储目录
  • abort 如果存在abort文件,说明broker非正常关闭;该文件默认启动时创建,正常退出之前删除;
  • checkpoint 文件检测点,存储commitlog文件最后一次刷盘时间戳、consumequeue最后一次刷盘时间、index索引文件最后一次刷盘时间戳。

RocketMQ集群模式部署

RocketMQ部署主要有以下几种模式:

  • 单master模式(Local模式或单点模式)
  • 多master模式(无slave)
  • 多master多slave模式-异步复制模式
  • 多master多slave模式-同步双写模式

刷盘策略:同步刷盘/异步刷盘(指节点自身消息持久化是同步还是异步写入磁盘)
主从同步方式:同步双写/异步复制(指同一组主从节点之间数据的同步)