Memory
- NIO Direct Memory
- native Memory
- Java 堆
使用Perftools来分析JVM的native Memory分配情况,查看分配结果,cat pf2.txt | sort -n -r -k4 | more
显示每个函数分配的内存
动态代理
- 字节码创建方式:JDK动态代理通过JVM实现代理类字节码的创建,cglib通过ASM创建字节码
- 对被代理对象的要求:JDK动态代理要求被代理对象实现接口,cglib要求被代理对象未被final修饰
- 代理对象创建速度:JDK动态代理创建代理对象速度比cglib快
- 代理对象执行速度:JDK动态代理代理对象执行速度比cglib快
Tools to analysis
jmap
创建堆转储文件,可通过MAT工具分析