摘要:
一、Java I/O 演进之路 1.1 Old I/O Java1.4之前的早期版本,Java对I/O的支持并不完善,在开发高性能的I/O程序的时候,会面临一些巨大的挑战和困难,主要问题如下: 没有数据缓冲区,I/O性能存在问题 数据缓冲区:Buffer, 如:ByteBuffer、CharBuff 阅读全文
摘要:
MySQL逻辑架构 MySQL逻辑架构整体分为三层,最上层为客户端层,并非MySQL所独有,诸如:连接处理、授权认证、安全等功能均在这一层处理。 MySQL大多数核心服务均在中间这一层,包括查询解析、分析、优化、缓存、内置函数(比如:时间、数学、加密等函数)。所有的跨存储引擎的功能也在这一层实现:存 阅读全文
摘要:
1.netty如何处理以下问题: 客户端断连重连、网络闪断、半包读写、失败缓存、网络拥塞和异常码流处理 epoll bug:导致Selector空轮询,最终导致CPU 100% Netty的优点: API使用简单,开发门槛低 功能强大,预置了多种编解码功能,支持多种主流协议 定制能力强,可以通过Ch 阅读全文
摘要:
关键代码见:// *** 写半包判断处理 start *** 与 // *** 写半包判断处理 end *** 之间标注的内容 循环遍历发送缓冲区,对消息的发送结果进行判断,下面具体展开进行说明: 从ChannelOutboundBuffer弹出第一条发送的ByteBuf,然后获取该ByteBu 阅读全文
摘要:
内存池采用了slab分配思路,内存被划分成多种不同大小的内存单元,在分配内存时根据使用者请求的内存大小进行计算,匹配最接近的内存单元。在计算时分下面几种情况: 请求的内存大小是否超过了chunkSize,如果已超出说明一个该内存已经超出了一个chunk能分配的范围,这种内存内存池无法分配应由JVM分 阅读全文
摘要:
1.NioServerSocketChannel DefaultServerSocketChannelConfig#setOption @Override public <T> boolean setOption(ChannelOption<T> option, T value) { validat 阅读全文
摘要:
待补充 1.入站、出站事件handler调用顺序 2.入站、出站事件的范围 阅读全文
摘要:
1.请求创建Connection 2.创建Connection 3.发送请求 4.接收响应 阅读全文
摘要:
待补充: Deployment Architecture 阅读全文
摘要:
3.1 Jetty POJO配置 Jetty核心组件都是Plain Old Java Objects (POJOs) 。配置Jetty的过程大多是实例化、组装、配置Jetty POJO属性。可以通过: 编写Java代码完成Jetty对象的实例化、组装,即:Embedding Jetty 使用Jett 阅读全文