JAVA 和 native 共享内存

作者: NiceDream | 来源:发表于2017-06-02 15:34 被阅读53次

java层

private ByteBuffer _recBuffer;
 
 try{
    _recBuffer = ByteBuffer.allocateDirect(204800); // Max 10 ms @ 48
    } catch(Exception e) {
      Log.d("UVCCamera","can not get _capBuffer");
    }

native 层

jclass cls = env->GetObjectClass(thiz);
    if(cls == NULL){
        LOGE("cls == NULL");
    } else {

    }
    jfieldID fidRecBuffer = env->GetFieldID( cls, "_recBuffer",  "Ljava/nio/ByteBuffer;");
    if(fidRecBuffer == NULL){
        LOGE("fidRecBuffer == NULL");
    } else {

    }
    jobject javaRecBufferLocal =  env->GetObjectField(thiz, fidRecBuffer);
    if(javaPlayBufferLocal == NULL){
        LOGE("javaPlayBufferLocal == NULL");
    } else {

    }
    _javaRecBuffer = env->NewGlobalRef(javaRecBufferLocal);
    if(_javaRecBuffer == NULL){
        LOGE("_javaRecBuffer == NULL");
    } else {
        _javaDirectRecBuffer =env->GetDirectBufferAddress(_javaRecBuffer);
    }



void* _javaDirectRecBuffer; // Direct buffer pointer to rec buffer
jobject _javaRecBuffer;

可以对_javaDirectRecBuffer进行操作,再java 层会同时更新数据

相关文章

  • JAVA 和 native 共享内存

    java层 native 层 可以对_javaDirectRecBuffer进行操作,再java 层会同时更新数据

  • JVM第二天-volatile final synchroniz

    1.JAVA内存模型 简单的讲,Java 内存模型将内存分为共享内存和本地内存。共享内存又称为堆内存,指的就是线程...

  • java内存模型

    java内存模型基础 并发编程,两个关键问题:线程通信和线程同步通信机制:共享内存和消息传递 java并发采用共享...

  • 深度解析Java多线程的内存模型

    内部java内存模型 硬件层面的内存模型 Java内存模型和硬件内存模型的联系 共享对象的可见性 资源竞速 Jav...

  • Java/转载

    final关键字的性能影响 Java对象内存结构 全面理解Java内存模型 从Java视角理解CPU缓存和伪共享

  • java内存模型

    《深入理解java内存模型》-笔记 java各线程共享使用主内存,通过共享内存通信 重排序重排序.png编译器重排...

  • Java内存模型 | synchronized与volatile

    JMM Java内存模型描述了Java程序中各种变量(共享变量)的访问规则,以及在JVM中将变量存储到内存和从内存...

  • 由浅入深Java内存模型

    JMM Java内存模型描述了Java程序中各种变量(共享变量)的访问规则,以及在JVM中将变量存储到内存和从内存...

  • Java虚拟机内存tips

    java虚拟机内存可以分为独占区和共享区。 独占区:虚拟内存栈、本地方法栈、程序计数器。 共享区:方法区、Java...

  • java基础知识

    java 内存区域、JMM、JAVA线程模型、硬件内存模型 java内存区域分为共享区域(堆、方法区常量池)、私有...

网友评论

    本文标题:JAVA 和 native 共享内存

    本文链接:https://www.haomeiwen.com/subject/jbjufxtx.html