随笔分类 - Java知识
maven build 运行unit test失败 process exit code:134
摘要:环境: JDK :17.0.7 Springboot: 3.1.0 Junit: 5 问题: 运行mvn clean install 时在maven-surefire-plugin: test 阶段失败。The forked VM terminated without prperly saying
阅读全文
手撕堆排序(含图解,代码,复杂度分析,使用场景)
摘要:
本篇重点 1. 什么是堆,有什么特性? 2. 堆排序概述 3. 堆排序图解 4. 代码 5. 堆排序时间复杂度/空间复杂度/稳定性 6. 堆排序/堆适用场景 什么是堆 1. 堆是完全二叉树。一棵深度为k的有n个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为i(1≤i≤n)的
阅读全文
本篇重点 1. 什么是堆,有什么特性? 2. 堆排序概述 3. 堆排序图解 4. 代码 5. 堆排序时间复杂度/空间复杂度/稳定性 6. 堆排序/堆适用场景 什么是堆 1. 堆是完全二叉树。一棵深度为k的有n个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为i(1≤i≤n)的
阅读全文
HashMap的哈希函数为何用(n - 1) & hash
摘要:
前言 在上一篇 Java 中HashMap详解(含HashTable, ConcurrentHashMap) 中提到在map.put(key, value)的过程中,计算完key的hash值, 是通过hash & (n-1)来得出该元素在Node数组中的下标的,其中n是Node数组的长度。 其实我们
阅读全文
前言 在上一篇 Java 中HashMap详解(含HashTable, ConcurrentHashMap) 中提到在map.put(key, value)的过程中,计算完key的hash值, 是通过hash & (n-1)来得出该元素在Node数组中的下标的,其中n是Node数组的长度。 其实我们
阅读全文
Java 中HashMap详解(含HashTable, ConcurrentHashMap)
摘要:
本篇重点: 1.HashMap的存储结构 2.HashMap的put和get操作过程 3.HashMap的扩容 4.关于transient关键字 5.HashMap, HashTable, ConcurrentHashMap 对照 6.关于volatile关键字 HashMap的存储结构 1. Ha
阅读全文
本篇重点: 1.HashMap的存储结构 2.HashMap的put和get操作过程 3.HashMap的扩容 4.关于transient关键字 5.HashMap, HashTable, ConcurrentHashMap 对照 6.关于volatile关键字 HashMap的存储结构 1. Ha
阅读全文
Java中如何创建不可变(immutable)类
摘要:什么是不可变类 1. 不可变类是指类的实例一经创建完成,这个实例的内容就不会改变。 2. Java中的String和八个基本类型的包装类(Integer, Short, Byte, Long, Double, Float,Boolean,Char)都是不可变类 3.不可变类 vs 不可变变量: 二者
阅读全文
Java String Pool--String s = new String("a") 到底创建了几个对象?
摘要:
本篇重点(tips): 1. String Pool 是以Java 中 String 对象是不可变的这一特性为基础的 2. String Pool是Heap(堆)中的一块特殊空间(JDK 1.7 之前不是,是在PermGen里面,从1.7开始在heap里面了),存储不重复的String 常量 3.
阅读全文
本篇重点(tips): 1. String Pool 是以Java 中 String 对象是不可变的这一特性为基础的 2. String Pool是Heap(堆)中的一块特殊空间(JDK 1.7 之前不是,是在PermGen里面,从1.7开始在heap里面了),存储不重复的String 常量 3.
阅读全文
浙公网安备 33010602011771号