源码 JDK1.8 HashMap 总结 ```text 学习 HashMap 已经短短续续持续了一段时间。 现对HashMap 的使用略作总结。 ``` ## 在集合初始化时,指定集合初始值大小。 > 见《阿里编程规范》第一章 1.5集合处理章节第9条。 * 在需要存储的数据个数确定的情况下,指定集合初始值大小。 * initialCapacity = (需要存储的元素个数 / 负载因子) + 1. ## 对红黑树的理解 * 1、 2019-09-19 浏览(227) 评论(0) 阅读全文
中间件 rapid-lang-mask Java 客户端使用手册 # Java 客户端使用手册 # 日志脱敏组件 * **依赖** ``` com.yueny.rapid.lang rapid-lang-mask 1.0.1-RELEASE 2019-04-04 浏览(711) 评论(2) 阅读全文
Redis 中查找大对象 redis作为一个高性能内存数据库,在实际业务中应用的非常广泛,虽然redis的性能很好,但是在实际使用过程中,如果使用不当,也会造成一些性能问题,比如数据中存在大key。什么是大key?顾名思义就是单个key中的数据比较大,通常来说,单个key的value值不会很大,这种情况下,key的读取,删除操作不会影响性能,如果value过大,读取或删除会相对耗时,大家都知道,redis是单线程,耗时操作 2020-12-30 浏览(53) 评论(0) 缓存 阅读全文
记一次线上慢SQL 查询的优化过程 最近线上服务卡顿频发, 原因除了部分时间段出现 FGC,还有一个重要因素就是存在部分SQL查询时间均在秒级之上。 2020-12-16 浏览(120) 评论(0) 问题排查 阅读全文
JAVA 多线程之ThreadLocal详解 通过该文,我们对ThreadLocal 、InheritableThreadLocal、TransmittableThreadLocal 的原理和源码进行深入分析,并举例讲解。 ThreadLocal 、InheritableThreadLocal是JDK自带的,解决了单线程环境和在单线程中又创建线程(父子线程)中线程隔离的问题。 TransmittableThreadLocal 是阿里巴巴的组 2020-12-15 浏览(125) 评论(0) JDK1.8 源码阅读 阅读全文
【集合】Java 集合的交集(AnB)、(去重)并集(AuB)、差集(A-B)、交集的补集 (AuB) - (AnB) 的计算 交集(AnB)、并集(AuB)、差集(A-B)、交集的补集 (AuB) - (AnB) 集合是我们在日常开发设计中用到的最多的数据结构。如果要对多个集合进行差异或差错处理的话,两个独立的for循环会极大的增加代码复杂度和未来的理解成本,使用集合的交集、并集和差集能够更便捷的帮助我们去解决这个问题。 2020-10-29 浏览(308) 评论(0) 代码片段 阅读全文
【Guava】开发过程中,业务逻辑优雅的参数校验 Preconditions 在开发过程中,对数据格式或者数据在业务上的期望值验证是必须要做的, 这样课可以进一步保证方法能够按照正常流程执行下去, 而不是完全通过错误处理来保证流程正确执行,毕竟错误处理是比较消耗资源的方式。 但是常规if...else...写法既有大量代码量, 又会导致读起来非常不友好,且复用性不高。 2020-10-22 浏览(726) 评论(5) 代码片段 阅读全文
设计模式 -- 单例模式 ## 定义 > 单例模式,属于创建型模式。该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 ### 何时使用 当想控制实例数目,节省系统资源的时候。 ### 关键 构造函数必须是私有的。 ### 应用场景 * 服务控制器 * 服务工厂 * 创建的一个对象需要消耗的资源过多,比如 I/O 与数据库的连接等。 2020-10-13 浏览(247) 评论(0) 编程 阅读全文
【书单汇总】 # JDK1.8 源码阅读 ## Introduction JDK1.8 源码阅读 ## Content ### java.util HashMap源码解析 ### java.util.concurr 2020-10-09 浏览(233) 评论(0) JDK1.8 源码阅读 阅读全文