上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 148 下一页
摘要: tomcat 异步线程模型大概可以理解为:acceptor负责接受新来的连接,然后把连接初始化后丢给poller来做io,然后又交给处理业务的exec线程池异步处理业务逻辑。 所以如果IO线程和handler 在一个线程里面,如果handler 执行某个逻辑比较耗时,比如查数据库、服务间通信等会严重 阅读全文
posted @ 2021-08-11 21:21 QiaoZhi 阅读(2353) 评论(0) 推荐(1)
摘要: RESP是Redis Serialization Protocol的简称,也就是专门为redis设计的一套序列化协议。这个协议比较简单,简单的说就是发送请求的时候按Redis 约定的数据格式进行发送,解析数据的时候按redis规定的响应数据格式进行相应。 无论是jedis还是lettuce, 最终发 阅读全文
posted @ 2021-08-11 21:19 QiaoZhi 阅读(377) 评论(0) 推荐(0)
摘要: 简单研究下线程池的执行原理。以及execute 和 submit 方法的区别。 1. execute 方法接收的是一个Runnable 参数,返回值是void 类型,也就是不接收结果, 方法签名如下: java.util.concurrent.Executor#execute void execut 阅读全文
posted @ 2021-08-09 21:18 QiaoZhi 阅读(278) 评论(0) 推荐(0)
摘要: 1. info指令 info指令显示的信息繁多,分为9大块。9大块如下: 1. server 服务器运行的环境参数 2. clients 客户端相关信息 3. memory 服务器运行内存统计数据 4.persistence 持久化信息 5.stats 通用统计数据 6.replication 主从 阅读全文
posted @ 2021-08-07 10:50 QiaoZhi 阅读(739) 评论(0) 推荐(0)
摘要: 1. NIOEventLoop 源码 EventLoopGroup bossGroup = new NioEventLoopGroup(1); 这里会创建一个group, 同时group 内部包含1个EventLoop 事件循环器 1. 类图继承关系 1. AbstractScheduledEven 阅读全文
posted @ 2021-08-04 21:55 QiaoZhi 阅读(352) 评论(0) 推荐(0)
摘要: 1. ChannelPipeline、ChannelHandler、ChannelHandlerContext 的关系 1. 每创建一个Socket 就会分配一个全新的ChannelPipeline (简称pipeline) 2. 每一个 ChannelPipeline 内部包含多个 Channel 阅读全文
posted @ 2021-08-02 22:24 QiaoZhi 阅读(482) 评论(0) 推荐(0)
摘要: 简单的分析下Netty的启动源码和接收请求的源码,以下面代码为例子: 1. 主启动类 /* * Copyright 2012 The Netty Project * * The Netty Project licenses this file to you under the Apache Lice 阅读全文
posted @ 2021-07-28 18:54 QiaoZhi 阅读(384) 评论(0) 推荐(1)
摘要: Redis 是个单线程程序。除了redis,nginx、node.js 也是单线程程序,但是它们都是服务器高性能的典范。 Redis 单线程为什么还能这么快?因为所有的数据都在内存中,所有的运算都是内存级别的运算。正因为Redis是单线程程序,所以要小心使用Redis 指令,对于那些时间复杂度为O( 阅读全文
posted @ 2021-07-25 22:29 QiaoZhi 阅读(238) 评论(0) 推荐(0)
摘要: 之前在学习NIO的时候只是简单的学习了其使用,对齐组件Selector、Channel、Buffer 也是只是有三个重要的类,至于为什么叫NIO以及NIO的优点没有了解,这里详细记录下。 1 . 简单组成 内核模式:跑内核程序。在内核模式下,代码具有对硬件的所有控制权限。可以执行所有CPU指令,可以 阅读全文
posted @ 2021-07-21 18:10 QiaoZhi 阅读(1183) 评论(0) 推荐(0)
摘要: 1. 简介 Kafka 是一个基于发布/订阅模式的消息队列,主要用于大数据实时处理领域。 1. 使用消息队列的好处: 1. 解耦:允许独立的修改或者扩展两遍的处理过程 2. 可恢复性:系统的一部分组件失效后,不会影响整个系统。 3. 缓冲:有助于控制和优化数据流经过系统的速度,解决生产者和消费者处理 阅读全文
posted @ 2021-07-11 19:13 QiaoZhi 阅读(191) 评论(0) 推荐(0)
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 148 下一页