Unsafe申请堆外内存

简介: Unsafe申请堆外内存
 
    @Test
    public void testUnsafeAllocateMemory() throws IllegalAccessException {
        Field unsafeField = Unsafe.class.getDeclaredFields()[0];
        unsafeField.setAccessible(true);
        Unsafe unsafe = (Unsafe) unsafeField.get(null);
 
        //申请4字节大小的内存空间,并得到对应位置的地址
        long address = unsafe.allocateMemory(4);
        //在对应的地址上设定int的值
        unsafe.putInt(address, 6666666);
        //获取对应地址上的Int型数值
        System.out.println(unsafe.getInt(address));
        //释放申请到的内容
        unsafe.freeMemory(address);
 
        //由于内存已经释放,这时数据就没了
        System.out.println(unsafe.getInt(address));
 
 
    }
相关文章
|
4月前
|
C语言 程序员
【C语言基础教程】内存的申请和释放(malloc、free、realloc、calloc)
【C语言基础教程】内存的申请和释放(malloc、free、realloc、calloc)
735 0
【C语言基础教程】内存的申请和释放(malloc、free、realloc、calloc)
|
C语言
【C语言】动态申请内存、防止内存泄漏
【C语言】动态申请内存、防止内存泄漏
131 0
|
存储 C语言
(指针内容)当你申请一个变量,在这期间内存会发生什么?
(指针内容)当你申请一个变量,在这期间内存会发生什么?
112 0
(指针内容)当你申请一个变量,在这期间内存会发生什么?
|
编译器
有关于 malloc 申请内存和 free 内存释放
有关于 malloc 申请内存和 free 内存释放
|
Unix 程序员 Linux
神秘!申请内存时底层发生了什么?
申请内存时底层发生了什么?
神秘!申请内存时底层发生了什么?
SAP ABAP Netweaver里进程能够申请的最大内存
SAP ABAP Netweaver里进程能够申请的最大内存
106 0
SAP ABAP Netweaver里进程能够申请的最大内存
C++函数中,两个自动释放内存的动态内存申请类
C++函数中,两个自动释放内存的动态内存申请类最近做一个事情,实现一个流程交互,其中主交互流程函数中,涉及较多的内存申请, 而健康的函数,都是在函数退出前将手动申请不再需要的内存释放掉, 使用很多方法,都避免不了较多的出错分支时,一堆的if free/delete,代码长而且不好管理 因此,利用C...
1240 0

热门文章

最新文章

下一篇
DDNS