三年前写过一篇博文,https://my.oschina.net/qidis/blog/3098902, 里面介绍了如何表示大数的方法。 即如何将一个很长的十进制整数字符串转化成二进制字符串,最终使用int[]来表达BigIntege...
本篇博文主要讲ConcurrentHashMap是如何遍历所有Node的。 扩容时ConcurrentHashMap的两个tab的形态如下。 扩容时转移数据从n--->0 从下往上方向进行。 遍历时从0--->n 从上往下方向进行。 如...
本机jdk版本 java version "1.8.0_92" 先上本博文最核心的图片,ConcurrentHashMap-TreeBin所用到的simple read-write lock。 这么一看的确是挺简单的。 如下图: ConcurrentHashMap和HashM...
0001001010010101010..... 一个无限的01串,统计0101串出现的次数。 本文提供三种方案, 方案1: 使用有限状态机 方案2: 使用翻转世界的有限状态机 方案3: 使用有限状态机+贪心算法 有限状态机...
1:基本数据结构 HashMap中的红黑树并不仅仅是红黑树,同时也是以根节点为first节点的双向链表。 数据结构为 table + linkedlist + rbtree & linkedlist 。 table中每个格子称为slot。 slot...
本博文使用图文描述了平衡二叉搜索树的插入过程: 1: 寻找插入点 2:向上回溯寻找失去平衡的节点 (状态不等于EH的节点) 3:旋转 4:如何检测构建的树的确是正确的 平衡二叉搜索树 平衡二叉...
@EnableXXX 在工作中经常使用到,意味着开启某功能, 使用简单,那么@EnableXXX 到底干了那些事情呢。 @EnableXXX -------> @Import(A.class) 要实现某功能,则需要导入指定的class(es) 。 ...
最近开始使用Spring开发新项目了,开发新项目必定少不了折腾增删查改。 其中模糊查询,精确查询,分页查询也算是不好对付的功能,需要手写大量重复的代码来实现相关的功能,如何优雅的实现查...
producer 是如何将某个topic的一条record发送到该topic对应的某个分区Partition上面去的? 首先分析一个重要的消息载体 ConcurrentMap<TopicPartition, Deque<RecordBatch>> 的结构,它是一个...
import java.util.Date; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.locks.LockSupport; public class Main13 { public static void main(String[] args)...
1: 二进制长除法 2: Knuth长除法 3:BurnikelZiegler除法 1: 二进制长除法非常非常简单 更正一下,这里的减法是n次对位相减,比较也是n次对位的比较,右移和左移都是n次, 所以算法的复杂度...
Ax AAy AAAz AAAAdm 求 next[mi] 。 mi代表m在数组中的index。 zi,yi,xi亦如此。 如图z和d不相等,则需要比较y和d, AAy AAz next[zi] = yi = k y=array[k] 如果y和d相同, 则next[mi] = k+...
先上运行结果截图: import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Random; public class Main10 { static class Position { ......
/** * The bin count threshold for untreeifying a (split) bin during a * resize operation. Should be less than TREEIFY_THRESHOLD, and at * most 6 to mesh with shrinkage detection...
public class Main3 { public static void main(String[] args) { int m = 1 ; for(int i = 0 ; i < 32 ; i++){ int x = (m << i) ; String xb = Integer.......
本机JDK版本 1.8.0.92 本篇作为ConcurrentHashMap的开篇文章,先介绍几个基础的知识,hash函数,计数器,扩容机制。这些知识作为通识知识,和具体的操作无关。 ConcurrentHashMap VS HashMap...
IdentityHashMap 的key比较时用的是引用相等,而不是值相等。 key == search 而不是 key.equals(search) . 存储容器是一维数组,容量capacity为2^n , 数组长度为capacity*2 ; key位于数组的偶...
/** * author lizhifeng * 基于信号量的限流器 * 例如 1秒钟 10个许可, 许可用完立即锁定。 */ import java.util.concurrent.Semaphore; public class SemaphoreLimit { private volatil......
滑动窗口限流的基本原理: 将数据分散到足够多的bucket中去,然后以一定的速率产生新的bucket,并且移除最久远的bucket。 package windowlimit; public class Bucket { private int accessN...
没有更多内容
加载失败,请刷新页面
文章删除后无法恢复,确定删除此文章吗?
动弹删除后,数据将无法恢复
评论删除后,数据将无法恢复