搜索结果
查询Tags标签: hashmap,共有 840条记录-
[JavaWeb]反序列化分析(二)--CommonCollections1
反序列化分析(二)--CommonCollections1 链子分析首先新建一个TransformedMap,其中二三参数为可控,后续要用到当TransformedMap执行put方法时,会分别执行transformKey和transformValue方法可以看到,两个方法中,都有transform方法,但参数不可控找能触发InvokerTransform的tr…
2022/1/19 20:52:27 人评论 次浏览 -
寻根究底-JDK1.7下HashMap的源码探究
源码分析jdk1.7下的HashMap 我们都知道1.7版本的hashmap的底层是数组加链表构成的,那么今天我们就来自己分析一波源码~ 篇幅有点长,废话不多说,直接开始分析~ 属性声明 //初始化容量 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16 //最大的…
2022/1/18 20:33:56 人评论 次浏览 -
寻根究底-JDK1.7下HashMap的源码探究
源码分析jdk1.7下的HashMap 我们都知道1.7版本的hashmap的底层是数组加链表构成的,那么今天我们就来自己分析一波源码~ 篇幅有点长,废话不多说,直接开始分析~ 属性声明 //初始化容量 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16 //最大的…
2022/1/18 20:33:56 人评论 次浏览 -
JDK1.7HashMap源码详细解读
(本文的源码解析都存在与代码块的注释里面,请耐心观看) 开始之前 我们先简单了解以下HashMap。HashMap的主干是一个Entry数组。Entry是HashMap的基本组成单元,每一个Entry包含一个key-value键值对。(其实所谓Map其实就是保存了两个对象之间的映射关系的一种集合)简单…
2022/1/17 22:33:31 人评论 次浏览 -
JDK1.7HashMap源码详细解读
(本文的源码解析都存在与代码块的注释里面,请耐心观看) 开始之前 我们先简单了解以下HashMap。HashMap的主干是一个Entry数组。Entry是HashMap的基本组成单元,每一个Entry包含一个key-value键值对。(其实所谓Map其实就是保存了两个对象之间的映射关系的一种集合)简单…
2022/1/17 22:33:31 人评论 次浏览 -
面试 | 不可不知的 Java 容器技术面试题(附答案)
中高级测试开发名企定向培养,挑战 BAT、TMD 年薪 50w-100W+ Offer,文末加群!1. Java 容器都有哪些? Java 容器分为 Collection 和 Map 两大类,其下又有很多子类,如下所示: Collection:ListArrayListLinkedListVectorStackSetHashSetLinkedHashSetTreeSetMap:Hash…
2022/1/17 12:04:57 人评论 次浏览 -
面试 | 不可不知的 Java 容器技术面试题(附答案)
中高级测试开发名企定向培养,挑战 BAT、TMD 年薪 50w-100W+ Offer,文末加群!1. Java 容器都有哪些? Java 容器分为 Collection 和 Map 两大类,其下又有很多子类,如下所示: Collection:ListArrayListLinkedListVectorStackSetHashSetLinkedHashSetTreeSetMap:Hash…
2022/1/17 12:04:57 人评论 次浏览 -
leetcode之哈希表十: 回文排列
原题: 力扣https://leetcode-cn.com/problems/palindrome-permutation-lcci/ 一、题目要求 给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。 回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。 回文串不一定是字典当中的单词。示例1:…
2022/1/16 23:38:16 人评论 次浏览 -
leetcode之哈希表十: 回文排列
原题: 力扣https://leetcode-cn.com/problems/palindrome-permutation-lcci/ 一、题目要求 给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。 回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。 回文串不一定是字典当中的单词。示例1:…
2022/1/16 23:38:16 人评论 次浏览 -
一次OOM排查的详细经过
1.问题定位 预发环境机器出现访问502的问题。 登录机器查看日志,没有发现特别的日志。 考虑到QA刚刚在做压测,想到是不是出现了OOM问题。搜索错误日志: cat error.log | grep "OutOf" 果然有OOM错误日志: java.lang.OutOfMemoryError: GC overhead limit ex…
2022/1/16 23:09:32 人评论 次浏览 -
一次OOM排查的详细经过
1.问题定位 预发环境机器出现访问502的问题。 登录机器查看日志,没有发现特别的日志。 考虑到QA刚刚在做压测,想到是不是出现了OOM问题。搜索错误日志: cat error.log | grep "OutOf" 果然有OOM错误日志: java.lang.OutOfMemoryError: GC overhead limit ex…
2022/1/16 23:09:32 人评论 次浏览 -
集合体系图
集合主要是两组(单列集合,双列集合) Collection接口有两个重要的子接口 List Set,他们的实现子类都是单列集合 Map接口的实现子类是双列集合,存放的K-Vpublic static void main(String[] args) {ArrayList arrayList = new ArrayList();arrayList.add("jack")…
2022/1/14 23:15:35 人评论 次浏览 -
集合体系图
集合主要是两组(单列集合,双列集合) Collection接口有两个重要的子接口 List Set,他们的实现子类都是单列集合 Map接口的实现子类是双列集合,存放的K-Vpublic static void main(String[] args) {ArrayList arrayList = new ArrayList();arrayList.add("jack")…
2022/1/14 23:15:35 人评论 次浏览 -
HashMap 的扩容过程
1.7的扩容过程void transfer(Entry[] newTable, boolean rehash) {int newCapacity = newTable.length;for (Entry<K,V> e : table) {while(null != e) {Entry<K,V> next = e.next;if (rehash) {e.hash = null == e.key ? 0 : hash(e.key);}int i = indexFor…
2022/1/13 6:04:15 人评论 次浏览 -
HashMap 的扩容过程
1.7的扩容过程void transfer(Entry[] newTable, boolean rehash) {int newCapacity = newTable.length;for (Entry<K,V> e : table) {while(null != e) {Entry<K,V> next = e.next;if (rehash) {e.hash = null == e.key ? 0 : hash(e.key);}int i = indexFor…
2022/1/13 6:04:15 人评论 次浏览