本文详细讲述了Java中的HashMap
基本原理,同时给出了针对JDK1.8中HashMap
的put
,get
,remove
,resize
,hash
五个方法的源代码进行解析。同时给出了HashMap
为什么不是线程安全的原因以及其与HashSet
、HashTable
等其它集合框架的对比。
本文讲述了Java传参时的引用传递和值传递,以及数组的传递方式。
本文详细讲述了Java的序列化与反序列化机制,以及Java序列化算法的实现过程,以及Serializable
接口的使用和重写相关序列化与反序列化算法的实现过程,同时讲述了transient
关键字的意义和使用方法。
本文讲述了Java中浅拷贝与深拷贝的概念,并通过相关实例阐述了二者之间的不同,同时揭示了通过实现Cloneable
接口以实现对象深拷贝的方法。
本文讲述了布隆过滤器的适用场景和基本原理,以及开源项目基于Redis的布隆过滤器RedisBloom
及其控制台和Java API的使用。
本文讲述了用户请求来袭时,服务端正常的缓存处理流程,以及三种退化情况缓存穿透、缓存击穿、缓存雪崩的概念及解决方案。
本文详细讲述了几种分布式唯一id生成策略及其优缺点,例如:数据库自增长字段、UUID、Snowflake算法等,并给出了Snowflake算法的Java实现以及美团公司的2种分布式唯一id生成方案——Leaf-segment方案和Leaf-snowflake方案——的详细介绍。