Unsafe类功能之(1)-内存分配-allocate

  1. 1. 分配内存:
  2. 2. 重新指派内存
  3. 3. 绕过new构造方法创造对象
  4. 4. 释放分配的内存

1. 分配内存:

分配一个 bytes 个字节的内存空间

public native long allocateMemory(long bytes);

2. 重新指派内存

在内存 address 处重新分配 bytes个字节的内存

public native long reallocateMemory(long address, long bytes);

3. 绕过new构造方法创造对象

直接在内存中构造一个cls类的对象, 但不调用cls类的构造方法;

public native Object allocateInstance(Class<?> cls) throws InstantiationException;

4. 释放分配的内存

处置从allocateMemoryreallocateMemory 获得的内存块。 传递给此方法的 address 可以为null,在这种情况下,不采取任何措施。

public native void freeMemory(long address);


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 hi@niewj.com

×

喜欢就点赞,疼爱就打赏