自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AQS源码看不懂?两个断点帮你搞定

目录前言1、 一些基础知识2、CLH队列3、lock时的Debug3.1 lock方法干了些什么?3.2 acquire干了什么3.3 addWaiter干了什么3.3.1 Node对象的创建3.3.2 Node对象的插入3.4 acquireQueued干了什么3.4.1 predecessor方法3.4.2 shouldParkAfterFailedAcquire方法3.4.3 parkAndCheckInterrupt方法3.4.4 上面的if代码块4、 unlock时的Debug4.1 releas

2021-08-05 13:41:43 231

原创 mybatis 树结构查询时出现的坑

需求期望使用mybatis的级连查询得到树形结构数据返回, 代码如下:@Data@AllArgsConstructor@NoArgsConstructorpublic class DocumentTypeTreeNode { @ApiModelProperty("类型id") @JSONField(name = "value") private Long id; @ApiModelProperty("类型名称") @JSONField(name = "la

2021-07-21 10:38:54 745 2

原创 学习JVM中的堆?这一篇就够了!

JVM运行时数据区之——堆堆的概述异常与参数设置异常的产生通过参数修改堆大小堆的概述堆空间主要用于java中数组和实例对象的存储,其可能出现OOM,并且是GC主要关注的区域。 一般的,堆被分为以下几个部分:看不懂记不住?没关系,接下来我们一点一点的来进行了解。异常与参数设置异常的产生前面的简介中我们说到,堆上会发生OOM异常,OOM的产生情况也是很容易想到的: 我们的数组和实例对象都存放在堆上,当内存不足时发生OOM异常。public class TestOOM { public s

2021-03-30 14:42:36 115

原创 JVM运行时数据区之——虚拟机栈

JVM运行时数据区之——虚拟机栈虚拟机栈简介栈帧简介LocalVariableTableLineNumberTableDynamic LinkingReturn Adress虚拟机栈简介虚拟机栈是JVM运行时数据区的一个重要部分,他是线程私有的,同时可能存在StackOverFlowError和OutOfMemoryError。 StackOverFlowError出现在栈帧花费完栈内存容量时发生,OutOfMemoryError出现在动态扩展栈容量时无内存供其扩展时发生。 我们可以在运行时指定 -Xs

2021-03-28 11:10:38 136

原创 双亲委派机制和沙箱机制

双亲委派机制和沙箱安全机制双亲委派机制引导示例双亲委派机制沙箱安全机制问题抛出沙箱安全机制双亲委派机制引导示例当一个类被加载时,负责加载该类的类加载器(ClassLoader)是由双亲委派机制决定的。 在了解双亲委派机制之前,先来看看这样一个代码示例:package java.lang;public class Integer { static{ System.out.println("my Integer is loaded"); } public I

2021-03-25 19:39:28 273

空空如也

空空如也

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

TA关注的人

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