ubuntu 环境配置记录
更换源
阿里源
sudo bash -c "cat << EOF > /etc/apt/sources.list && apt update
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-...
arthas 工具学习记录
使用springboot 创建一个会出现 内存溢出的接口
@RestController
public class JvmThreadController {
List<byte[]> memoryList = new ArrayList<>();
@GetMapping("/memoryTest")
public String memoryTest(int c) {
byte[] b = new byte[c * 1024 * 1024];
memoryList.add(b);
return "success";
}
}
出现的异常报错:
java.lang.OutOf...
java 使用指针可以解答的算法 学习记录
a 字符串被包含在 b 字符串中
示例 1:
输入:s = "abc", t = "ahbgdc"
输出:true
示例 2:
输入:s = "axc", t = "ahbgdc"
输出:false
@Test
public void test() {
String s = "abc", t = "ahbgdc";
int sPoint = 0,tPoint = 0;
while (sPoint < s.length() && tPoint<t.length()) {
if (s.charAt(sPoint) == t.charAt(tPoint)){
sPoint++;
...
面试知识点总结
HashMap
HashMap数据结构图
这张图囊括了HashMap中最基础的几个点:
Java中HashMap的实现的基础数据结构是数组,每一对key->value的键值对组成Entity类以双向链表的形式存放到这个数组中
元素在数组中的位置由key.hashCode()的值决定,如果两个key的哈希值相等,即发生了哈希碰撞,则这两个key对应的Entity将以链表的形式存放在数组中
调用HashMap.get()的时候会首先计算key的值,继而在数组中找到key对应的位置,然后遍历该位置上的链表找相应的值。
当然这张图中没有体现出来的有两点:
为了提升整个HashMap的读取效率,当HashMa...
java 使用指针可以解答的算法 学习记录
常见双指针题解
两个大数相加
两个大整数相加的功能,其中大整数以字符串的形式表示。说明:
定义了两个大整数字符串 a 和 b,以及一个 StringBuilder 用于存储相加的结果。
al 和 bl 分别表示字符串 a 和 b 的最高位的索引,初始化为字符串长度减1。
c 用于记录进位,初始化为0。
使用 while 循环,循环条件是 al 大于等于0、bl 大于等于0 或者存在进位 c。
在每次循环中,从字符串 a 和 b 的当前位置获取对应的数字,并将它们与进位 c 相加,得到 t。
将 t 对10取模,得到当前位的结果,并将其插入到 StringBuilder 的最前面。
将 t 除以10,得到进位 c。
分别将 al 和 bl 减1,以...
共计 30 篇文章,4 页。