自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

翻译 ArrayList和LinkedList的区别

01、ArrayList 是如何实现的? ArrayList 实现了 List 接口,继承了 AbstractList 抽象类,底层是基于数组实现的,并且实现了动态扩容。 public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable { private static fi

2020-09-30 20:20:45 133

翻译 更快的BeanUtil(对比BeanUtils,BeanCopier)

更快的BeanUtil(原创) BeanUtil算是个高频使用工具类了,很多地方都用得到,大家常用的BeanUtil大概有Spring的BeanUtils以及cglib的BeanCopier,前者使用反射进行getter、setter方法调用,后者使用CGLIB代理直接操作字节码调用getter、setter方法。 BeanCopier的性能要高出Spring的BeanUtils很多,我实测大概有5倍多的差距,但是BeanCopier用起来也更加繁琐一些,需要先传入source类和target类创建一个

2020-09-30 17:44:55 911

翻译 ReentrantLock和Condition源码解析

Java除了使用关键字synchronized外,还可以使用ReentrantLock实现独占锁的功能。而且ReentrantLock相比synchronized而言功能更加丰富,使用起来更为灵活,也更适合复杂的并发场景。这篇文章主要是从源码的角度来分析一下ReentrantLock。 ReentrantLock 一、加锁 代码如下: ReentrantLock reentrantLock = new ReentrantLock(); reentrantLock.lock().

2020-09-30 17:19:33 226

翻译 APM - 使用JavaAgent+Javassit 插桩C3P0

核心思想 <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" ...... 1 2 3 4 很熟悉吧,我们要插桩的这个对象就是 ComboPooledDataSource , 如何很直观的展示出来的 实时获取ComboPooledDataSource的属性信息 简洁直观的展示相关属性信息 实现第一个,那就在ComboPooledDataSource构造函数后下手,

2020-09-30 17:06:40 291

空空如也

空空如也

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

TA关注的人

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