非标准参数又称为扩展参数,其列表如下: Xint 设置jvm以解释模式运行,所有的字节码将被直接执行,而不会编译成本地码。 Xbatch 关闭后台代码编译,强制在前台编译,编译完成之后才能进行代码执行; 默认情况下,jvm在后台进行编译,若没有编译完成,则前台运行代码时以解释模式运行。 Xbootc ...
分类:
编程语言 时间:
2018-04-10 17:48:52
阅读次数:
205
研究发现, 无论是使用gcc还是g++, GCC for Windows生成DLL动态链接库时都会修改我们的符号, 导致即使加载了动态链接库, JVM仍然找不到符号, 从而产生java.lang.UnsatisfiedLinkError错误 所以还是使用微软自家的VS来生成DLL比较妥当, 由于VS ...
分类:
编程语言 时间:
2018-04-10 15:10:53
阅读次数:
228
转自https://blog.csdn.net/guiman/article/details/70739490 写在正文之前: 几个月没有更新博客,感觉有点生疏了,所以说不能断,一断人就懒。 其实这几个月也并不是什么事也没有做,俺可是时刻想着今年的任务呢,10本书,30篇博文…,这几个月间断性的也是 ...
分类:
移动开发 时间:
2018-04-08 19:50:31
阅读次数:
195
转自 https://www.cnblogs.com/xyang0917/p/4172490.html 第五步、将C/C++代码编译成本地动态库文件 动态库文件名命名规则:lib+动态库文件名+后缀(操作系统不一样,后缀名也不一样)如: Mac OS X : libHelloWorld.jnilib ...
分类:
其他好文 时间:
2018-04-08 18:07:42
阅读次数:
223
1、新建项目,不选include support c++ 2、新建文件夹cpp,将.cpp文件放入其中; 3、编写jni接口文件,注意文件内函数名称前缀要与app下的build.gradle的applicationId保持一致; 4、编写CMakeLists.txt,在view->tool wind ...
分类:
移动开发 时间:
2018-04-08 14:33:22
阅读次数:
209
这一章主要是介绍安卓从Linux分支而来却又具有自己特有特性如Dalvik,framworks,JNI,bionic等。 1.1 主要是安卓的发展历史 每个版本的变更 wiki也有相应的更新 目前android已更新到8.1(注意每个版本代表性的更新特性) https://zh.wikipedia. ...
分类:
移动开发 时间:
2018-04-08 00:19:40
阅读次数:
296
GCRoots: 虚拟机栈(栈帧中的局部变量表)引用的对象 方法区中静态属性引用的对象 方法去中常量引用的对象 本地方法栈中JNI(NATIVE方法)引用的对象 引用: reference类型数据中存储着另外一块地址的起始地址 强引用:通常的引用,只要引用存在便不会被回收 软引用:有用但非必需的对象 ...
分类:
其他好文 时间:
2018-03-26 16:09:19
阅读次数:
176
1、什么事JNI技术 JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++)。从Java1.1开始,JNI标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。 2、怎么用JNI技术 你可以使用JNI来实 ...
分类:
其他好文 时间:
2018-03-24 10:15:45
阅读次数:
160
1 package java.lang; 2 3 4 public class Object { 5 6 /** 7 * 一个本地方法,具体是用C(C++)在DLL中实现的,然后通过JNI调用 8 */ 9 private static native void registerNatives(); ... ...
分类:
其他好文 时间:
2018-03-21 23:19:15
阅读次数:
225
前沿:有时候我们的android项目会有核心算法或代码,一般这种情况会把算法(cpp文件等)打成so文件,把代码进行整理打成jar包或aar包;今天我们就来讨论怎样把算法打成so文件,怎样把关键代码打成jar包。 怎样把算法封装成so文件?首先我们知道算法是C语言写的,这里我们用jni来完成项目与算 ...
分类:
移动开发 时间:
2018-03-19 22:17:15
阅读次数:
549