程序计数器:当前线程所执行的字节码的行动指示器 本地方法栈:为虚拟机使用的native方法服务 java虚拟机栈:描述java方法执行的内存模型,每个方法被执行时都会创建一个栈桢,用于存储局部变量,操作栈,动态链接,方法出口等信息。 每个方法方法创建一个栈桢,栈桢存储了当前方法的数据信息(局部变量) ...
分类:
其他好文 时间:
2018-06-23 11:45:11
阅读次数:
131
配置AndroidSDK,NDK,CDT 添加JNI支持: Android Tools -> Add Native Support 生成头文件:javah -classpath "projectpath\bin\classes;android-sdkpath\platforms\android-23 ...
分类:
系统相关 时间:
2018-06-23 01:36:57
阅读次数:
188
是什么 全称compare and swap,一个CPU原子指令,在硬件层面实现的机制,体现了乐观锁的思想。 JVM用C语言封装了汇编调用。Java的基础库中有很多类就是基于JNI调用C接口实现了多线程同步更新的功能。 原理 CMS有三个操作数:当前主内存变量的值V,线程本地变量预期值A,线程本地待 ...
分类:
编程语言 时间:
2018-06-22 01:06:36
阅读次数:
217
1、编写native接口 2、根据native接口生成声明文件(.h) 3、编写接口代码调动so动态库(.c) 4、根据.h、.c编译生成so,如下makefie文件make生成libengine.so 5、java调用native接口 6、配置动态库路径 ...
分类:
其他好文 时间:
2018-06-17 17:53:57
阅读次数:
212
前言 在Object类中,提供了一个native方法,public native int hashCode(),该方法的返回值类型是int类型。 Hash的概念 Hash,一般翻译成“散列”,或者直译为“哈希”,把任意长度的输入x,通过散列算法f(x),变成固定的长度输出,该输出值就是散列。 ...
分类:
编程语言 时间:
2018-06-16 23:01:07
阅读次数:
211
对象锁和类锁wait sleepAMSactivity启动流程handler消息机制JNI相关 1.looper.prepare()做了啥操作https://www.cnblogs.com/ganchuanpu/p/5979103.html2.looper如何知道当前线程是哪个线程https://b ...
分类:
其他好文 时间:
2018-06-12 23:32:15
阅读次数:
366
Java操作系统硬件的方法Unsafe Java中通过Unsafe类native方法,通过JNI绕过JVM来操作系统cpu、内存等硬件,实现更高效率的操作,在Java基础类库和第三方开源库中都有广泛的应用,比如JUC、Netty、Kafka等。通过Unsafe你可以自己内存管理、实例化对象、操作类、 ...
分类:
其他好文 时间:
2018-06-10 15:25:34
阅读次数:
170
Java实现中client端的RPC层(java实现)如何通过JNI来调用IPC层(C++实现)发送数据 TestServer通过addService向Service_manager注册的时候TestServer是Client端,Service_manager是Server端; TestClient ...
分类:
编程语言 时间:
2018-06-09 00:54:10
阅读次数:
235
运行时数据区域 线程私有 __程序计数器__ 正在执行的字节码指令的地址(native方法时为undefined) __Java虚拟机栈__ 存储栈帧(局部变量表,操作数栈,动态链接,方法出口)OOM,StackOverflowError __本地方法栈__ 与虚拟机栈类似,是native方法的栈 ...
分类:
其他好文 时间:
2018-06-06 23:49:12
阅读次数:
207
JRE : Java 运行环境 JDK : Java 开发工具包,其中包括 JRE (javac、java、javap、jar、javadoc 、javah 等命令) JVM : Java 虚拟机 PATH : Windows 环境变量 CLASSPTH :Java 程序运行时类加载路径 ( 非 j ...
分类:
编程语言 时间:
2018-06-06 23:40:10
阅读次数:
172