1.JNI函数注册方式 在Android开发中,由于种种原因我们需要调用C/C++代码,在这个时候我们就需要使用jni了, jni在使用时要对定义的函数进行注册,这样java才能通过native关键字定义的方法找到对应的C/C++函数 注册函数的方法有两种: 静态注册和动态注册。由于静态注册已经在上 ...
分类:
移动开发 时间:
2018-06-06 18:24:53
阅读次数:
263
1、框架 APP(java语言实现) JNI(c++语言实现) 向上提供Java执行c函数的接口 向下访问HAL HAL(c或c++语言实现) 封装硬件操作细节 Driver(c语言实现) 操作硬件 如果JNI是自己写的,那么其接口就只有自己知道,应用程序只能自己写,因此必须使用android现有的 ...
分类:
移动开发 时间:
2018-06-03 12:23:41
阅读次数:
168
先看一眼JVM虚拟机运行时的内存模型: 1.方法区 Perm(永久代、非堆) 2.虚拟机栈 3.本地方法栈 (Native方法) 4.堆 5.程序计数器 1 首先的问题是:jvm如何知道那些对象需要回收 ? 目前两种标识算法、三种回收算法、两种清除算法、三种收集器 引用计数法 每个对象上都有一个引用 ...
分类:
其他好文 时间:
2018-06-02 13:29:41
阅读次数:
168
由于安装jdk安装了多个版本,用其他开发工具,某天再打开eclipse时弹出“Failed to load the JNI shared library jvm.dll” 原因:eclipse的版本与jre或者jdk版本不一致 对策:要么两者都安装64位的,要么都安装32位的,不能一个是32位一个是 ...
分类:
系统相关 时间:
2018-06-02 11:11:34
阅读次数:
175
1. JAVA调用CLinux是用C语言写的,可以写一个APP简单调用open,read,write来访问驱动程序;Android是用Java写的,Java怎么访问C函数? jni.pdf P117 Android JNI知识简介http://blog.csdn.net/linweig/articl ...
分类:
其他好文 时间:
2018-05-29 15:28:04
阅读次数:
117
时间不多了,快上车。 先看Jdk8 中Java中所有对象的爸爸类Object.java。 居住地址在java.lang. 总共也没有几个方法,大部分还都是native方法。 顺手把家底也掏了出来, //object.c中方法 static JNINativeMethod methods[] = { ...
分类:
编程语言 时间:
2018-05-26 15:27:03
阅读次数:
172
https://www.cnblogs.com/jmcui/p/9044212.html https://www.cnblogs.com/javahr/p/8318728.html https://www.cnblogs.com/skychenjiajun/p/9057379.html https: ...
分类:
Web程序 时间:
2018-05-21 19:38:34
阅读次数:
168
1.get请求: 2.post请求: 3.入参是json类型: 4.添加cookie: 5.添加header: 6.上传文件: 7.下载文件: ...
分类:
编程语言 时间:
2018-05-18 23:28:58
阅读次数:
224
命令: adb shell dumpsys meminfo packagename 关注点: 1.Native/Dalvik 的 Heap 信息 具体在上面的第一行和第二行,它分别给出的是JNI层和Java层的内存分配情况,如果发现这个值一直增长,则代表程序可能出现了内存泄漏。 2.Total 的 ...
分类:
移动开发 时间:
2018-05-15 14:30:40
阅读次数:
220
native关键字说明其修饰的方法是一个原生态方法,方法对应的实现不是在当前文件,而是在用其他语言(如C和C++)实现的文件中。Java语言本身不能对操作系统底层进行访问和操作,但是可以通过JNI接口调用其他语言来实现对底层的访问。 JNI是Java本机接口(Java Native Interfac ...
分类:
编程语言 时间:
2018-05-12 17:30:40
阅读次数:
182