摘要:
零拷贝原理:在实际应用中,如果我们要把磁盘内容发送到远程服务器上,那么它必须要经过几个拷贝的过程。第一个从磁盘中去读取目标文件的内容拷贝到内核缓冲区第二个CPU控制器把内核缓冲区中的数据拷贝到用户空间的缓冲区。第三个在应用程序中调用write()方法,把用户空间缓冲区中的数据拷贝到内核空间的Sock 阅读全文
摘要:
AQS是多线程同步器,它是J.U.C包中多个组件的底层实现,如Lock、CountDownLatch、Semaphore等都用到了AQS. 从本质上来说,AQS提供了两种锁机制,分别是排它锁,和 共享锁。 排它锁,就是存在多线程竞争同一共享资源时,同一时刻只允许一个线程访问该共享资源,也就是多个线程 阅读全文
摘要:
https://blog.csdn.net/shenaisi/article/details/81488187 1.显示目录和文件的命令 ls /df /du 2.修改权限归属 Chmod:用于改变指定目录或文件的权限命令。 Chown:用于改变文件拥有属性的命令。 3.创建和删除目录 mkdir 阅读全文
摘要:
RocketMQ主要存储文件包括,commitLog、consumeQueue、indexFile,所有主题消息都顺序存储在一个文件中,以确保消息的顺序写;同时,RocketMQ又引入了consumeQueue,每个主题包含多个消费队列,每个消费对了对应一个文件,如下图 RocketMq将所有主题的 阅读全文
摘要:
RocketMQ采用了2PC的思想来实现了提交事务消息,同时增加一个补偿逻辑来处理二阶段超时或者失败的消息。 阅读全文
摘要:
对于zookeeper的理解可以从分布式系统中三种典型的场景来说第一种是集群管理,在多个节点组成的集群红,为了去保证集群的高可用特性,每个节点都会去冗余一份数据副本,这种情况下需要保证客户端访问集群种,任意一个节点都是最新的数据第二种分布式锁,如何保证跨进程的共享资源的并发安全性,对于分布式系统来说 阅读全文
摘要:
生产者:1.同步阻塞的方式发送消息,加上失败重试机制2.异步发送需要重写回调方法,检查发送结果 broker:同步刷盘 ,集群模式下采用同步复制,会等待slave复制完成才返回确认 消费者:offset手动提交 阅读全文
摘要:
zookeeper选举机制 第一次启动选举机制 因为各个节点都没有数据,所以依据的选举策略是,serverID进行比较,启动的节点首先给自己投票,然后与其他启动的节点进行通讯,serverid大的获取投票并且超半数才可当选。 非第一次启动选举 1.Epoch大的直接胜出 2.epoch相同,事务id 阅读全文
摘要:
spring bean 的生命周期大致可以分为5个阶段,分别是创建前准备、创建实例化、依赖注入、容器缓存、销毁实例第一阶段创建前准备,这个阶段的主要作用,bean在开始加载前要从上下文和一些配置中去解析并查找bean有关的扩展实现,比如像init-method,容器在初始化bean的时候会调用的一个 阅读全文