HashMap详解

前言HashMap是是Java Collections Framework的成员,位于java.util包,在JDK1.2引入。其数据存储形式是基于K-V键值对形式进行存储,HashMap中的key不能重复,允许且只能存在一个null值。如果多次put同一个key会进行值覆盖,对于value则没有限

史上最全ThreadLocal详解

ThreadLocal叫做线程变量,意思是ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的,也就是说该变量是当前线程独有的变量。ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量

月活 12.8 亿的微信如何防止崩溃?| 后台过载保护策略

最近在研究过载保护,微信是一个国民级的应用,月活用户过 10 亿,而且经常过年过节消息量暴增,服务很容易出现过载,但微信的服务一直比较稳定,他们是怎么做的呢?互联网上搜索了一番,找到了他们在 2018 年发表于 Socc 会议上的文章,《Overload Control for Scaling Wechat Microservices》 介绍了微信大规模微服务的过载保护策略,其中很多方法还是比较有借鉴意义的。

Java多线程:彻底搞懂线程池

熟悉 Java 多线程编程的同学都知道,当我们线程创建过多时,容易引发内存溢出,因此我们就有必要使用线程池的技术了。总体来说,线程池有如下的优势: 降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。 提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。

浏览器输入www.baidu.com后执行的全部过程

1、浏览器获取输入的域名www.baidu.com2、浏览器向DNS请求解析www.baidu.com的IP地址1. 根据网络七层

全文搜索引擎ElasticSearch技术分析

生活中的数据搜索引擎是对数据的检索,所以我们先从生活中的数据说起。我们生活中的数据总体分为两种:结构化数据 和 非结构化数据。结构化数据: 也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格