Java8 HashMap Java8 对 HashMap 进行了一些修改,最大的不同就是利用了红黑树,所以其由 数组+链表+红黑树 组成。 根据 Java7 HashMap 的介绍,我们知道,查找的时候,根据 hash 值我们能够快速定位到数组的具体下标,但是之后的话,需要顺着链表一个个比较下去才 ...
分类:
编程语言 时间:
2019-12-30 17:08:57
阅读次数:
78
一.示例 1.统计PV和UV 1.1统计PV val conf = new SparkConf() conf.setMaster("local").setAppName("pvuv") val sc = new SparkContext(conf) val lineRDD = sc.textFile ...
分类:
其他好文 时间:
2019-12-30 14:16:01
阅读次数:
89
l 日志表应该以时间做分区,方便清理 一般应用都会有一些表用来记录用户操作日志,数据变更记录,交易流水等日志型的库表。这些表最好按时间字段做分区,这样在迁移或者清理历史记录时会比较方便,借助oracle的分区交换清理特性,效率比delete高很多。 l 频繁访问的sequece应该增加cache O ...
分类:
数据库 时间:
2019-12-29 20:07:30
阅读次数:
110
1. putVal方法 该方法主要做以下几件事: (1) 首先判断HashMap底层的table是否初始化,如果没有,就调用resize()方法进行初始化table操作. 注意resize方法即可以初始化table操作,也可以对table进行扩容 (2) 根据当前key的hash值和table的si ...
分类:
其他好文 时间:
2019-12-29 18:07:41
阅读次数:
65
1.Hash的基本原理 总共有M-1个桶,hash(key)指向一个特定的桶。 2.Hash function散列函数 略 3.哈希冲突及解决 闭合定址(closed addressing): linked—list chaining:每个桶存放一个指针,冲突的词条组织成列表。新进来的插在第一个和第 ...
分类:
编程语言 时间:
2019-12-29 16:53:17
阅读次数:
71
看了好久才懂,我好菜啊…… 题意:给两个字符串 $a$ 与 $b$,对于 $q$ 次询问,每次询问给出一个 $x$,求存在多少个位置使得 $a$ 从该位置开始的后缀子串与 $b$ 匹配的长度恰好为 $x$。 这题可以 Hash+二分 $O(n\log n)$ 过,还有一个高端做法是扩展 KMP(然而 ...
分类:
其他好文 时间:
2019-12-29 14:49:47
阅读次数:
69
一致性hash算法 1、为什么要用一致性hash算法 在使用Redis集群,Mysql集群,memcached集群时,经常用到将某个数据按照某种规则存放在不同的服务器节点上,比如使用 hash取模算法 ,将value值为1,2,3,4,5,6分别存放在三台服务器上。 使用hash(value)%3就 ...
分类:
编程语言 时间:
2019-12-29 12:48:13
阅读次数:
74
一,redis概念 Redis是一款基于C语言开发的nosql数据库。 数据保存在内存中。 数据都是以键值对的形式保存。 默认编码使用utf-8. 二,常用的5中数据类型 1.String 2.hash 3.list 4.set 5.sortedSet 三,过期策略 redis是基于内存的,内存都是 ...
分类:
其他好文 时间:
2019-12-29 11:02:14
阅读次数:
70
redis支持5种数据类型:【字符串:String】、【散列(哈希):Hash】、【列表:List】、【集合:Set】、【有序集合:SortedSet(zset)】,下面分别介绍5中数据类型的常用命令以及应用场景。 1、String类型 (01)赋值:set key value (02)取值:get ...
分类:
其他好文 时间:
2019-12-29 00:58:22
阅读次数:
72
HashMap源码分析 哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如 memcached)的核心其实就是在内存中维护一张大的哈希表。 一、什么是哈希表 在讨论哈希表之前,我们先大概了解下其他数据结构在新增,查找等基础操作执行性能 数组: 采 ...
分类:
其他好文 时间:
2019-12-28 19:23:07
阅读次数:
80