最开始让我疑惑的是这段代码
/**
* @param args
*/
public static void main(String[] args) throws Exception{
Field field = Unsafe.class.getDeclaredFields()[0];
field.setAccessible(true);
Unsafe unsafe = (Unsafe)field.get(null);
while(true){
unsafe.allocateMemory(_1MB);
}
}
其中的
Unsafe unsafe = (Unsafe)field.get(null);
开始无法理解为什么传入null也能获取到Unsafe ..查了下才知道这个是获取static对象的..
算是记录下吧.