一、案例 从图一可以看出provider端提供了两个服务,并且JsonDemoService指定序列化协议为fastjson;DemoService指定序列化协议为hessi...
一、案例 从图一可以看出provider端提供了两个服务,并且JsonDemoService指定序列化协议为fastjson;DemoService指定序列化协议为hessi...
一、Kafka Kafka 日志对象由多个日志段对象组成,而每个日志段对象会在磁盘上创建一组文件,包括消息日志文件(.log)、位移索引文件(.index)、时间戳索引文件(...
一、Kafka事务消息 Kafka的事务概念类似于数据库提供的事务,即经典的ACID,原子性(Atomicity)、一致性(Consistency)、隔离性(Isolatio...
一、Kafka顺序消息 Producer端:Kafka的顺序消息是通过partition key,将某类消息(例如同一笔订单的不同状态)写入同一个partition,因此Ka...
一、Kafka分区机制 Kafka的消息组织方式实际上是三级结构:主题-分区-消息。主题下的每条消息只会保存在某一个分区中,而不会在多个分区中被保存多份。 1. 默认分区策略...
一、Broker设计对比 1. Kafka Topic A共有2个分区,每个分区有两个副本(一个Leader一个Follower),分别分布在 Broker0 和 Broke...
一、Linux工具 1. top top 命令是 Linux 下最常用的命令之一,它可以实时显示正在执行进程的 CPU 使用率、内存使用率以及系统负载等信息。其中上半部分显示...
一、注解 @SpringBootApplication 注解 @SpringBootApplication 注解实际上是一个组合注解,它由三个注解组合而成,分别是 @Spri...
一、内核接收数据流程 网卡发现 MAC 地址符合,就将包收进来;发现 IP 地址符合,根据 IP 头中协议项,知道上一层是 TCP 协议; DMA把TCP数据包copy到内核...
一、Socket缓冲区 1. 发送缓冲区 发送缓冲区分为4部分,按照顺序排列 已经发送,并且收到客户端ACK; 已经发送,等待ACK; 已经准备好了,马上就可以发送; 尚未准...
一、对象是否已死 1. 引用计数 在对象中添加一个引用计数器,每当有一个地方引用它时就加一,失效时减一。优点:实现简单;缺点:无法解决循环引用; 2. 可达性分析 通过GCR...
示例代码 ClassRoom和Student互相引用; context.setAllowCircularReferences(true)在refresh前可以设置是否允许循环...
堆外内存 概念 堆内内存在 Java 中对象都是在堆内分配的,通常我们说的JVM 内存也就指的堆内内存,堆内内存完全被JVM 虚拟机所管理,JVM 有自己的垃圾回收算法,对于...
概述 Java的类加载,就是把字节码格式“.class”文件加载到JVM的方法区,并在JVM的堆区建立一个java.lang.Class对象的实例,用来封装Java类相关的数...
概述 从Tomcat-整体架构[https://www.jianshu.com/p/31a6c060fc17]中看到Tomcat涉及众多有生命周期概念的组件,包括Server...
概述 本节以I/O多路复用模型NioEndpoint为例分析下连接器涉及的组件; 1. LimitLatch LimitLatch是连接控制器,它负责控制最大连接数,NIO模...
整体架构 Tomcat作为一个Web应用服务器主要需要提供两方面的能力:1. 处理Socket连接,负责网络字节流与Request和Response对象的转化;2. 加载和管...