HashMap源码注解 之 静态工具方法hash()、tableSizeFor()

HashMap#hash()为什么要有HashMap的hash()方法,难道不能直接使用KV中K原有的hash值吗?在HashMap的put、get操作时为什么不能直接使用K中原有的hash值。 /** * Computes key.ha...

阅读全文



树莓派安装 OpenFans ,体验便捷的 Docker 容器云服务

OpenFans 介绍OpenFans 是一款基于 Debian 发行版的 Linux 发行版,也是全球发行的第一个同时支持树莓派全系64位硬件的64位系统(包括:2Bv1.2,3B,3B+,3A+,4B)。官网:http://www.openfans....

阅读全文



让线程按顺序执行8种方法

前言本文使用了7中方法实现在多线程中让线程按顺序运行的方法,涉及到多线程中许多常用的方法,不止为了知道如何让线程按顺序运行,更是让读者对多线程的使用有更深刻的了解。 使用的方法如下:[1] 使用线程的join方法[2] 使用主线程的join方法[3] 使...

阅读全文



基于 Redis 的分布式锁 Redlock

怎么在单节点上实现分布式锁说道Redis分布式锁大部分人都会想到:setnx+lua,或者知道 set key value px milliseconds nx 。后一种方式的核心实现命令如下:该命令仅当 Key 不存在时(NX保证)set 值,并且设置...

阅读全文



ByteBuffer 与 DirectByteBuffer 在堆外内存的应用

前置知识堆外内存堆外内存是相对于堆内内存的一个概念。堆内内存是由 JVM 所管控的 Java 进程内存,我们平时在 Java 中创建的对象都处于堆内内存中,并且它们遵循 JVM 的内存管理机制,JVM 会采用垃圾回收机制统一管理它们的内存。那么堆外内存就...

阅读全文