这篇博客主要是记录一些比较好用的库。
分析JVM中对象布局:JOL
JOL的maven三元组:
1 | <dependency> |
使用也非常简单,通过它可以了解对象布局情况,以下是示例代码:
1 | public class Test { |
结果如下:
- 对象头的mark word部分
- 对象头的class ref部分
- 对象内部填充(内存对齐,即偏移是数据类型长度的整倍数)
- 对象末尾填充(64bit机器上是8字节填充)
- 对象中的实例数据(8种基本数据类型和引用)
标准工具库Apache Commons Lang
标准库为其核心类没有提供足够的操纵方法。针对于此,Apache Commons Lang提供了这些额外的方法,主要集中在以下方面:字符串操作,基础数值操作,对象反射,并发等等。
引入依赖:
1 | <dependency> |
基本使用如下:
1 | public static void main(String[] args) { |
事实上,工具库的选择还有很多,比如google的guava,国内的hutool等。