02 2022 档案
摘要:问题是我在完成LeetCode第23题时遇到的,我采用的是最小堆加上递归的解决方式。递归中,我对参数数组lists做了foreach,并且赋值,发现lists的值不会改变,结果是栈溢出。 当改成直接修改数组元素时AC。 for (int i = 0; i < lists.length; i++) {
阅读全文
摘要:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 解题思路1:链表迭代实现 当两个链表都不为空时,迭代判断大小,添加节点。一方为空,则直接补另一方剩下所有的节点。 时间复杂度取决于两个链表长度,O(m+n)。 空间复杂度小,只需要修改指针指向性,O(1
阅读全文
摘要:彻底搞清楚class常量池、运行时常量池、字符串常量池 常量池-静态常量池 也叫 class文件常量池,主要存放编译期生成的各种字面量(Literal)和符号引用(Symbolic References)。 字面量:例如文本字符串、fina修饰的常量。 int b = 2; int c = "abc
阅读全文
摘要:1 JDK8打印并分析GC日志 1.1 打印日志 -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+UseSerialGC -Xmx1m -Xloggc:./gc-serial.log 参数 功能 -XX:+
阅读全文
摘要:JVM参数选项 # 查看标准选项 java -help # 查看-X选项 java -X # 查看高级选项 -XX java -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsInitial
阅读全文
摘要:JVM故障运维工具 1 jps 查看进程pid jps 2 jmap 查看堆内存 1 用来查看内存信息,实例个数以及占用内存大小 #查看历史生成的实例 jmap -histo <pid> > ./log.txt #查看当前存活的实例,执行过程中可能会触发一次full gc jmap -histo:l
阅读全文