摘要:
1. redis内存淘汰机制 redis 提供6种数据淘汰策略: volatile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰 volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的 阅读全文
摘要:
1. redis内存淘汰机制 redis 提供6种数据淘汰策略: volatile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰 volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的 阅读全文
摘要:
1. 关于多参数排序问题 有两种方法可以解决多参数排序的问题 第一种是继承comparable接口,并复写compareto方法,这样就可以直接使用Collections.sort()方法进行排序 第二种方法是不继承任何接口,直接使用Collections.sort(数组,new Comparato 阅读全文
摘要:
1、Java堆溢出 原因: 代码中可能存在大对象分配 可能存在内存泄漏,导致在多次GC之后,还是无法找到一块足够大的内存容纳当前对象 解决方法: 检查是否存在大对象的分配,最有可能的是大数组分配 通过jmap命令,把堆内存dump下来,使用mat工具分析一下,检查是否存在内存泄露的问题 如果没有找到 阅读全文
摘要:
1. DNS解析过程 浏览器向DNS服务器发起请求,分为递归查询和迭代查询两种方式依次请求根域名服务器,顶级域名服务器和权威域名服务器 为了让DNS解析更加精确,客户端还需要在请求包里带上自己的源IP地址。 2. HTTP请求过程 在上一步我们通过 DNS 解析拿到服务器 IP 地址后,浏览器再通过 阅读全文
摘要:
1. producer MQProducer接口: public interface MQProducer<K, V> { Future<RecordMetadata> send(ProducerRecord<K, V> var1) throws IllegalArgumentException; 阅读全文
摘要:
1. kafka特性: 高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, consumer group 对partition进行consume操作。 可扩展性:kafka集群支持热扩展 持久性、可靠性:消息被持久化到本地磁盘, 阅读全文
摘要:
1. 微服务间通信基本概念 微服务间的通信本质上是不同进程间的通信,常见的几种通信方式有: 远程数据共享(比如共享远程文件,共享数据库等实现不同系统通信) 消息队列 RPC(远程过程调用) 微服务间的通信在大容量场景下使用分布式消息队列,平常调用接口使用RPC 2. RPC概念及分类 从通信协议的层 阅读全文
摘要:
1. 线程池的创建 线程池可以通过ThreadPoolExecutor来创建,以下是它的构造函数: public ThreadPoolExecutor(int corePoolSize, // 线程池核心线程数最大值 int maximumPoolSize, // 线程池最大线程数大小 long k 阅读全文
摘要:
1. http1.0和http1.1之间的区别 长连接: HTTP 1.0需要使用keep-alive参数来告知服务器端要建立一个长连接,而HTTP1.1默认支持长连接。这样在一个TCP连接上可以传送多个http请求和响应,不用多次建立和关闭TCP连接 宽带和网络连接优化: HTTP 1.1支持只发 阅读全文
摘要:
1. 长连接短连接概念 短连接:仅进行一次通信即关闭连接 长连接:每次通信完毕后不关闭连接 2. 长连接的维护 主要通过map的数据结构维护ip:port信息 3. 连接的保活 当双方已经建立了连接,但因为网络问题,链路不通,这样长连接就不能使用了。因此,需要使用一些机制对长连接进行保活 1. Ke 阅读全文
|