JVM启动过程的重要数据结构
来源:互联网 发布:qq加速升级软件 编辑:程序博客网 时间:2024/05/17 00:18
JVM的数据初始化:
typedef struct { CreateJavaVM_t CreateJavaVM; GetDefaultJavaVMInitArgs_t GetDefaultJavaVMInitArgs;} InvocationFunctions;
其数据的初始化是通过直接查找libjvm.so的方法地址
赋值信息
CreateJavaVM ------------>JNI_CreateJavaVm 负责JavaVM和JNIEnv的数据结构的初始化
GetDefaultJavaVMInitArgs--------------->JNI_GetDefaultJavaVMInitArgs
JavaVM:
typedef const struct JNIInvokeInterface_ *JavaVM;struct JNIInvokeInterface_{ void *reserved0; void *reserved1; void *reserved2; jint (JNICALL *DestroyJavaVM) (JavaVM *); jint (JNICALL *AttachCurrentThread) (JavaVM *, void **, void *); jint (JNICALL *DetachCurrentThread) (JavaVM *); jint (JNICALL *GetEnv) (JavaVM *, void **, jint); jint (JNICALL *AttachCurrentThreadAsDaemon) (JavaVM *, void **, void *);};
赋值信息为:
DestroyJavaVM-------------->jni_DestroyJavaVM
AttachCurrentThread-------->jni_AttachCurrentThread
DetachCurrentThread------->jni_DetachCurrentThread
GetEnv-------------------------->jni_GetEnv
AttachCurrentThreadAsDaemon---->jni_AttachCurrentThreadAsDaemon
JNIEnv:
typedef const struct JNINativeInterface_ *JNIEnv;
0 0
- JVM启动过程的重要数据结构
- Linux启动过程中几个重要配置文件的执行过程
- Linux启动过程中几个重要配置文件的执行过程
- Linux启动过程中几个重要配置文件的执行过程
- php模拟JVM的启动程序过程
- JVM启动过程
- Actvity启动过程涉及到的数据结构
- 三个重要的数据结构
- 重要的 CFS 数据结构
- 几个重要的数据结构
- 内核重要的数据结构
- nginx重要的数据结构
- 重要的数据结构--堆栈
- JVM 几个重要的参数
- JVM 几个重要的参数
- weblogic 启动过程->jdk更改和jvm的调节
- 重要的POSIX过程
- spring 启动过程 各个application context 的创建过程(重要)
- KMP算法解释
- android中MVP模式(一)
- Your Ruby version is 2.2.3, but your Gemfile specified 2.2.2
- Universal-Image-Loader系列2-源码分析
- Java CookBook Learning Day1st--HTTP (by Tim O'Brien)
- JVM启动过程的重要数据结构
- DIV百分百自适应宽度碰上padding/margin 被撑开
- pcap_open()(网上资料)
- iOS配置开发者证书
- 财产保险导论
- compress_archive
- SpaceX创造历史:完成人类首次太空火箭软着陆
- Makefile的origin 函数
- Environment