JDK1.8 HashMap 总结 源码

JDK1.8 HashMap 总结

```text 学习 HashMap 已经短短续续持续了一段时间。 现对HashMap 的使用略作总结。 ``` ## 在集合初始化时,指定集合初始值大小。 > 见《阿里编程规范》第一章 1.5集合处理章节第9条。 * 在需要存储的数据个数确定的情况下,指定集合初始值大小。 * initialCapacity = (需要存储的元素个数 / 负载因子) + 1. ## 对红黑树的理解 * 1、
阅读全文

Redis 中查找大对象

redis作为一个高性能内存数据库,在实际业务中应用的非常广泛,虽然redis的性能很好,但是在实际使用过程中,如果使用不当,也会造成一些性能问题,比如数据中存在大key。什么是大key?顾名思义就是单个key中的数据比较大,通常来说,单个key的value值不会很大,这种情况下,key的读取,删除操作不会影响性能,如果value过大,读取或删除会相对耗时,大家都知道,redis是单线程,耗时操作
阅读全文

JAVA 多线程之ThreadLocal详解

通过该文,我们对ThreadLocal 、InheritableThreadLocal、TransmittableThreadLocal 的原理和源码进行深入分析,并举例讲解。 ThreadLocal 、InheritableThreadLocal是JDK自带的,解决了单线程环境和在单线程中又创建线程(父子线程)中线程隔离的问题。 TransmittableThreadLocal 是阿里巴巴的组
阅读全文

【集合】Java 集合的交集(AnB)、(去重)并集(AuB)、差集(A-B)、交集的补集 (AuB) - (AnB) 的计算

交集(AnB)、并集(AuB)、差集(A-B)、交集的补集 (AuB) - (AnB) 集合是我们在日常开发设计中用到的最多的数据结构。如果要对多个集合进行差异或差错处理的话,两个独立的for循环会极大的增加代码复杂度和未来的理解成本,使用集合的交集、并集和差集能够更便捷的帮助我们去解决这个问题。
阅读全文

【Guava】开发过程中,业务逻辑优雅的参数校验 Preconditions

在开发过程中,对数据格式或者数据在业务上的期望值验证是必须要做的, 这样课可以进一步保证方法能够按照正常流程执行下去, 而不是完全通过错误处理来保证流程正确执行,毕竟错误处理是比较消耗资源的方式。 但是常规if...else...写法既有大量代码量, 又会导致读起来非常不友好,且复用性不高。
阅读全文

设计模式 -- 单例模式

## 定义 > 单例模式,属于创建型模式。该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 ### 何时使用 当想控制实例数目,节省系统资源的时候。 ### 关键 构造函数必须是私有的。 ### 应用场景 * 服务控制器 * 服务工厂 * 创建的一个对象需要消耗的资源过多,比如 I/O 与数据库的连接等。
阅读全文
本文目录
    Loading...