自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 记录一个使用两个类加载器加载同一个类导致的问题

True,表示tomcat将遵循JVM的delegate机制,即一个WebAppClassLoader在加载类文件时,会先递交给SharedClassLoader加载,SharedClassLoader无法加载成功,会继续向自己的父类委托,一直到BootstarpClassLoader,如果都没有加载成功,则最后由WebAppClassLoader自己进行加载。仔细排查代码发现,这个类被加载了两次,两次分别使用了两个不同的类加载器。如果加载优先级相同,使用先加载的类。

2024-02-06 15:04:31 634 1

原创 排序算法记录

构建最大堆(根节点大于左右子节点)或最小堆(根节点小于左右子节点),每次获取堆的根节点(将根接点和最后一个叶子节点交换),然后忽略原根节点,把剩余节点重新构建堆。

2023-08-17 18:09:20 51 1

原创 记录压测时阿里druid获取数据源连接阻塞的bug

查找到druid mysqlUtis类后发现。出现阻塞原因在于版本不匹配,低版本的driud加载的是com.mysql.jdbc.MySQLConnection,而8.0版本的mysql-connector用的是com.mysql.cj.jdbc.ConnectionImpl。升级druid到1.2以上版本问题解决。使用的druid版本为1.1.9,mysql-connector版本为8.0.19。低版本druid mysqlUtis类代码。

2023-08-11 17:14:40 431 1

原创 环形链表的快慢指针

由于快指针速度是慢指针的两倍,所以x+k+ny = 2(x+k)。从公式可以看出,一个指针a从头结点开始移动,另一个指针b从k位置开始移动,当a移动x步到达环形入口,b正好与a相遇。由此可以算出环形入口的位置。快指针一次两步,慢指针一次一步,当快慢指针相遇时,设慢指针在环内走了k步(慢指针在绕环一圈前就会被快指针追上),块指针在环内绕了n圈。那么此时慢指针走了x+k步,快指针走了x+k+ny。定义两个指针指向头结点,慢指针一次走一步,快指针一次走两步,再次相遇时,快慢指针相差的步数就是环形链表的节点数。

2023-05-06 18:17:16 106 1

原创 Java单链表反转

本文遇到的记录链表反转的问题 结点类 public class ListNode { public int val; public ListNode next; } 最简单的反转 public ListNode reverse(ListNode head) { if(head==null){ return head; } ListNode cur = head.next; ListNode p

2021-11-17 14:06:07 217

原创 Java合并链表

升序合并两个链表(链表本身已经升序排列,下同) 合并两个链表比较简单,需要注意的是要预先定义一个head,以及尽量代码写的优雅一些 public static ListNode merge2List(ListNode listNode1, ListNode listNode2) { if (listNode1 == null) { return listNode2; } else if (listNode2 == null) {

2021-11-15 17:36:00 1959

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除